Print this page
11490 SRS ring polling disabled for VLANs
11491 Want DLS bypass for VLAN traffic
11492 add VLVF bypass to ixgbe core
2869 duplicate packets with vnics over aggrs
11489 DLS stat delete and aggr kstat can deadlock
Portions contributed by: Theo Schlossnagle <jesus@omniti.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/dls/dls_link.c
          +++ new/usr/src/uts/common/io/dls/dls_link.c
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24      - * Copyright 2017 Joyent, Inc.
       24 + * Copyright 2018 Joyent, Inc.
  25   25   */
  26   26  
  27   27  /*
  28   28   * Data-Link Services Module
  29   29   */
  30   30  
  31   31  #include        <sys/sysmacros.h>
  32   32  #include        <sys/strsubr.h>
  33   33  #include        <sys/strsun.h>
  34   34  #include        <sys/vlan.h>
↓ open down ↓ 340 lines elided ↑ open up ↑
 375  375  
 376  376                  /*
 377  377                   * Grab the longest sub-chain we can process as a single
 378  378                   * unit.
 379  379                   */
 380  380                  nextp = i_dls_link_subchain(dlp, mp, &mhi, &npacket);
 381  381                  ASSERT(npacket != 0);
 382  382  
 383  383                  vid = VLAN_ID(mhi.mhi_tci);
 384  384  
      385 +                /*
      386 +                 * This condition is true only when a sun4v vsw client
      387 +                 * is on the scene; as it is the only type of client
      388 +                 * that multiplexes VLANs on a single client instance.
      389 +                 * All other types of clients have one VLAN per client
      390 +                 * instance. In that case, MAC strips the VLAN tag
      391 +                 * before delivering it to DLS (see mac_rx_deliver()).
      392 +                 */
 385  393                  if (mhi.mhi_istagged) {
      394 +
 386  395                          /*
 387  396                           * If it is tagged traffic, send it upstream to
 388  397                           * all dld_str_t which are attached to the physical
 389  398                           * link and bound to SAP 0x8100.
 390  399                           */
 391  400                          if (i_dls_link_rx_func(dlp, mrh, &mhi, mp,
 392  401                              ETHERTYPE_VLAN, dls_accept) > 0) {
 393  402                                  accepted = B_TRUE;
 394  403                          }
 395  404  
↓ open down ↓ 693 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX