diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-07-18 15:26:52 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-07-19 18:33:57 +0200 |
commit | d29fa0856e75816431e78552821ec77c59e25b3e (patch) | |
tree | 9117d52ad3ed4159cdf821d95509979d005dd688 /udp.h | |
parent | d89b3aa097a6777e981a4eb537a0b37f08a5b3a7 (diff) | |
download | passt-d29fa0856e75816431e78552821ec77c59e25b3e.tar passt-d29fa0856e75816431e78552821ec77c59e25b3e.tar.gz passt-d29fa0856e75816431e78552821ec77c59e25b3e.tar.bz2 passt-d29fa0856e75816431e78552821ec77c59e25b3e.tar.lz passt-d29fa0856e75816431e78552821ec77c59e25b3e.tar.xz passt-d29fa0856e75816431e78552821ec77c59e25b3e.tar.zst passt-d29fa0856e75816431e78552821ec77c59e25b3e.zip |
udp: Remove rdelta port forwarding maps
In addition to the struct fwd_ports used by both UDP and TCP to track
port forwarding, UDP also included an 'rdelta' field, which contained the
reverse mapping of the main port map. This was used so that we could
properly direct reply packets to a forwarded packet where we change the
destination port. This has now been taken over by the flow table: reply
packets will match the flow of the originating packet, and that gives the
correct ports on the originating side.
So, eliminate the rdelta field, and with it struct udp_fwd_ports, which
now has no additional information over struct fwd_ports.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'udp.h')
-rw-r--r-- | udp.h | 14 |
1 files changed, 2 insertions, 12 deletions
@@ -42,24 +42,14 @@ union udp_epoll_ref { /** - * udp_fwd_ports - UDP specific port forwarding configuration - * @f: Generic forwarding configuration - * @rdelta: Reversed delta map to translate source ports on return packets - */ -struct udp_fwd_ports { - struct fwd_ports f; - in_port_t rdelta[NUM_PORTS]; -}; - -/** * struct udp_ctx - Execution context for UDP * @fwd_in: Port forwarding configuration for inbound packets * @fwd_out: Port forwarding configuration for outbound packets * @timer_run: Timestamp of most recent timer run */ struct udp_ctx { - struct udp_fwd_ports fwd_in; - struct udp_fwd_ports fwd_out; + struct fwd_ports fwd_in; + struct fwd_ports fwd_out; struct timespec timer_run; }; |