H04L49/3009

Maintaining bypass packet count values
09755910 · 2017-09-05 · ·

A networking device includes a Network Interface Device (NID) and a host. Packets are received onto the networking device via the NID. Some of the packets pass along paths from the NID to the host, whereas others do not pass to the host and are processed by the NID. A bypass packet count for each path that passes from the NID to the host is maintained on the NID. It is determined, using a match table, that one of the packets received on the NID is to be sent to the host. The packet, however, is instead sent along a bypass path without going through the host (as it should have according to the host's match tables). The path that the packet would have traversed had the packet not been sent along the bypass path is determined and the bypass packet count associated with the determined path is incremented.

On-demand generation of system entry packet counts
09755911 · 2017-09-05 · ·

A networking device includes a match table maintained on a first processor. The match table includes an entry that in turn includes an entry packet count. Packets of multiple flows result in matches to the entry. A set of bypass packet counts is maintained on a second processor of the networking device. There is one bypass packet count for each of the multiple paths through the first processor. A request for a “system entry packet count” of an entry located in a match table on the first processor is received onto the networking device. All paths of all flows that could have resulted in matches of that entry are determined. The “system entry packet count” is then determined by summing the entry packet count and the bypass packet counts for all those paths. A response is output from the networking device, where the response includes the “system entry packet count”.

Adaptive Networking Policy with User Defined Fields

The present disclosure is directed to adaptive networking policy with user defined fields and includes one or more processors and one or more computer-readable non-transitory storage media coupled to the one or more processors and comprising instructions that, when executed by the one or more processors, cause one or more components to perform operations including generating a user defined attribute (UDA) value corresponding to a set of attributes; receiving, at a network device, a packet having one or more packet conditions; determining that the one or more packet conditions of the packet match the set of attributes of the UDA value; assigning a UDA tag to the packet, wherein the UDA tag corresponds to the UDA value and is configured for chaining with one or more other UDA tags; and taking an action on the packet based on the UDA tag.

Configuring a switch for extracting packet header fields
11245778 · 2022-02-08 · ·

A method for generating configuration data for configuring a hardware switch is described. The method receives a description of functionality for the hardware switch. Based on the description, the method generates sets of match and action entries to configure the hardware switch to process packets. The method then determines, for each packet header field in a parse graph that specifies instructions for a parser of the switch to extract packet header fields from packets, whether the packet header field is used or modified by at least one match or action entry. The method generates for the parser of the hardware switch configuration data that instructs the parser to extract (i) packet header fields used or modified by at least one match or action entry to a first set of registers and (ii) packet header fields not used by any match or action entries to a second set of registers.

Packet processing method and forwarding element
09749262 · 2017-08-29 ·

Embodiments provide a method, including: receiving, by a forwarding element, a packet through an inbound port; searching for, by the forwarding element, a port table according to the inbound port and determining a first offset, a first length, and an identifier of a first table; determining, by the forwarding element, a first key according to the first offset and the first length, searching for the first table according to the first key, and determining a first instruction; and processing, by the forwarding element, the packet according to the first instruction. In addition, a forwarding element is provided. In the foregoing technical solutions, before processing a packet, the forwarding element does not need to interpret a data format of the packet, so that the forwarding element can flexibly support packets in different data formats.

Messaging between remote controller and forwarding element

Some embodiments of the invention provide a forwarding element that can be configured through in-band data-plane messages from a remote controller that is a physically separate machine from the forwarding element. The forwarding element of some embodiments has data plane circuits that include several configurable message-processing stages, several storage queues, and a data-plane configurator. A set of one or more message-processing stages of the data plane are configured (1) to process configuration messages received by the data plane from the remote controller and (2) to store the configuration messages in a set of one or more storage queues. The data-plane configurator receives the configuration messages stored in the set of storage queues and configures one or more of the configurable message-processing stages based on configuration data in the configuration messages.

System and method for exchanging information among exchange applications
09742880 · 2017-08-22 · ·

In a system and method for accessing messages in a data store in a gateway, a data frame request, which is a structured SQL query, is received at the gateway. The received data frame request is applied to the gateway data store, which stores messages. A data frame is generated that comprises messages from the data store that are responsive to the received data frame request, the data frame having a format that is readable by a character editor.

Virtual network device
11245645 · 2022-02-08 · ·

A virtual network device increases the effective number of local physical ports by converting each of the local physical ports into a plurality of virtual local physical ports, and the effective number of network physical ports by converting each of the network physical ports into a plurality of virtual network physical ports.

SYSTEM AND METHOD FOR FACILITATING EFFICIENT PACKET FORWARDING IN A NETWORK INTERFACE CONTROLLER (NIC)

A network interface controller (NIC) capable of efficient packet forwarding is provided. The NIC can be equipped with a host interface, a packet generation logic block, and a forwarding logic block. During operation, the packet generation logic block can obtain, via the host interface, a message from the host device and for a remote device. The packet generation logic block may generate a plurality of packets for the remote device from the message. The forwarding logic block can then send a first subset of packets of the plurality of packets based on ordered delivery. If a first condition is met, the forwarding logic block can send a second subset of packets of the plurality of packets based on unordered delivery. Furthermore, if a second condition is met, the forwarding logic block can send a third subset of packets of the plurality of packets based on ordered delivery.

Systems and methods for designating packets for customized data processing in port-extended architectures

A method for specialized processing of data in a port-extended network comprises receiving, by the control node of the port-extended network, a data frame that includes, at a first field of the data frame, information indicative of an incoming port at which the data frame was received, the first field having been inserted by a satellite node associated with the port. The method also comprises determining that one or more packets of a frame require specialized processing, and replacing the information contained in the first field with information indicative of the specialized processing. The method further comprises replacing information contained in a second field with information indicative of an outgoing port of a second satellite node of the port-extended network. A modified data frame is transmitted onto the port-extended network, the modified data frame that includes the information indicative of the specialized processing in the first field.