From dcf5c0eb1e877f1de84c94bb07c30d109cb85b70 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 3 Nov 2023 13:23:02 +1100 Subject: port_fwd: Move port scanning /proc fds into struct port_fwd Currently we store /proc/net fds used to implement automatic port forwarding in the proc_net_{tcp,udp} fields of the main context structure. However, in fact each of those is associated with a particular direction of forwarding, and we already have struct port_fwd which collects all other information related to a particular direction of port forwarding. We can simplify things a bit by moving the /proc fds into struct port_fwd. Signed-off-by: David Gibson Signed-off-by: Stefano Brivio --- port_fwd.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'port_fwd.h') diff --git a/port_fwd.h b/port_fwd.h index 2f8f526..8ab6b48 100644 --- a/port_fwd.h +++ b/port_fwd.h @@ -22,11 +22,15 @@ enum port_fwd_mode { /** * port_fwd - Describes port forwarding for one protocol and direction * @mode: Overall forwarding mode (all, none, auto, specific ports) + * @scan4: /proc/net fd to scan for IPv4 ports when in AUTO mode + * @scan6: /proc/net fd to scan for IPv6 ports when in AUTO mode * @map: Bitmap describing which ports are forwarded * @delta: Offset between the original destination and mapped port number */ struct port_fwd { enum port_fwd_mode mode; + int scan4; + int scan6; uint8_t map[PORT_BITMAP_SIZE]; in_port_t delta[NUM_PORTS]; }; -- cgit v1.2.3