Print this page
9832 Original bug discovered as 9560 has friends IPv4 packets coming in as IPv6 creating chaos
        
*** 19,29 ****
   * CDDL HEADER END
   */
  /*
   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
!  * Copyright 2017 Joyent, Inc.
   * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
   */
  
  /*
   * MAC data path
--- 19,29 ----
   * CDDL HEADER END
   */
  /*
   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
!  * Copyright 2018 Joyent, Inc.
   * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
   */
  
  /*
   * MAC data path
*** 1787,1801 ****
                  /*
                   * Do src based fanout if below tunable is set to B_TRUE or
                   * when mac_ip_hdr_length_v6() fails because of malformed
                   * packets or because mblks need to be concatenated using
                   * pullupmsg().
-                  *
-                  * Perform a version check to prevent parsing weirdness...
                   */
!                 if (IPH_HDR_VERSION(ip6h) != IPV6_VERSION ||
!                     !mac_ip_hdr_length_v6(ip6h, mp->b_wptr, &hdr_len, &nexthdr,
                      NULL)) {
                          goto src_dst_based_fanout;
                  }
          } else {
                  hdr_len = IPH_HDR_LENGTH(ipha);
--- 1787,1798 ----
                  /*
                   * Do src based fanout if below tunable is set to B_TRUE or
                   * when mac_ip_hdr_length_v6() fails because of malformed
                   * packets or because mblks need to be concatenated using
                   * pullupmsg().
                   */
!                 if (!mac_ip_hdr_length_v6(ip6h, mp->b_wptr, &hdr_len, &nexthdr,
                      NULL)) {
                          goto src_dst_based_fanout;
                  }
          } else {
                  hdr_len = IPH_HDR_LENGTH(ipha);