-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi, Jack,

I have looked into the code history and found that sys/dev/em/if_em.c,v
1.119 has introduced the arp_ifinit() call in order to fix the problem
that if_em won't send ARP when IP address is changed.

I think we can further improve it as attached, say, only do it when
IFF_NOARP is not set.  This should have no effect for usual
configuration but fix the problem when NOARP is the desired behavior.

Cheers,
- --
Xin LI <delp...@delphij.net>    http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (FreeBSD)

iEYEARECAAYFAkqLFykACgkQi+vbBBjt66CMFQCeOkESwsgDAbqe5PCtiMulaU1E
lIAAoIm0LDJ6qHuR8jyo7dXFi/9iYA22
=9E54
-----END PGP SIGNATURE-----
Index: if_igb.c
===================================================================
--- if_igb.c    (revision 196363)
+++ if_igb.c    (working copy)
@@ -952,7 +952,8 @@ igb_ioctl(struct ifnet *ifp, u_long command, caddr
                                igb_init_locked(adapter);
                                IGB_CORE_UNLOCK(adapter);
                        }
-                       arp_ifinit(ifp, ifa);
+                       if (!(ifp->if_flags & IFF_NOARP))
+                               arp_ifinit(ifp, ifa);
                } else
 #endif
                        error = ether_ioctl(ifp, command, data);
Index: if_em.c
===================================================================
--- if_em.c     (revision 196363)
+++ if_em.c     (working copy)
@@ -1204,7 +1204,8 @@ em_ioctl(struct ifnet *ifp, u_long command, caddr_
                                em_init_locked(adapter);
                                EM_CORE_UNLOCK(adapter);
                        }
-                       arp_ifinit(ifp, ifa);
+                       if (!(ifp->if_flags & IFF_NOARP))
+                               arp_ifinit(ifp, ifa);
                } else
 #endif
                        error = ether_ioctl(ifp, command, data);
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to