From: Roy Marples Date: Wed, 25 May 2016 09:38:51 +0000 (+0000) Subject: Disable ARP for POINTOPOINT. X-Git-Tag: v6.11.1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6bdf24c69d370e959e571289c12e9d55ca2f1d0;p=thirdparty%2Fdhcpcd.git Disable ARP for POINTOPOINT. --- diff --git a/dhcpcd.c b/dhcpcd.c index aaf3ce20..3041cf7f 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -420,14 +420,17 @@ configure_interface1(struct interface *ifp) if (ifo->options & DHCPCD_RELEASE) ifo->options &= ~DHCPCD_PERSISTENT; - if (ifp->flags & IFF_POINTOPOINT && !(ifo->options & DHCPCD_INFORM)) - ifo->options |= DHCPCD_STATIC; + if (ifp->flags & (IFF_POINTOPOINT | IFF_LOOPBACK)) { + ifo->options &= ~DHCPCD_ARP; + if (!(ifp->flags & IFF_MULTICAST)) + ifo->options &= ~DHCPCD_IPV6RS; + if (!(ifo->options & DHCPCD_INFORM)) + ifo->options |= DHCPCD_STATIC; + } if (ifp->flags & IFF_NOARP || + !(ifo->options & DHCPCD_ARP) || ifo->options & (DHCPCD_INFORM | DHCPCD_STATIC)) ifo->options &= ~DHCPCD_IPV4LL; - if (ifp->flags & (IFF_POINTOPOINT | IFF_LOOPBACK) || - !(ifp->flags & IFF_MULTICAST)) - ifo->options &= ~DHCPCD_IPV6RS; if (ifo->metric != -1) ifp->metric = (unsigned int)ifo->metric;