net: neighbour: Remove CONFIG_ARPD
authorTim Gardner <tim.gardner@canonical.com>
Thu, 29 Aug 2013 12:38:47 +0000 (06:38 -0600)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Sep 2013 01:41:43 +0000 (21:41 -0400)
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>
net/core/neighbour.c
net/ipv4/Kconfig
net/ipv4/arp.c
net/ipv6/ndisc.c

index 60533db8b72db4bafa73d336d697575ba3138c90..6072610a8672d1a54a0e7618214f70610fa2a6fa 100644 (file)
@@ -2759,13 +2759,11 @@ errout:
                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;
index 37cf1a6ea3ad23662ea39d236aae62c0fdebed05..05c57f0fcabef4b61795bf13b8712cd5ec91374d 100644 (file)
@@ -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---
index 4429b013f26946e03b687c25158267494542de9c..7808093cede6c448eb52351f7db0a36ec3fdcf95 100644 (file)
@@ -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;
                }
        }
index 14bd2f9d9dbbbcc9653c6bfb43a4c70827c04741..22210650596fcf33866a44ec6414a18678d0f182 100644 (file)
@@ -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);