mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-17 10:46:33 +00:00
ipv6: add ipv6_devconf_read_txrx cacheline_group
IPv6 TX and RX fast path use the following fields: - disable_ipv6 - hop_limit - mtu6 - forwarding - disable_policy - proxy_ndp Place them in a group to increase data locality. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
65f5dd4f02
commit
096361b155
@ -3,6 +3,7 @@
|
|||||||
#define _IPV6_H
|
#define _IPV6_H
|
||||||
|
|
||||||
#include <uapi/linux/ipv6.h>
|
#include <uapi/linux/ipv6.h>
|
||||||
|
#include <linux/cache.h>
|
||||||
|
|
||||||
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
|
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
|
||||||
#define ipv6_authlen(p) (((p)->hdrlen+2) << 2)
|
#define ipv6_authlen(p) (((p)->hdrlen+2) << 2)
|
||||||
@ -10,9 +11,16 @@
|
|||||||
* This structure contains configuration options per IPv6 link.
|
* This structure contains configuration options per IPv6 link.
|
||||||
*/
|
*/
|
||||||
struct ipv6_devconf {
|
struct ipv6_devconf {
|
||||||
__s32 forwarding;
|
/* RX & TX fastpath fields. */
|
||||||
|
__cacheline_group_begin(ipv6_devconf_read_txrx);
|
||||||
|
__s32 disable_ipv6;
|
||||||
__s32 hop_limit;
|
__s32 hop_limit;
|
||||||
__s32 mtu6;
|
__s32 mtu6;
|
||||||
|
__s32 forwarding;
|
||||||
|
__s32 disable_policy;
|
||||||
|
__s32 proxy_ndp;
|
||||||
|
__cacheline_group_end(ipv6_devconf_read_txrx);
|
||||||
|
|
||||||
__s32 accept_ra;
|
__s32 accept_ra;
|
||||||
__s32 accept_redirects;
|
__s32 accept_redirects;
|
||||||
__s32 autoconf;
|
__s32 autoconf;
|
||||||
@ -45,7 +53,6 @@ struct ipv6_devconf {
|
|||||||
__s32 accept_ra_rt_info_max_plen;
|
__s32 accept_ra_rt_info_max_plen;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
__s32 proxy_ndp;
|
|
||||||
__s32 accept_source_route;
|
__s32 accept_source_route;
|
||||||
__s32 accept_ra_from_local;
|
__s32 accept_ra_from_local;
|
||||||
#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
|
#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
|
||||||
@ -55,7 +62,6 @@ struct ipv6_devconf {
|
|||||||
#ifdef CONFIG_IPV6_MROUTE
|
#ifdef CONFIG_IPV6_MROUTE
|
||||||
atomic_t mc_forwarding;
|
atomic_t mc_forwarding;
|
||||||
#endif
|
#endif
|
||||||
__s32 disable_ipv6;
|
|
||||||
__s32 drop_unicast_in_l2_multicast;
|
__s32 drop_unicast_in_l2_multicast;
|
||||||
__s32 accept_dad;
|
__s32 accept_dad;
|
||||||
__s32 force_tllao;
|
__s32 force_tllao;
|
||||||
@ -76,7 +82,6 @@ struct ipv6_devconf {
|
|||||||
#endif
|
#endif
|
||||||
__u32 enhanced_dad;
|
__u32 enhanced_dad;
|
||||||
__u32 addr_gen_mode;
|
__u32 addr_gen_mode;
|
||||||
__s32 disable_policy;
|
|
||||||
__s32 ndisc_tclass;
|
__s32 ndisc_tclass;
|
||||||
__s32 rpl_seg_enabled;
|
__s32 rpl_seg_enabled;
|
||||||
__u32 ioam6_id;
|
__u32 ioam6_id;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user