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=eueMuFtN; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 3700B5A061D for ; Wed, 05 Feb 2025 11:52:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202502; t=1738752712; bh=odyAP7KRRjFw43fvxj31eoDdFBb/6p5IuS0JzLOPeCU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eueMuFtNk9HUi+nGKKAdxn7UCpXJPoWXDormayZe/t5QeH3FJhFWG9vYOGTjTtClA mjHBA1K+r2t0WD9jaXNRI1cDmp42umZm2H2j3tYny8HxJp9OfG7yHazt9wR29nhurq FIG2Sl0R3HvLml5qdmD183oXiPsUtUSfaBVqDq2efwkUfWmREXU/u/cnnRteLm73w2 3xMaMW60NRkieiTPRoG75ha6nRfyn8Md1EosE6jrATmrACUoFOq7Ovdn3BqKwG5x9R vWZzmGFPSFaEwHkaaa+WaWpmZ6J43g4d8yG62NdxmR0i/VKryt+mzpa5IN6bGzzm6o F3rxk09W+B4ig== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4Ynxr820kNz4wyk; Wed, 5 Feb 2025 21:51:52 +1100 (AEDT) From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH v6 4/5] migrate: Hack for late migration fixups Date: Wed, 5 Feb 2025 21:51:58 +1100 Message-ID: <20250205105159.819680-5-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250205105159.819680-1-david@gibson.dropbear.id.au> References: <20250205105159.819680-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: 52PXYUWSWGYK2BP6R5ISKPFHTLQKCOSI X-Message-ID-Hash: 52PXYUWSWGYK2BP6R5ISKPFHTLQKCOSI 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: Abuse the VHOST_USER_SEND_RARP command to do operations that need to happen very late on the target side migration. Nothing is in there now and with some luck we'll be able to drop this completely before merge. Signed-off-by: Stefano Brivio Signed-off-by: David Gibson --- migrate.c | 11 +++++++++++ migrate.h | 1 + vhost_user.c | 3 +++ 3 files changed, 15 insertions(+) diff --git a/migrate.c b/migrate.c index ebbe47f3..6b386f7f 100644 --- a/migrate.c +++ b/migrate.c @@ -270,3 +270,14 @@ void migrate_handler(struct ctx *c) c->device_state_result = rc; } + +/** + * migrate_finish() - Hack to connect() migrated sockets from "RARP" trigger + * @c: Execution context + */ +void migrate_finish(struct ctx *c) +{ + (void)c; + + /* HACK RARP: flow_migrate_target_post(c); */ +} diff --git a/migrate.h b/migrate.h index 80d78b84..9694af64 100644 --- a/migrate.h +++ b/migrate.h @@ -49,5 +49,6 @@ void migrate_init(struct ctx *c); void migrate_close(struct ctx *c); void migrate_request(struct ctx *c, int fd, bool target); void migrate_handler(struct ctx *c); +void migrate_finish(struct ctx *c); #endif /* MIGRATE_H */ diff --git a/vhost_user.c b/vhost_user.c index 8077f1d8..afc977b8 100644 --- a/vhost_user.c +++ b/vhost_user.c @@ -995,6 +995,9 @@ static bool vu_send_rarp_exec(struct vu_dev *vdev, eth_ntop((unsigned char *)&msg->payload.u64, macstr, sizeof(macstr))); + /* Abuse this as trigger to finally connect() migrated sockets */ + migrate_finish(vdev->context); + return false; } -- 2.48.1