Loading Documentation/networking/ip-sysctl.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1296,6 +1296,11 @@ accept_ra_rtr_pref - 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 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ struct ipv6_devconf { __s32 force_tllao; __s32 ndisc_notify; __s32 suppress_frag_ndisc; __s32 accept_ra_prefix_route; void *sysctl; }; Loading include/uapi/linux/ipv6.h +1 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,7 @@ enum { DEVCONF_SUPPRESS_FRAG_NDISC, DEVCONF_ACCEPT_RA_FROM_LOCAL, DEVCONF_USE_OPTIMISTIC, DEVCONF_ACCEPT_RA_PREFIX_ROUTE, DEVCONF_MAX }; Loading kernel/sysctl_binary.c +1 −0 Original line number Diff line number Diff line Loading @@ -524,6 +524,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 @@ -202,6 +202,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = { .disable_ipv6 = 0, .accept_dad = 1, .suppress_frag_ndisc = 1, .accept_ra_prefix_route = 1, }; static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { Loading Loading @@ -240,6 +241,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { .disable_ipv6 = 0, .accept_dad = 1, .suppress_frag_ndisc = 1, .accept_ra_prefix_route = 1, }; /* Check if a valid qdisc is available */ Loading Loading @@ -2293,9 +2295,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 @@ -5316,6 +5321,13 @@ static struct addrconf_sysctl_table .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, }, { /* sentinel */ } Loading Loading
Documentation/networking/ip-sysctl.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1296,6 +1296,11 @@ accept_ra_rtr_pref - 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 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ struct ipv6_devconf { __s32 force_tllao; __s32 ndisc_notify; __s32 suppress_frag_ndisc; __s32 accept_ra_prefix_route; void *sysctl; }; Loading
include/uapi/linux/ipv6.h +1 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,7 @@ enum { DEVCONF_SUPPRESS_FRAG_NDISC, DEVCONF_ACCEPT_RA_FROM_LOCAL, DEVCONF_USE_OPTIMISTIC, DEVCONF_ACCEPT_RA_PREFIX_ROUTE, DEVCONF_MAX }; Loading
kernel/sysctl_binary.c +1 −0 Original line number Diff line number Diff line Loading @@ -524,6 +524,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 @@ -202,6 +202,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = { .disable_ipv6 = 0, .accept_dad = 1, .suppress_frag_ndisc = 1, .accept_ra_prefix_route = 1, }; static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { Loading Loading @@ -240,6 +241,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { .disable_ipv6 = 0, .accept_dad = 1, .suppress_frag_ndisc = 1, .accept_ra_prefix_route = 1, }; /* Check if a valid qdisc is available */ Loading Loading @@ -2293,9 +2295,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 @@ -5316,6 +5321,13 @@ static struct addrconf_sysctl_table .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, }, { /* sentinel */ } Loading