skc_reuse now consumes 4 bits.
However, SK_NO_REUSE, SK_CAN_REUSE, and SK_FORCE_REUSE
are mutually exclusive and fit in 2 bits.
Let's reclaim 2 bits.
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
---
This is to give a bit to SO_NO_RFS instead of sk_flags.
https://lore.kernel.org/netdev/20261031113330.45704-2-vitaly.zuevsky@gcore.com/ (local)
---
include/net/sock.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/net/sock.h b/include/net/sock.h
index 173b37b2b8bb..4c831eec2045 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -125,6 +125,7 @@ typedef __u64 __bitwise __addrpair;
* @skc_net_refcnt: socket is using net ref counting
* @skc_bypass_prot_mem: bypass the per-protocol memory accounting for skb
* @skc_bound_dev_if: bound device index if != 0
+ * @skc_unused: unused bits
* @skc_bind_node: bind hash linkage for various protocol lookup tables
* @skc_portaddr_node: second hash linkage for UDP
* @skc_prot: protocol handlers inside a network family
@@ -176,11 +177,12 @@ struct sock_common {
unsigned short skc_family;
volatile unsigned char skc_state;
- unsigned char skc_reuse:4;
+ unsigned char skc_reuse:2;
unsigned char skc_reuseport:1;
unsigned char skc_ipv6only:1;
unsigned char skc_net_refcnt:1;
unsigned char skc_bypass_prot_mem:1;
+ unsigned char skc_unused:2;
int skc_bound_dev_if;
union {
struct hlist_node skc_bind_node;--
2.56.0.385.gac671c819a-goog