From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top, Stefano Brivio <sbrivio@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH v2 00/12] RFC: Improve forwarding data structure
Date: Sat, 20 Dec 2025 01:18:52 +1100 [thread overview]
Message-ID: <20251219141904.1758072-1-david@gibson.dropbear.id.au> (raw)
This replaces the existing data structures storing forwarding
information, with new ones that can store more detailed and flexible
information, Eventually we plan to allow dynamically updating this as well.
Patches 1, 2 & 8 could be merged (1 & 2 are the same as the the
earlier series with cleanups to the listening socket init functions).
The rest are just for early review. Since I'm going to be away for
the next two weeks, no rush at all.
v2:
* Remove preliminary patches already merged
* Add several patches actually using the new data structure
David Gibson (12):
tcp: Combine tcp_sock_init_one() and tcp_sock_init() into tcp_listen()
udp: Rename udp_sock_init() to udp_listen() with small cleanups
conf, fwd: Keep a table of our port forwarding configuration
conf: Accurately record ifname and address for outbound forwards
conf, fwd: Record "auto" port forwards in forwarding table
tcp, udp: Make {tcp,udp}_listen() return socket fds
fwd: Make space to store listening sockets in forward table
ip: Add ipproto_name() function
fwd, tcp, udp: Set up listening sockets based on forward table
tcp, udp: Remove old auto-forwarding socket arrays
fwd: Generate auto-forward exclusions from socket fd tables
tcp: Remove unused tcp_epoll_ref
conf.c | 125 +++++++++++++++++---------
fwd.c | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
fwd.h | 49 ++++++++++-
ip.c | 26 ++++++
ip.h | 2 +
tcp.c | 190 +++------------------------------------
tcp.h | 17 +---
udp.c | 140 ++---------------------------
udp.h | 8 +-
9 files changed, 447 insertions(+), 383 deletions(-)
--
2.52.0
next reply other threads:[~2025-12-19 14:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-19 14:18 David Gibson [this message]
2025-12-19 14:18 ` [PATCH v2 01/12] tcp: Combine tcp_sock_init_one() and tcp_sock_init() into tcp_listen() David Gibson
2025-12-19 14:18 ` [PATCH v2 02/12] udp: Rename udp_sock_init() to udp_listen() with small cleanups David Gibson
2025-12-19 14:18 ` [PATCH v2 03/12] conf, fwd: Keep a table of our port forwarding configuration David Gibson
2025-12-19 14:18 ` [PATCH v2 04/12] conf: Accurately record ifname and address for outbound forwards David Gibson
2025-12-19 14:18 ` [PATCH v2 05/12] conf, fwd: Record "auto" port forwards in forwarding table David Gibson
2025-12-19 14:18 ` [PATCH v2 06/12] tcp, udp: Make {tcp,udp}_listen() return socket fds David Gibson
2025-12-19 14:18 ` [PATCH v2 07/12] fwd: Make space to store listening sockets in forward table David Gibson
2025-12-19 14:19 ` [PATCH v2 08/12] ip: Add ipproto_name() function David Gibson
2025-12-19 14:19 ` [PATCH v2 09/12] fwd, tcp, udp: Set up listening sockets based on forward table David Gibson
2025-12-19 14:19 ` [PATCH v2 10/12] tcp, udp: Remove old auto-forwarding socket arrays David Gibson
2025-12-19 14:19 ` [PATCH v2 11/12] fwd: Generate auto-forward exclusions from socket fd tables David Gibson
2025-12-19 14:19 ` [PATCH v2 12/12] tcp: Remove unused tcp_epoll_ref David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251219141904.1758072-1-david@gibson.dropbear.id.au \
--to=david@gibson.dropbear.id.au \
--cc=passt-dev@passt.top \
--cc=sbrivio@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).