diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2023-11-03 13:23:02 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-11-07 09:53:29 +0100 |
commit | dcf5c0eb1e877f1de84c94bb07c30d109cb85b70 (patch) | |
tree | 3c4e8351befa829f1b94a2a6a803f83402e42a5c /port_fwd.h | |
parent | 1a40d0089506e120dac83c000777e86f6bcdd362 (diff) | |
download | passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.tar passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.tar.gz passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.tar.bz2 passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.tar.lz passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.tar.xz passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.tar.zst passt-dcf5c0eb1e877f1de84c94bb07c30d109cb85b70.zip |
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 <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'port_fwd.h')
-rw-r--r-- | port_fwd.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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]; }; |