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:
Tim Gardner 2013-08-29 06:38:47 -06:00 committed by David S. Miller
parent 4f49129be6
commit 3e25c65ed0
4 changed files with 0 additions and 22 deletions

View File

@ -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;

View File

@ -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---

View File

@ -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;
} }
} }

View File

@ -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);