kern/159602: [path] arp_ifscrub() is called even if IFF_NOARP flag is set

Svatopluk Kraus onwahe at gmail.com
Mon Aug 8 13:10:18 UTC 2011


>Number:         159602
>Category:       kern
>Synopsis:       [path] arp_ifscrub() is called even if IFF_NOARP flag is set
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 08 13:10:17 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Svatopluk Kraus
>Release:        current
>Organization:
>Environment:
>Description:
arp_ifscrub() is called on interface with IFF_NOARP flag set. A message "interface address is missing from cache = %p  in delete" is printed.
>How-To-Repeat:

>Fix:
Index: sys/netinet/in.c
===================================================================
--- sys/netinet/in.c	(revision 224705)
+++ sys/netinet/in.c	(working copy)
@@ -1136,7 +1136,8 @@
 			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);
 	}


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list