diff options
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/addrconf.c | 8 | ||||
-rw-r--r-- | net/ipv6/ndisc.c | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 1fd0a3d775d2..bdcee6981c60 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -4353,6 +4353,14 @@ static struct addrconf_sysctl_table | |||
4353 | .proc_handler = proc_dointvec, | 4353 | .proc_handler = proc_dointvec, |
4354 | }, | 4354 | }, |
4355 | { | 4355 | { |
4356 | .ctl_name = CTL_UNNUMBERED, | ||
4357 | .procname = "force_tllao", | ||
4358 | .data = &ipv6_devconf.force_tllao, | ||
4359 | .maxlen = sizeof(int), | ||
4360 | .mode = 0644, | ||
4361 | .proc_handler = proc_dointvec | ||
4362 | }, | ||
4363 | { | ||
4356 | .ctl_name = 0, /* sentinel */ | 4364 | .ctl_name = 0, /* sentinel */ |
4357 | } | 4365 | } |
4358 | }, | 4366 | }, |
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index f74e4e2cdd06..3507cfe1e7a2 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -598,6 +598,7 @@ static void ndisc_send_na(struct net_device *dev, struct neighbour *neigh, | |||
598 | icmp6h.icmp6_solicited = solicited; | 598 | icmp6h.icmp6_solicited = solicited; |
599 | icmp6h.icmp6_override = override; | 599 | icmp6h.icmp6_override = override; |
600 | 600 | ||
601 | inc_opt |= ifp->idev->cnf.force_tllao; | ||
601 | __ndisc_send(dev, neigh, daddr, src_addr, | 602 | __ndisc_send(dev, neigh, daddr, src_addr, |
602 | &icmp6h, solicited_addr, | 603 | &icmp6h, solicited_addr, |
603 | inc_opt ? ND_OPT_TARGET_LL_ADDR : 0); | 604 | inc_opt ? ND_OPT_TARGET_LL_ADDR : 0); |