From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202502 header.b=h+Etyg6N; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id AA2C95A061D for ; Tue, 25 Feb 2025 06:51:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202502; t=1740462693; bh=L8Uvm0cf5UlF9ZU8QnZsWt7WhPgk34td5R8Oo/GjVRU=; h=From:To:Cc:Subject:Date:From; b=h+Etyg6Nr0WuBQYMb3SNEcG0cVGRCEFLtxuhsDs23msJI3qHmcaBnL3NykTMPbb71 TzqBCIYERDPPtzlAHxJwszn9sP6r0d8Cl8+0bZvgfqcOj/l+LVRdkTVq/Ous6mFew3 nsUiKS/4txUCMmIp+rUO6u0T4Erb3Sjnhk3S76JgrCEdSM6PWU8tq+r6Ni0v2J6qMm utGn9ayn9LH2H40lCUEVLXxSek0gYk9KUO80zEf4zbS/2XEJ6wyTL0cYpn8OKyGtKM zbvwrA+WtO/idSeVWDdtIwVEdir2yXZ8LWhj5Ddp9fvzegA+ev+TdkVv4vxnGb4OWD tCyipy9UqhbOA== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4Z26DP5mshz4wyV; Tue, 25 Feb 2025 16:51:33 +1100 (AEDT) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH v2 0/2] More graceful handling of migration without passt-repair Date: Tue, 25 Feb 2025 16:51:30 +1100 Message-ID: <20250225055132.3677190-1-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.48.1 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: M5J65TID7KFHE5TYUQSP6HLASJB47KZR X-Message-ID-Hash: M5J65TID7KFHE5TYUQSP6HLASJB47KZR X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: >From Red Hat internal testing we've had some reports that if attempting to migrate without passt-repair, the failure mode is uglier than we'd like. The migration fails, which is somewhat expected, but we don't correctly roll things back on the source, so it breaks network there as well. Handle this more gracefully allowing the migration to proceed in this case, but allow TCP connections to break I've now tested this reasonably: * I get a clean migration if there are now active flows * Migration completes, although connections are broken if passt-repair isn't connected * Basic test suite (minus perf) I didn't manage to test with libvirt yet, but I'm pretty convinced the behaviour should be better than it was. There are more fragile cases that I'm looking to fix, particularly the die()s in flow_migrate_source_rollback() and elsewhere, however I ran into various complications that I didn't manage to sort out today. I'll continue looking at those tomorrow. I'm now pretty confident that those additional fixes won't entirely supersede the changes in this series, so it should be fine to apply these on their own. David Gibson (2): migrate, flow: Trivially succeed if migrating with no flows migrate, flow: Don't attempt to migrate TCP flows without passt-repair flow.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) -- 2.48.1