net: neighbour: Remove CONFIG_ARPD
This config option is superfluous in that it only guards a call to neigh_app_ns(). Enabling CONFIG_ARPD by default has no change in behavior. There will now be call to __neigh_notify() for each ARP resolution, which has no impact unless there is a user space daemon waiting to receive the notification, i.e., the case for which CONFIG_ARPD was designed anyways. Suggested-by: Eric W. Biederman <ebiederm@xmission.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> Cc: James Morris <jmorris@namei.org> Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Cc: Patrick McHardy <kaber@trash.net> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Gao feng <gaofeng@cn.fujitsu.com> Cc: Joe Perches <joe@perches.com> Cc: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4f49129be6
commit
3e25c65ed0
@ -2759,13 +2759,11 @@ errout:
|
|||||||
rtnl_set_sk_err(net, RTNLGRP_NEIGH, err);
|
rtnl_set_sk_err(net, RTNLGRP_NEIGH, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ARPD
|
|
||||||
void neigh_app_ns(struct neighbour *n)
|
void neigh_app_ns(struct neighbour *n)
|
||||||
{
|
{
|
||||||
__neigh_notify(n, RTM_GETNEIGH, NLM_F_REQUEST);
|
__neigh_notify(n, RTM_GETNEIGH, NLM_F_REQUEST);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(neigh_app_ns);
|
EXPORT_SYMBOL(neigh_app_ns);
|
||||||
#endif /* CONFIG_ARPD */
|
|
||||||
|
|
||||||
#ifdef CONFIG_SYSCTL
|
#ifdef CONFIG_SYSCTL
|
||||||
static int zero;
|
static int zero;
|
||||||
|
@ -259,22 +259,6 @@ config IP_PIMSM_V2
|
|||||||
gated-5). This routing protocol is not used widely, so say N unless
|
gated-5). This routing protocol is not used widely, so say N unless
|
||||||
you want to play with it.
|
you want to play with it.
|
||||||
|
|
||||||
config ARPD
|
|
||||||
bool "IP: ARP daemon support"
|
|
||||||
---help---
|
|
||||||
The kernel maintains an internal cache which maps IP addresses to
|
|
||||||
hardware addresses on the local network, so that Ethernet
|
|
||||||
frames are sent to the proper address on the physical networking
|
|
||||||
layer. Normally, kernel uses the ARP protocol to resolve these
|
|
||||||
mappings.
|
|
||||||
|
|
||||||
Saying Y here adds support to have an user space daemon to do this
|
|
||||||
resolution instead. This is useful for implementing an alternate
|
|
||||||
address resolution protocol (e.g. NHRP on mGRE tunnels) and also for
|
|
||||||
testing purposes.
|
|
||||||
|
|
||||||
If unsure, say N.
|
|
||||||
|
|
||||||
config SYN_COOKIES
|
config SYN_COOKIES
|
||||||
bool "IP: TCP syncookie support"
|
bool "IP: TCP syncookie support"
|
||||||
---help---
|
---help---
|
||||||
|
@ -368,9 +368,7 @@ static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb)
|
|||||||
} else {
|
} else {
|
||||||
probes -= neigh->parms->app_probes;
|
probes -= neigh->parms->app_probes;
|
||||||
if (probes < 0) {
|
if (probes < 0) {
|
||||||
#ifdef CONFIG_ARPD
|
|
||||||
neigh_app_ns(neigh);
|
neigh_app_ns(neigh);
|
||||||
#endif
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -662,9 +662,7 @@ static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb)
|
|||||||
}
|
}
|
||||||
ndisc_send_ns(dev, neigh, target, target, saddr);
|
ndisc_send_ns(dev, neigh, target, target, saddr);
|
||||||
} else if ((probes -= neigh->parms->app_probes) < 0) {
|
} else if ((probes -= neigh->parms->app_probes) < 0) {
|
||||||
#ifdef CONFIG_ARPD
|
|
||||||
neigh_app_ns(neigh);
|
neigh_app_ns(neigh);
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
addrconf_addr_solict_mult(target, &mcaddr);
|
addrconf_addr_solict_mult(target, &mcaddr);
|
||||||
ndisc_send_ns(dev, NULL, target, &mcaddr, saddr);
|
ndisc_send_ns(dev, NULL, target, &mcaddr, saddr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user