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=MnSjp5Tv; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 36CC15A0637 for ; Fri, 14 Feb 2025 10:08:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202502; t=1739524088; bh=xsCfGmV9bdHXGfLxrerE7LoIj4/Q9JqKhirFBPc7QsI=; h=From:To:Cc:Subject:Date:From; b=MnSjp5TvLaHAvR5vNog7uNGOm708ZJlVSAXI84exSnnWzmNcP6pqkgFegEDW4MxFa xZ4fofNsec/A/M1TwVVwfhniECE3gKvD+3gvk2CwNgtJt2cdFqADtdm/vU3/VZjEWE GnfUHmyCiyp98zHiH/QEq/dzziahfHA1JKXV2Lf0UDrrP4Rc28ZkC58oT68OHz/0SI anYTlxgYGT7vvlQX8bS92wmWPc1DuN9OZgAmYt/1ip6QKOXcKq9RCv20bqJLKNtks3 Nh49eGD5q+qGXVGyJGH3PVEbQ0Ae20/eU1TH2J4Z6ff6+MCk5PnZuW/BE+LdXQHJ1A W8AXjYu0ZqbVA== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4YvR6J1nMdz4x4w; Fri, 14 Feb 2025 20:08:08 +1100 (AEDT) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH v23 0/4] State migration Date: Fri, 14 Feb 2025 20:08:02 +1100 Message-ID: <20250214090806.2261034-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: DMOQAHSACZEJVGOJYQR3RGABK43PMBM2 X-Message-ID-Hash: DMOQAHSACZEJVGOJYQR3RGABK43PMBM2 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: Brain dead today, didn't make much progress on bugs. In particular migrate/iperf3_bidir6 still fails for me with an EAGAIN trying to restore the sndq (the sent but not acked part, in repair mode). I did, however, do a substantial restructure of how we handle flow migration, which should make it easier to tweak our "pre" and "post" steps for each flow. I *think* disabling/re-enabling nonblocking mode on our sockets in the new freeze/thaw handlers will fix the EAGAIN problem, but I ran out of time before trying it. David Gibson (2): flow: Flow table traversing macros flow, migrate: Flow migration skeleton Stefano Brivio (2): migrate: Migrate TCP flows test: Add migration tests contrib/selinux/passt.te | 4 +- flow.c | 309 +++++++++++- flow.h | 13 + flow_table.h | 52 ++ migrate.c | 47 +- migrate.h | 2 + passt.c | 6 +- repair.c | 1 - tcp.c | 918 ++++++++++++++++++++++++++++++++++++ tcp_conn.h | 99 ++++ test/lib/layout | 55 ++- test/lib/setup | 138 +++++- test/lib/test | 48 ++ test/migrate/basic | 59 +++ test/migrate/bidirectional | 64 +++ test/migrate/iperf3_bidir6 | 58 +++ test/migrate/iperf3_in4 | 50 ++ test/migrate/iperf3_in6 | 58 +++ test/migrate/iperf3_out4 | 50 ++ test/migrate/iperf3_out6 | 58 +++ test/migrate/rampstream_in | 10 +- test/migrate/rampstream_out | 6 +- test/run | 34 +- 23 files changed, 2108 insertions(+), 31 deletions(-) create mode 100644 test/migrate/basic create mode 100644 test/migrate/bidirectional create mode 100644 test/migrate/iperf3_bidir6 create mode 100644 test/migrate/iperf3_in4 create mode 100644 test/migrate/iperf3_in6 create mode 100644 test/migrate/iperf3_out4 create mode 100644 test/migrate/iperf3_out6 -- 2.48.1