diff options
author | Qing Li <qingli@FreeBSD.org> | 2011-10-07 22:22:19 +0000 |
---|---|---|
committer | Qing Li <qingli@FreeBSD.org> | 2011-10-07 22:22:19 +0000 |
commit | 6703e7ea10b7e106f757acb3f0f8f79bac7ceadd (patch) | |
tree | 89fd64d71382efab3b1ecc6aea0d93364ae1ab3c /sys | |
parent | 4c7ad483099756d22b7cca6e2f39bca416b7dd73 (diff) | |
download | src-6703e7ea10b7e106f757acb3f0f8f79bac7ceadd.tar.gz src-6703e7ea10b7e106f757acb3f0f8f79bac7ceadd.zip |
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
Notes
Notes:
svn path=/head/; revision=226120
Diffstat (limited to 'sys')
-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 3201fa60d43f..a0f1cb7cbddd 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); } |