svn commit: r196387 - in stable/8/sys: . dev/e1000

Jack Vogel jfvogel at gmail.com
Wed Aug 19 19:07:08 UTC 2009


Thanks for doing this for me Xin.

Jack


On Wed, Aug 19, 2009 at 11:08 AM, Xin LI <delphij at freebsd.org> wrote:

> Author: delphij
> Date: Wed Aug 19 18:08:50 2009
> New Revision: 196387
> URL: http://svn.freebsd.org/changeset/base/196387
>
> Log:
>  MFC r196386:
>
>  Temporarily enhance em(4) and igb(4) hack to take account for IFF_NOARP.
>  Without this changeset there will be no way to prevent these NICs from
>  sending ARP, which is harmful in server farms that is configured as
>  "Direct Server Return" behind a load balancer.
>
>  A better fix would remove the whole hack completely but it would be
>  later than 8.0-RELEASE.
>
>  Reviewed by:  jfv, yongari
>  Approved by:  re (kib)
>
> Modified:
>  stable/8/sys/   (props changed)
>  stable/8/sys/dev/e1000/if_em.c
>  stable/8/sys/dev/e1000/if_igb.c
>
> Modified: stable/8/sys/dev/e1000/if_em.c
>
> ==============================================================================
> --- stable/8/sys/dev/e1000/if_em.c      Wed Aug 19 17:59:41 2009
>  (r196386)
> +++ stable/8/sys/dev/e1000/if_em.c      Wed Aug 19 18:08:50 2009
>  (r196387)
> @@ -1204,7 +1204,8 @@ em_ioctl(struct ifnet *ifp, u_long comma
>                                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);
>
> Modified: stable/8/sys/dev/e1000/if_igb.c
>
> ==============================================================================
> --- stable/8/sys/dev/e1000/if_igb.c     Wed Aug 19 17:59:41 2009
>  (r196386)
> +++ stable/8/sys/dev/e1000/if_igb.c     Wed Aug 19 18:08:50 2009
>  (r196387)
> @@ -952,7 +952,8 @@ igb_ioctl(struct ifnet *ifp, u_long comm
>                                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);
>


More information about the svn-src-all mailing list