]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ipv6: add sysctl_ipv6_flowlabel group
authorEric Dumazet <edumazet@google.com>
Thu, 15 Jan 2026 09:41:34 +0000 (09:41 +0000)
committerJakub Kicinski <kuba@kernel.org>
Mon, 19 Jan 2026 17:56:42 +0000 (09:56 -0800)
Group together following struct netns_sysctl_ipv6 fields:

- flowlabel_consistency
- auto_flowlabels
- flowlabel_state_ranges

After this patch, ip6_make_flowlabel() uses a single cache line to fetch
auto_flowlabels and flowlabel_state_ranges (instead of two before the patch).

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260115094141.3124990-2-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/netns/ipv6.h

index 08d2ecc96e2b43901af6d91ae06d555b5ae9298d..34bdb1308e8ff85f04130ed25f40a4f8a24db083 100644 (file)
@@ -30,19 +30,23 @@ struct netns_sysctl_ipv6 {
        int ip6_rt_min_advmss;
        u32 multipath_hash_fields;
        u8 multipath_hash_policy;
-       u8 bindv6only;
+
+       __cacheline_group_begin(sysctl_ipv6_flowlabel);
        u8 flowlabel_consistency;
        u8 auto_flowlabels;
-       int icmpv6_time;
+       u8 flowlabel_state_ranges;
+       __cacheline_group_end(sysctl_ipv6_flowlabel);
+
        u8 icmpv6_echo_ignore_all;
        u8 icmpv6_echo_ignore_multicast;
        u8 icmpv6_echo_ignore_anycast;
+       int icmpv6_time;
        DECLARE_BITMAP(icmpv6_ratemask, ICMPV6_MSG_MAX + 1);
        unsigned long *icmpv6_ratemask_ptr;
        u8 anycast_src_echo_reply;
+       u8 bindv6only;
        u8 ip_nonlocal_bind;
        u8 fwmark_reflect;
-       u8 flowlabel_state_ranges;
        int idgen_retries;
        int idgen_delay;
        int flowlabel_reflect;