H04L49/9068

TERABIT-SCALE NETWORK PACKET PROCESSING VIA FLOW-LEVEL PARALLELIZATION
20220124185 · 2022-04-21 ·

In one example, the present disclosure describes a device, computer-readable medium, and method for organizing terabit-scale packet volumes into flows for downstream processing stages. For instance, in one example, a method includes extracting a first flow key from a first data packet, inputting the first flow key into a hash function to obtain a first output value, selecting a first partition in a memory to which to store the first data packet, wherein the first partition is selected based on the first output value, and storing the first data packet to the first partition.

Fine Grain Traffic Shaping Offload For A Network Interface Card
20220124039 · 2022-04-21 ·

A network interface card with traffic shaping capabilities and methods of network traffic shaping with a network interface card are provided. The network interface card and method can shape traffic originating from one or more applications executing on a host network device. The applications can execute in a virtual machine or containerized computing environment. The network interface card and method can perform or include several traffic shaping mechanisms including, for example and without limitation, a delayed completion mechanism, a time-indexed data structure, a packet builder, and a memory manager.

Direct packet placement

Communication apparatus includes a host interface and a network interface, which receives from a packet communication network at least one packet stream including a sequence of data packets, which include headers containing respective sequence numbers and data payloads containing slices of the data segment having a predefined, fixed size per slice. Packet processing circuitry is configured to receive the data packets from the network interface, and to map the data payloads of the data packets in the at least one packet stream, using a linear mapping of the sequence numbers, to respective addresses in the buffer.

Congestion control method, network device, and network interface controller

This application provides a congestion control method, a network device, and a network interface controller. In the congestion control method performed by a first intermediate device, the first intermediate device receives a first data packet sent by a sending device, sends the first data packet to a receiving device along a first path, receives a first acknowledgment packet that is sent by the receiving device and that is used for acknowledging the first data packet, and determines a congestion degree of the first path based on a congestion mark in the first acknowledgment packet. The first intermediate device changes a window value and sends the changed first acknowledgment packet to the sending device. According to a solution provided in this application, a speed of transmitting a data packet is adjusted based on a congestion degree of a communication path and a quantity of bytes of the data packet.

TRANSMISSION DEVICE AND RESOURCE ALLOCATION METHOD
20210359960 · 2021-11-18 ·

[Problem] To allocate IFs to be used in accordance with buffers such that no packet loss occurs in a case in which the transfer apparatus that performs packet transfer includes as many buffers with grouped interfaces (IFs) mounted in units of groups thereon as the number of groups.

[Solving Means] A packet transfer apparatus 10C has a plurality of buffers 11a to 11n mounting IFs in units of groups and performs, when the traffic amount at the time of packet transfer of the IFs of each of the buffers exceeds maximum transfer capacity of the IFs, buffering packets corresponding to the exceeding traffic amount in the butlers. An IF allocation unit 23 included in the transfer apparatus 10C selects, in a case in which IF groups with no occurrence of any loss indicating packet discarding are present at the time of the packet transfer in the IFs for a unit time from among all the IF groups, an IF group with a longest non-occurrence time of the buffering from among the IF groups with no occurrence of any loss and performs IF allocation of allocating traffic of packets to the IFs in the selected IF groups.

Performing slice based operations in a data plane circuit

Some embodiments of the invention provide a novel method of performing network slice-based operations on a data message at a hardware forwarding element (HFE) in a network. For a received data message flow, the method has the HFE identify a network slice associated with the received data message flow. This network slice in some embodiments is associated with a set of operations to be performed on the data message by several network elements, including one or more machines executing on one or more computers in the network. Once the network slice is identified, the method has the HFE process the data message flow based on a rule that applies to data messages associated with the identified slice.

Data processing method, network interface card, and server
11223579 · 2022-01-11 · ·

In a data center, a network interface card is utilized to assist processing of data packets. The server comprising a host and the network interface card connected to the host. The host is configured to generate processing information when receiving data packet from the network interface card, and send the processing information to the network interface card. The network interface card is configured to generate an action field and a match field of a session entry to process the data packet, based on the processing information sent by the host and the matching information of the data packet.

Methods and systems for increasing fairness for small vs large NVMe IO commands

Increased fairness for small vs large NVMe IO commands for accessing a non-volatile memory namespace provided by a network attached storage appliance can be realized by placing NVMe submissions received by a NVMe SQ on a first fabric queue set or a second fabric queue set based on a fairness policy. The first fabric queue set accesses the namespace via a first fabric connection. The second fabric queue set accesses the namespace via a second fabric connection. Accessing the namespace via the fabric connections results in NVMe completions that are merged from the fabric queue sets onto an NVMe completion queue. A process producing the NVMe submissions and receiving the resulting NVMe completions may be unaware of the multiple fabric queue sets.

Flow table aging optimized for dram access
11169932 · 2021-11-09 · ·

A flow table management system can include a hardware memory module communicatively coupled to a network interface card. The hardware memory module is configured to store a flow table including a plurality of network flow entries. The network interface card further includes a flow table age cache configured to store a set of recently active network flows and a flow table management module configured to manage a duration for which respective network flow entries in the flow table stored in the hardware memory module remain in the flow table using the flow table age cache. In some implementations, age information about each respective flow in the flow table is stored in the hardware memory module in an age state table that is separate from the flow table.

Congestion control management method derived from packets at a network adapter

A network adapter includes a receive (RX) pipeline, a transmit (TX) pipeline, hardware-implemented congestion-control circuitry, and a congestion-control processor. The RX pipeline is configured to receive packets from a network and process the received packets. The TX pipeline is configured to transmit packets to the network. The hardware-implemented congestion-control circuitry is configured to receive, from the TX pipeline and from the RX pipeline, Congestion-Control (CC) events derived from at least some of the packets transmitted to the network and from at least some of the packets received from the network, and to pre-process the CC events. The congestion-control processor is configured to receive the pre-processed CC events from the congestion-control circuitry, and to throttle a transmission rate of the packets transmitted to the network by the TX pipeline responsively to the pre-processed CC events.