mirror of https://gitee.com/openkylin/linux.git
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 @@ static void __neigh_notify(struct neighbour *n, int type, int flags)
|
|||
rtnl_set_sk_err(net, RTNLGRP_NEIGH, err);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARPD
|
||||
void neigh_app_ns(struct neighbour *n)
|
||||
{
|
||||
__neigh_notify(n, RTM_GETNEIGH, NLM_F_REQUEST);
|
||||
}
|
||||
EXPORT_SYMBOL(neigh_app_ns);
|
||||
#endif /* CONFIG_ARPD */
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
static int zero;
|
||||
|
|
|
@ -259,22 +259,6 @@ config IP_PIMSM_V2
|
|||
gated-5). This routing protocol is not used widely, so say N unless
|
||||
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
|
||||
bool "IP: TCP syncookie support"
|
||||
---help---
|
||||
|
|
|
@ -368,9 +368,7 @@ static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb)
|
|||
} else {
|
||||
probes -= neigh->parms->app_probes;
|
||||
if (probes < 0) {
|
||||
#ifdef CONFIG_ARPD
|
||||
neigh_app_ns(neigh);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -662,9 +662,7 @@ static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb)
|
|||
}
|
||||
ndisc_send_ns(dev, neigh, target, target, saddr);
|
||||
} else if ((probes -= neigh->parms->app_probes) < 0) {
|
||||
#ifdef CONFIG_ARPD
|
||||
neigh_app_ns(neigh);
|
||||
#endif
|
||||
} else {
|
||||
addrconf_addr_solict_mult(target, &mcaddr);
|
||||
ndisc_send_ns(dev, NULL, target, &mcaddr, saddr);
|
||||
|
|
Loading…
Reference in New Issue