aboutgitcodebugslistschat
path: root/port_fwd.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-11-03 13:23:02 +1100
committerStefano Brivio <sbrivio@redhat.com>2023-11-07 09:53:29 +0100
commitdcf5c0eb1e877f1de84c94bb07c30d109cb85b70 (patch)
tree3c4e8351befa829f1b94a2a6a803f83402e42a5c /port_fwd.h
parent1a40d0089506e120dac83c000777e86f6bcdd362 (diff)
downloadpasst-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.h4
1 files changed, 4 insertions, 0 deletions
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];
};