From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: passt.top; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=iswR1adg; dkim-atps=neutral Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by passt.top (Postfix) with ESMTPS id 3D8D05A026E for ; Thu, 26 Feb 2026 17:31:29 +0100 (CET) Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-5a10e95680eso445014e87.2 for ; Thu, 26 Feb 2026 08:31:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772123488; cv=none; d=google.com; s=arc-20240605; b=KCkSpVq5asyT75ZtC4gzO20KUHxxSsptObrrIGHFfsd0ZpPgc1FSTyaABIAe47akoO r+ZAoG4AtOvo7brrzGD64dXO0w7aN0IVM9+YzfmjtFI+OMA35sVDno9f+ma+dgrHyS5B 7rckhjeJYP8+/FCK9Ehd06xMjenhrPopzqWSKc9luzZ07uGgLPAOcy511qtgW8aXXF/h r3DRsmoe7cJWEfAKrNHijIbk9fNYGVNkgkvhufFdGL+qDQowplD6sdKik0TPMLI6qVLJ O82xaiB3eCdwsv1xfzrKOBSD5MHT95BkkHyIEZaFEe5tv6l8QTpZyofY71k0XCrWlPlb wEqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=dBTHxqZ+mKyq8zHwvToXmrRcTAC7gbEqrJDIGqXraTo=; fh=HMJzXA10YR9pKphfmUxx8ad5NkVyy33zciaf93LyRPI=; b=MyBuF4RUM0Y/AjD8NM1D6BtP4ucmfqvdDQtciLA5uxsbhHXPGxQ0Z7wX54ITdVkWIZ jW6SmCRPGkmyzTROi+ChoEu5F0CVvCHwtHGQYfNBbson5c30S2bXHWEBgxs1qbNF/Qi4 6fiKQn15YNJPUPTk8ykInC6eBGrihzxmlXgL0+oxzlmrXOmijoWulKJLffCIqZp7g201 x1uA4Rb/NrPlsfeBMJ3F9mCXDWx/tknBVwxyKgQNemRn1g499BKhFfsX6I6pCWg3dErg /smzrly0oVzTD37uY2yKskGysz3crF8hW4plKTKDrXaiGRfKAR45DLcJlS8y8PgPBKpV /CLA==; darn=passt.top ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772123488; x=1772728288; darn=passt.top; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dBTHxqZ+mKyq8zHwvToXmrRcTAC7gbEqrJDIGqXraTo=; b=iswR1adgGckNevBTg1qwYdbH3jyFD4IMjtfbnHQLGQW2Jsx6G9VwQPl/C8kLjeyDXF QdTVeWRVy+2Lkn+TVJvYNQEDHVU6c6ad0ZZjwDRVqcvru9Y7h2nJaLmNCf1T+kMnIECO JdDm7fH4xR/ShUiDIS97uZ77X31AHloYO9RgGTJU6JZEiSeQuwGA6soNtWr7pr5fGCHw PzzzuExcS9DAkoz3W1MteVcvLb+k8GmaI3MEMEg+aj6Y/qLfOaSTbA5upukxdkpdQLwM dVBJI/b0+rEM2yJcKbXJazGU1eXC5bkjjCb5amxMfw7CLmA6YtTvFGQFTN193nCz/Ram 8GVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772123488; x=1772728288; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dBTHxqZ+mKyq8zHwvToXmrRcTAC7gbEqrJDIGqXraTo=; b=HN4NQYfji/42k5DJrYik4BMK3M5NWGItiWAsprlBuERBjvgxzUMs/1fTpl25S11HyW 00ahgPxfEDNct4OSvZ5kT+L8yY0OiuSzZXMT9hohKmKuW40uv6W8keNBL7oOGAGy3V1Z S77DuFnOmmdB4Urh/nUFZXzqFypGj10mY/ggjyeemPuFtsJuRcemCag29u5IvGT8z9oW tuvmeITBji6EiwSXXx02GCEdCQ0RZfcB6rKW3jtG1ROruyh9p7IymKd+KUahOkFCORL6 YgRZZ3WoNe7O0hDhVle4hbCr+1ycHpqm0Vuc/jwsdm4F2Ynr3sYi0OwElY7bjAmJuC8Y qO6A== X-Gm-Message-State: AOJu0Yx93+SB99zFiNuwXIoQVKjBUyA9k47tTXT68vnVsjSeaHkTY/UT A4rrCvU8HBJ+afIoJS0haME7tgwkkIY63X/MlZQOySCimbUTQDDnVXfkvv1pcBgLgMwyJ7QueRZ OBOuG5WN5bksfitC4LadmxpPDaejYLymv5Y/VvLHB X-Gm-Gg: ATEYQzxswfqHgRx8ow8Pgb6lytbHLZblIYYu1T8pi32YbOKjO9C9E16KLOPV7t5ILlB wOL23qfvP+S2g2ueAhwK9AslDrWdqRLjt5o8koyNyrKIqvmvw8kDeeHAv6g6My003ApwaD/zi4O FbWk6wIwSRbUQGIs7eCAFsyKi4vITID8j3uBAW6p/s7LE1T7CExBCN9GvsxWg6ZTZ6Mq5+CXkZ0 hJTp5paIlI3dO8tKjus5pYMlDEJqkIv0JE9MqzBYgMIfrI+QKfb95NFgUwIkl2qwqpYD/C+AA2o 7Byzk99OwFpneFxZU34kXiOHCFuQzAMI/1QwaA== X-Received: by 2002:a05:6512:6c4:b0:59e:4cdf:2f09 with SMTP id 2adb3069b0e04-5a0ed877495mr6792726e87.9.1772123487398; Thu, 26 Feb 2026 08:31:27 -0800 (PST) MIME-Version: 1.0 References: <20260226134736.7d5782bc@elisabeth> In-Reply-To: <20260226134736.7d5782bc@elisabeth> From: Peter Foley Date: Thu, 26 Feb 2026 11:31:15 -0500 X-Gm-Features: AaiRm506EPMbvN6k6FzsJ26T7ZzCL6_MLBUldc6L7v4elbOtItNuuS_jYlnZpAY Message-ID: Subject: Re: Support for equivalent to slirp guestfwd To: Stefano Brivio Cc: passt-dev@passt.top, Felix Wu X-MailFrom: pefoley@google.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: IMJXWGMG3KMYNX264H45WOMKP6MYAG5X X-Message-ID-Hash: IMJXWGMG3KMYNX264H45WOMKP6MYAG5X X-Mailman-Approved-At: Thu, 26 Feb 2026 17:57:49 +0100 Content-Type: multipart/alternative; boundary="000000000000f78d45064bbca644" List-Id: --000000000000f78d45064bbca644 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Feb 26, 2026 at 7:47=E2=80=AFAM Stefano Brivio = wrote: > > ...there's ongoing effort to make this more flexible, by adding support > for generic NAT rules (https://bugs.passt.top/show_bug.cgi?id=3D140) so > that you can specifically map different ports and addresses to > specific ports and addresses. And do so dynamically, at runtime, too. > > We now have a rather generic "forwarding rules" table implementation, > even if not entirely complete: > > > https://archives.passt.top/passt-dev/20260116005926.616085-1-david@gibson= .dropbear.id.au/ > > and a very rudimentary draft of pesto(1), the client that would enable > configuring all that at runtime (I'm working on it these days): > > > https://archives.passt.top/passt-dev/20260204234209.455262-1-sbrivio@redh= at.com/ > > ...there's quite a bit left to do, and patches are warmly welcome. > Alright, that's about what I expected. We currently heavily rely on stuff like guestfwd=3Dudp:[::]:1000-udp:[::1]:14418, where we want to redirect all outbound traffic from the guest to port 1000 to a different dynamically allocated port where a server binary is listening on the host. We don't need runtime configuration, just the ability to specify everything statically when starting qemu. I can't promise anything, but I'll see if this is something other people on my team would have cycles to help out with. Thanks, Peter Foley --000000000000f78d45064bbca644 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Feb 26, 2026 at 7:47=E2=80=AFAM S= tefano Brivio <sbrivio@redhat.com<= /a>> wrote:

...there's ongoing effort to make this more flexible, by adding support=
for generic NAT rules (
https://bugs.passt.top/show_bug.c= gi?id=3D140) so
that you can specifically map different ports and addresses to
specific ports and addresses. And do so dynamically, at runtime, too.

We now have a rather generic "forwarding rules" table implementat= ion,
even if not entirely complete:

=C2=A0 http= s://archives.passt.top/passt-dev/20260116005926.616085-1-david@gibson.dropb= ear.id.au/

and a very rudimentary draft of pesto(1), the client that would enable
configuring all that at runtime (I'm working on it these days):

=C2=A0 https://archi= ves.passt.top/passt-dev/20260204234209.455262-1-sbrivio@redhat.com/

...there's quite a bit left to do, and patches are warmly welcome.
<= /blockquote>

Alright, that's about what I expected.<= /div>

We currently heavily rely on stuff like=C2=A0guest= fwd=3Dudp:[::]:1000-udp:[::1]:14418,=C2=A0
where we want to redir= ect all outbound traffic from the guest to port 1000 to a different dynamic= ally allocated port where a=C2=A0server binary is listening on the host.=C2= =A0

We don't need runtime configuration, just = the ability to specify everything statically when starting qemu.
=
I can't promise anything, but I'll see if this is so= mething other people on my team would have cycles to help out with.

Thanks,

Peter Foley
<= /div> --000000000000f78d45064bbca644--