Abstract:
A system and method can support efficient packet switching in a network environment. The system can comprise an ingress buffer on a networking device. The ingress buffer operate to store one or more incoming packets that are received at an input port on the networking device, wherein the input port is associated with a plurality of source virtual lanes (VLs). Furthermore, the ingress buffer operate to reallocate buffer resource in the ingress buffer from being associated with a first source VL in the plurality of source VLs to being associated with a second source VL in the plurality of source VLs, and send an initial credit update to the input port for the first source VL and the second source VL.
Abstract:
The disclosed embodiments relate to a system for communicating packets through a network switch fabric. During operation, at an aggregation point in the network switch fabric, the system segregates packet flows from multiple sources into a set of quality-of-service (QoS) buckets. Next, the system monitors traffic rates for each QoS bucket. The system then determines a state for each QoS bucket by comparing a traffic rate for the QoS bucket with one or more state-specific thresholds. When a packet is subsequently received for a given QoS bucket, the system performs an action based on a state of the given QoS bucket.
Abstract:
A system for communicating a multi-destination packet through a network switch fabric is described. The system receives the multi-destination packet at an input port of the network switch fabric, wherein the multi-destination packet is directed to multiple output ports, and wherein the network switch fabric has a virtual output queue (VOQ) architecture, wherein each input port maintains a separate VOQ for each output port. The system sends the multi-destination packet by inserting the multi-destination packet into VOQs associated with the multiple output ports. While inserting the multi-destination packet in each VOQ, if the VOQ is empty, the system inserts the multi-destination packet at a head of the VOQ. Otherwise, if the VOQ is not empty and if the VOQ contains an end of a last complete packet received by the VOQ, the system inserts the multi-destination packet into the VOQ at the end of the last complete packet.
Abstract:
The disclosed embodiments provide a system that operates a switch fabric. During operation, the system creates a set of virtual links for a first set of physical ports in the switch fabric. Next, the system uses a set of virtual port numbers to create a set of mappings between the set of virtual links and a second set of physical ports in the switch fabric, wherein the second set of physical ports is connected to the first set of physical ports using a single physical link. The system then uses the mappings to provide non-blocking behavior in traffic from the first set of physical ports to the second set of physical ports.
Abstract:
A system and method can support efficient packet processing in a network environment. The system can comprise a direct memory access (DMA) resources pool that comprises one or more of DMA resources. Furthermore, the system can use a plurality of packet buffers in a memory, wherein each said DMA resource can point to a chain of packet buffers in the memory. Here, the chain of packet buffers can be implemented based on either a linked list data structure and/or a linear array data structure. Additionally, each said DMA resource allows a packet processing thread to access the chain of packet buffers using a pre-assigned thread key.
Abstract:
An input/output (I/O) switch fabric includes input physical ports that convey packets associated with at least a first network flow. Moreover, virtual routers in the I/O switch fabric, which have associated routing tables, provide types of service and/or routes for different source-destination pairs based on link-layer information and network-layer information in the packets. Note that different virtual routers can provide different types of service and/or different routes. For example, a type of service associated with a first virtual router may include changing packet headers when crossing service domains in a global network, and a type of service associated with a second virtual router may avoid changing packet headers when providing connectivity in the network. Furthermore, the I/O switch fabric includes output physical ports that convey packets associated with at least a second network flow. The virtual routers may facilitate InfiniBand inter-subnet crossing.
Abstract:
System and method for using multiple global identification subnet prefix values in a network switch environment in a high performance computing environment. A packet is received from a network fabric by a first Host Channel Adapter (HCA). The packet has a header portion including a destination subnet prefix identifying a destination subnet of the network fabric. The network HCA is allowed to receive the first packet from a port of the network HCA by selectively determining a logical state of a flag and, selectively in accordance with a predetermined logical state of the flag, ignoring the destination subnet prefix identifying the destination subnet of the network fabric.
Abstract:
System and method for supporting shared multicast local identifiers (MLIDs) a high performance computing environment. In accordance with an embodiment, a shared MLID range can be configured such that each subnet within a fabric can utilize an MLID within a shared MLID range without the need to utilize a TCAM, or other memory, lookup of a MGID to MLID mapping.
Abstract:
System and method for supporting shared multicast local identifiers (MLIDs) a high performance computing environment. In accordance with an embodiment, a shared MLID range can be configured such that each subnet within a fabric can utilize an MLID within a shared MLID range without the need to utilize a TCAM, or other memory, lookup of a MGID to MLID mapping.
Abstract:
System and method for supporting subnet number aliasing in a high performance computing environment. In accordance with an embodiment, a fabric member can be assigned, by a global fabric manager, an alias fabric local subnet number in order to keep a fabric running after a fabric reconfiguration. The alias fabric local subnet number can be assigned for a period of time, the period of time being static, configurable, or indefinite.