diff options
author | qingli <qingli@FreeBSD.org> | 2011-10-07 22:22:19 +0000 |
---|---|---|
committer | qingli <qingli@FreeBSD.org> | 2011-10-07 22:22:19 +0000 |
commit | efcb5e88f9b4118a900244db456e37f91f4cdbe0 (patch) | |
tree | 89fd64d71382efab3b1ecc6aea0d93364ae1ab3c /sys/netinet | |
parent | 650dd4c77fcb6f61febb3266a72dfc03539e4bad (diff) | |
download | FreeBSD-src-efcb5e88f9b4118a900244db456e37f91f4cdbe0.zip FreeBSD-src-efcb5e88f9b4118a900244db456e37f91f4cdbe0.tar.gz |
Do not try removing an ARP entry associated with a given interface
address if that interface does not support ARP. Otherwise the
system will generate error messages unnecessarily due to the missing
entry.
PR: kern/159602
Submitted by: pluknet
MFC after: 3 days
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/in.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 3201fa6..a0f1cb7 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -1138,7 +1138,8 @@ in_scrubprefix(struct in_ifaddr *target, u_int flags) if (error == 0) target->ia_flags &= ~IFA_RTSELF; } - if (flags & LLE_STATIC) + if ((flags & LLE_STATIC) && + !(target->ia_ifp->if_flags & IFF_NOARP)) /* remove arp cache */ arp_ifscrub(target->ia_ifp, IA_SIN(target)->sin_addr.s_addr); } |