摘要:
A network device includes a port filter, a first logic device, and a second logic device. The port filter receives a data frame and generates first data relating to the data frame. The first logic device generates second data for the received data frame. The second logic device receives the first data and the second data, determines whether the first data contains a valid first priority value, and assigns the valid first priority value to the data frame when the first data contains the valid first priority value. When the first data does not contain a valid first priority value, the second logic device determines whether the second data contains a valid second priority value, and assigns the valid second priority value to the data frame when the second data contains the valid second priority value.
摘要:
A network switch includes network switch ports, each including a port filter configured for detecting user-selected attributes from a received layer 2 type data frame. Each port filter, upon detecting a user-selected attribute in a received layer 2 type data frame, sends a signal to a switching module indicating the determined presence of the user-selected attribute, enabling the switching module to generate a switching decision based on the corresponding user-selected attribute and based on a corresponding user-defined switching policy. The switching policy may specify a priority class, or a guaranteed quality of service (e.g., a guaranteed bandwidth), ensuring that the received layer 2 type data frame receives the appropriate switching support. The user-selected attributes for the port filter and the user-defined switching policy for the switching module are programmed by a host processor. Hence, the integrated network switch is able to perform advanced switching operations for layer 2 type data packets to ensure quality of service requirements, independent of priority information specified in the layer 2 type data packets, based on the user-selected attributes in the layer 2 type data packets and the user-defined switching policies established for the switching module.
摘要:
A multiport network device includes output port logic, priority logic, a memory, and memory logic. The output port logic generates output port data that identifies output ports to transmit received packets. The priority logic generates priority data that identifies priorities of the received packets. The memory stores the output port data from the output port logic and the priority data from the priority logic. The memory logic receives priority data relating to one of the received packets from the output port logic, determines whether the memory stores output port data relating to the packet, ignores the received priority data when the memory stores no output port data relating to the packet, and when the memory stores output port data relating to the packet, transmits the received priority data and the stored output port data to the identified output port.
摘要:
A network device identifies priority level information for data frames it receives. The network device includes input ports, a memory, an action generator, and a port vector queue. The input ports receive the data frames. Each of the received data frames specifies one or more classes of service. The memory stores priority level information corresponding to each of the classes of service. The action generator generates an action tag for each of the received data frames. The port vector queue uses the action tag from the action generator for each of the received data frames to access the memory to identify the priority level information associated with the received data frame.
摘要:
A network device that controls the communication of data frames between stations includes a memory that stores frame pointers that point to addresses in an external memory. The data frames are stored in the external memory while the network device generates frame forwarding information for the respective data frames. The network device divides the available frame pointers into a number of categories corresponding to priorities associated with the data frames. When a frame is received at the network device, frame processing logic determines the priority of the data frame and checks whether a frame pointer corresponding to that particular priority is available. If no frame pointer corresponding to that priority is available, the multiport switch drops the data frame.
摘要:
A multiport network device includes output ports, internal rules checking logic, a port filter, and input ports. The input ports receive data frames and transfer the data frames to the internal rules checking logic and the port filter. The internal rules checking logic determines the appropriate output ports for the frame. At potentially the same time, the port filter determines priority information for the frame. The port filter informs the internal rules checking logic when it has completed determining the priority information by transmitting an end-of-frame signal to the internal rules checking logic. In response, if the internal rules checking logic has completed determining the output ports for the frame, it assembles a frame descriptor corresponding to the frame and transmits the frame descriptor to the appropriate output port(s).
摘要:
A network having a shared memory architecture for storing data frames has a set of programmable thresholds that specify when flow control should be initiated on full-duplex network ports. The network switch includes a queue for storing free frame pointers that specify available memory locations in an external memory for storing data frames received from a network station. The network switch takes a frame pointer from a free buffer queue for each received data frame, and stores the received data frame in the location in external memory specified by the frame pointer while a decision making engine within the switch determines the appropriate destination ports. Flow control is initiated based on the number of available frame pointers by transmitting a PAUSE frame having a selected PAUSE interval to a transmitting network station. Specifically, a full-duplex port will output a PAUSE frame having a short, medium, or long programmed pause interval if the free buffer pool of available frame pointers falls below a high, medium, or low programmable threshold, respectively. The switch thus provides flexibility in generating variable-length PAUSE control frames to minimize wasting network bandwidth.
摘要:
A host channel adapter configured for outputting packets according to InfiniBand™ protocol is implemented using partitioned link modules configured for performing selected link operations prior to outputting the packets. A pre-link module is configured for ordering work queue entries in an order based on determined service level and virtual lane priorities. The pre-link module outputs the ordered work queue entries to a transport service module configured for generating a transport layer header for the packets based on the respective work queue entries. Once the transport layer headers have been generated, a post-link module is configured for retrieval of the transport layer header and transport data and preparing the transmit data packets for transmission on the network by constructing the link layer fields. The post-link module outputs the transmit data packets based on the ordering and the flow control protocol for the appropriate virtual lanes.
摘要:
A network switch, configured for performing layer 2 and layer 3 switching in an Ethernet (IEEE 802.3) network without blocking of incoming data packets, includes a network switch port having a filter (i.e., a packet classifier module) configured for evaluating an incoming data packet on an instantaneous basis. The filter performs simultaneous comparisons between the incoming data stream of the data packet and multiple templates configured for identifying respective data protocols. The network switch uses the filter to detect the presence of an RFC 2205 compliant bandwidth reservation message from a host computer for reception by a router. The network switch is configured for selectively changing a requested quality of service specified in the bandwidth reservation message, based on a determined absence of available resources within the network switch. The network switch selectively increases the requested quality service, based on the determined absence of the available resources, to a value that will be denied by the router. Hence, the network switch can ensure that a router does not grant a bandwidth reservation message from a host computer that would cause the capacity of the network switch to be exceeded, without any modification to the host computer or the router, or any interference with the resource reservation protocol specified in RFC 2205.
摘要:
A network device determines forwarding information for received data frames. The network device includes input ports, queuing logic, a forwarding engine, and a port filter. The input ports receive data frames. The queuing logic transfers at least some of the received data frames to an external memory. The forwarding engine generates forwarding information for at least some of the data frames transferred by the queuing logic to the external memory. The port filter stores forwarding information for one or more of the received data frames and analyzes each of the received data frames to determine whether there is stored forwarding information related to the received data frame. When there is stored forwarding information related to the received data frame, the port filter uses the stored forwarding information to forward the received data frame.