The following reply was made to PR kern/138620; it has been noted by GNATS.

From: dfil...@freebsd.org (dfilter service)
To: bug-follo...@freebsd.org
Cc:  
Subject: Re: kern/138620: commit references a PR
Date: Sat, 26 May 2012 08:45:03 +0000 (UTC)

 Author: thompsa
 Date: Sat May 26 08:44:50 2012
 New Revision: 236075
 URL: http://svn.freebsd.org/changeset/base/236075
 
 Log:
   MFC r234936 (emaste)
   
    Relax restriction on direct tx to child ports
   
    Lagg(4) restricts the type of packet that may be sent directly to a child
    port, to avoid undesired output from accidental misconfiguration.
    Previously only ETHERTYPE_PAE was permitted.
   
    BPF writes to a lagg(4) child port are presumably intentional, so just
    allow them, while still blocking other packets that should take the
    aggregation path.
   
   PR:          kern/138620
 
 Modified:
   stable/8/sys/net/if_lagg.c
 Directory Properties:
   stable/8/sys/   (props changed)
   stable/8/sys/amd64/include/xen/   (props changed)
   stable/8/sys/boot/   (props changed)
   stable/8/sys/cddl/contrib/opensolaris/   (props changed)
   stable/8/sys/contrib/dev/acpica/   (props changed)
   stable/8/sys/contrib/pf/   (props changed)
   stable/8/sys/dev/e1000/   (props changed)
 
 Modified: stable/8/sys/net/if_lagg.c
 ==============================================================================
 --- stable/8/sys/net/if_lagg.c Sat May 26 08:44:26 2012        (r236074)
 +++ stable/8/sys/net/if_lagg.c Sat May 26 08:44:50 2012        (r236075)
 @@ -756,28 +756,18 @@ fallback:
        return (EINVAL);
  }
  
 +/*
 + * For direct output to child ports.
 + */
  static int
  lagg_port_output(struct ifnet *ifp, struct mbuf *m,
        struct sockaddr *dst, struct route *ro)
  {
        struct lagg_port *lp = ifp->if_lagg;
 -      struct ether_header *eh;
 -      short type = 0;
  
        switch (dst->sa_family) {
                case pseudo_AF_HDRCMPLT:
                case AF_UNSPEC:
 -                      eh = (struct ether_header *)dst->sa_data;
 -                      type = eh->ether_type;
 -                      break;
 -      }
 -
 -      /*
 -       * Only allow ethernet types required to initiate or maintain the link,
 -       * aggregated frames take a different path.
 -       */
 -      switch (ntohs(type)) {
 -              case ETHERTYPE_PAE:     /* EAPOL PAE/802.1x */
                        return ((*lp->lp_output)(ifp, m, dst, ro));
        }
  
 _______________________________________________
 svn-src-...@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
 
_______________________________________________
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