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/inet/ip/ip_input.c
          +++ new/usr/src/uts/common/inet/ip/ip_input.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  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  /*
  23   23   * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  24   24   *
  25   25   * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
       26 + * Copyright 2018 Joyent, Inc.
  26   27   */
  27   28  /* Copyright (c) 1990 Mentat Inc. */
  28   29  
  29   30  #include <sys/types.h>
  30   31  #include <sys/stream.h>
  31   32  #include <sys/dlpi.h>
  32   33  #include <sys/stropts.h>
  33   34  #include <sys/sysmacros.h>
  34   35  #include <sys/strsubr.h>
  35   36  #include <sys/strlog.h>
↓ open down ↓ 103 lines elided ↑ open up ↑
 139  140  
 140  141  /*
 141  142   * Direct read side procedure capable of dealing with chains. GLDv3 based
 142  143   * drivers call this function directly with mblk chains while STREAMS
 143  144   * read side procedure ip_rput() calls this for single packet with ip_ring
 144  145   * set to NULL to process one packet at a time.
 145  146   *
 146  147   * The ill will always be valid if this function is called directly from
 147  148   * the driver.
 148  149   *
 149      - * If ip_input() is called from GLDv3:
      150 + * If this chain is part of a VLAN stream, then the VLAN tag is
      151 + * stripped from the MAC header before being delivered to this
      152 + * function.
 150  153   *
 151      - *   - This must be a non-VLAN IP stream.
 152      - *   - 'mp' is either an untagged or a special priority-tagged packet.
 153      - *   - Any VLAN tag that was in the MAC header has been stripped.
 154      - *
 155  154   * If the IP header in packet is not 32-bit aligned, every message in the
 156  155   * chain will be aligned before further operations. This is required on SPARC
 157  156   * platform.
 158  157   */
 159  158  void
 160  159  ip_input(ill_t *ill, ill_rx_ring_t *ip_ring, mblk_t *mp_chain,
 161  160      struct mac_header_info_s *mhip)
 162  161  {
 163  162          (void) ip_input_common_v4(ill, ip_ring, mp_chain, mhip, NULL, NULL,
 164  163              NULL);
↓ open down ↓ 2972 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX