diff options
| author | Roy Marples <roy@marples.name> | 2016-05-25 09:38:51 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2016-05-25 09:38:51 +0000 |
| commit | f6bdf24c69d370e959e571289c12e9d55ca2f1d0 (patch) | |
| tree | 69facfb8cbf197eeac0a883243c4f5059e7a7520 /dhcpcd.c | |
| parent | 6be2c4f91ebd7a880b06a530195356b532bd6d47 (diff) | |
| download | dhcpcd-f6bdf24c69d370e959e571289c12e9d55ca2f1d0.tar.xz | |
Disable ARP for POINTOPOINT.
Diffstat (limited to 'dhcpcd.c')
| -rw-r--r-- | dhcpcd.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -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; |
