Loading Documentation/networking/ip-sysctl.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1531,6 +1531,11 @@ accept_ra_mtu - BOOLEAN Functional default: enabled if accept_ra is enabled. disabled if accept_ra is disabled. accept_ra_prefix_route - BOOLEAN Set the prefix route for the autoconfigured interface address Functional default: enabled accept_redirects - BOOLEAN Accept Redirects. Loading include/linux/ipv6.h +1 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ struct ipv6_devconf { __u32 enhanced_dad; __u32 addr_gen_mode; __s32 disable_policy; __s32 accept_ra_prefix_route; struct ctl_table_header *sysctl_header; }; Loading include/uapi/linux/ipv6.h +1 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,7 @@ enum { DEVCONF_ADDR_GEN_MODE, DEVCONF_DISABLE_POLICY, DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN, DEVCONF_ACCEPT_RA_PREFIX_ROUTE, DEVCONF_MAX }; Loading kernel/sysctl_binary.c +1 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,7 @@ static const struct bin_table bin_net_ipv6_conf_var_table[] = { { CTL_INT, NET_IPV6_PROXY_NDP, "proxy_ndp" }, { CTL_INT, NET_IPV6_ACCEPT_SOURCE_ROUTE, "accept_source_route" }, { CTL_INT, NET_IPV6_ACCEPT_RA_FROM_LOCAL, "accept_ra_from_local" }, { CTL_INT, NET_IPV6_ACCEPT_RA_PREFIX_ROUTE, "accept_ra_prefix_route" }, {} }; Loading net/ipv6/addrconf.c +14 −2 Original line number Diff line number Diff line Loading @@ -249,6 +249,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = { .enhanced_dad = 1, .addr_gen_mode = IN6_ADDR_GEN_MODE_EUI64, .disable_policy = 0, .accept_ra_prefix_route = 1, }; static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { Loading Loading @@ -304,6 +305,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { .enhanced_dad = 1, .addr_gen_mode = IN6_ADDR_GEN_MODE_EUI64, .disable_policy = 0, .accept_ra_prefix_route = 1, }; /* Check if link is ready: is it up and is a valid qdisc available */ Loading Loading @@ -2680,9 +2682,12 @@ void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len, bool sllao) flags |= RTF_EXPIRES; expires = jiffies_to_clock_t(rt_expires); } addrconf_prefix_route(&pinfo->prefix, pinfo->prefix_len, if (dev->ip6_ptr->cnf.accept_ra_prefix_route) { addrconf_prefix_route(&pinfo->prefix, pinfo->prefix_len, dev, expires, flags); } } ip6_rt_put(rt); } Loading Loading @@ -6386,6 +6391,13 @@ static const struct ctl_table addrconf_sysctl[] = { .mode = 0644, .proc_handler = proc_dointvec, }, { .procname = "accept_ra_prefix_route", .data = &ipv6_devconf.accept_ra_prefix_route, .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, }, #ifdef CONFIG_IPV6_SEG6_HMAC { .procname = "seg6_require_hmac", Loading Loading
Documentation/networking/ip-sysctl.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1531,6 +1531,11 @@ accept_ra_mtu - BOOLEAN Functional default: enabled if accept_ra is enabled. disabled if accept_ra is disabled. accept_ra_prefix_route - BOOLEAN Set the prefix route for the autoconfigured interface address Functional default: enabled accept_redirects - BOOLEAN Accept Redirects. Loading
include/linux/ipv6.h +1 −1 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ struct ipv6_devconf { __u32 enhanced_dad; __u32 addr_gen_mode; __s32 disable_policy; __s32 accept_ra_prefix_route; struct ctl_table_header *sysctl_header; }; Loading
include/uapi/linux/ipv6.h +1 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,7 @@ enum { DEVCONF_ADDR_GEN_MODE, DEVCONF_DISABLE_POLICY, DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN, DEVCONF_ACCEPT_RA_PREFIX_ROUTE, DEVCONF_MAX }; Loading
kernel/sysctl_binary.c +1 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,7 @@ static const struct bin_table bin_net_ipv6_conf_var_table[] = { { CTL_INT, NET_IPV6_PROXY_NDP, "proxy_ndp" }, { CTL_INT, NET_IPV6_ACCEPT_SOURCE_ROUTE, "accept_source_route" }, { CTL_INT, NET_IPV6_ACCEPT_RA_FROM_LOCAL, "accept_ra_from_local" }, { CTL_INT, NET_IPV6_ACCEPT_RA_PREFIX_ROUTE, "accept_ra_prefix_route" }, {} }; Loading
net/ipv6/addrconf.c +14 −2 Original line number Diff line number Diff line Loading @@ -249,6 +249,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = { .enhanced_dad = 1, .addr_gen_mode = IN6_ADDR_GEN_MODE_EUI64, .disable_policy = 0, .accept_ra_prefix_route = 1, }; static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { Loading Loading @@ -304,6 +305,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { .enhanced_dad = 1, .addr_gen_mode = IN6_ADDR_GEN_MODE_EUI64, .disable_policy = 0, .accept_ra_prefix_route = 1, }; /* Check if link is ready: is it up and is a valid qdisc available */ Loading Loading @@ -2680,9 +2682,12 @@ void addrconf_prefix_rcv(struct net_device *dev, u8 *opt, int len, bool sllao) flags |= RTF_EXPIRES; expires = jiffies_to_clock_t(rt_expires); } addrconf_prefix_route(&pinfo->prefix, pinfo->prefix_len, if (dev->ip6_ptr->cnf.accept_ra_prefix_route) { addrconf_prefix_route(&pinfo->prefix, pinfo->prefix_len, dev, expires, flags); } } ip6_rt_put(rt); } Loading Loading @@ -6386,6 +6391,13 @@ static const struct ctl_table addrconf_sysctl[] = { .mode = 0644, .proc_handler = proc_dointvec, }, { .procname = "accept_ra_prefix_route", .data = &ipv6_devconf.accept_ra_prefix_route, .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, }, #ifdef CONFIG_IPV6_SEG6_HMAC { .procname = "seg6_require_hmac", Loading