mirror of
https://github.com/LineageOS/android_kernel_samsung_msm8226.git
synced 2026-09-28 00:00:22 +02:00
Merge "net/ipv6/addrconf: IPv6 tethering enhancement"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
d12bf2ad13
@@ -1098,6 +1098,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.
|
||||
|
||||
|
||||
@@ -172,6 +172,7 @@ struct ipv6_devconf {
|
||||
__s32 disable_ipv6;
|
||||
__s32 accept_dad;
|
||||
__s32 force_tllao;
|
||||
__s32 accept_ra_prefix_route;
|
||||
void *sysctl;
|
||||
};
|
||||
|
||||
@@ -213,6 +214,7 @@ enum {
|
||||
DEVCONF_DISABLE_IPV6,
|
||||
DEVCONF_ACCEPT_DAD,
|
||||
DEVCONF_FORCE_TLLAO,
|
||||
DEVCONF_ACCEPT_RA_PREFIX_ROUTE,
|
||||
DEVCONF_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -524,6 +524,7 @@ static const struct bin_table bin_net_ipv6_conf_var_table[] = {
|
||||
{ CTL_INT, NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN, "accept_ra_rt_info_max_plen" },
|
||||
{ CTL_INT, NET_IPV6_PROXY_NDP, "proxy_ndp" },
|
||||
{ CTL_INT, NET_IPV6_ACCEPT_SOURCE_ROUTE, "accept_source_route" },
|
||||
{ CTL_INT, NET_IPV6_ACCEPT_RA_PREFIX_ROUTE, "accept_ra_prefix_route" },
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
+15
-2
@@ -36,6 +36,8 @@
|
||||
* YOSHIFUJI Hideaki @USAGI : improved source address
|
||||
* selection; consider scope,
|
||||
* status etc.
|
||||
* Harout S. Hedeshian : procfs flag to toggle automatic
|
||||
* addition of prefix route
|
||||
*/
|
||||
|
||||
#include <linux/errno.h>
|
||||
@@ -197,6 +199,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = {
|
||||
.accept_source_route = 0, /* we do not accept RH0 by default. */
|
||||
.disable_ipv6 = 0,
|
||||
.accept_dad = 1,
|
||||
.accept_ra_prefix_route = 1,
|
||||
};
|
||||
|
||||
static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
|
||||
@@ -231,6 +234,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
|
||||
.accept_source_route = 0, /* we do not accept RH0 by default. */
|
||||
.disable_ipv6 = 0,
|
||||
.accept_dad = 1,
|
||||
.accept_ra_prefix_route = 1,
|
||||
};
|
||||
|
||||
/* IPv6 Wildcard Address and Loopback Address defined by RFC2553 */
|
||||
@@ -1908,8 +1912,10 @@ 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,
|
||||
dev, expires, flags);
|
||||
if (dev->ip6_ptr->cnf.accept_ra_prefix_route) {
|
||||
addrconf_prefix_route(&pinfo->prefix,
|
||||
pinfo->prefix_len, dev, expires, flags);
|
||||
}
|
||||
}
|
||||
if (rt)
|
||||
dst_release(&rt->dst);
|
||||
@@ -4597,6 +4603,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 */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user