On Tue, 21 Oct 2025 23:01:13 +0200
Laurent Vivier
diff --git a/flow.h b/flow.h index ef138b83add8..2c58b30ffc6a 100644 --- a/flow.h +++ b/flow.h @@ -177,6 +177,7 @@ int flowside_connect(const struct ctx *c, int s, * @type: Type of packet flow * @pif[]: Interface for each side of the flow * @side[]: Information for each side of the flow + * @epollid: epollfd identifier, or EPOLLFD_ID_INVALID */ struct flow_common { #ifdef __GNUC__ @@ -192,8 +193,15 @@ struct flow_common { #endif uint8_t pif[SIDES]; struct flowside side[SIDES]; +#define EPOLLFD_ID_BITS 8 + unsigned int epollid:EPOLLFD_ID_BITS; };
Just to confirm, on top of Jon's series (adding tap_omac[6] before this): struct tcp_tap_conn { struct flow_common f; /* 0 84 */ /* --- cacheline 1 boundary (64 bytes) was 20 bytes ago --- */ [...] /* size: 128, cachelines: 2, members: 19 */ /* sum members: 115 */ /* sum bitfield members: 97 bits, bit holes: 1, sum bit holes: 7 bits */ }; ...perfect. Tight but we still have 7 bits (in a single chunk) should we ever need something else. -- Stefano