H04L12/935

System and method for performing interpacket gap repair for lossy protocols

A communication device, method, and data transmission system are provided. An illustrative method is disclosed to include at least one data port configured to enable data transmission in compliance with a communication protocol. The communication device is further disclosed to include an Interpacket Gap (IPG) repair circuit configured to detect an IPG interval within a data stream that violates an IPG interval requirement defined by the communication protocol and, in response to detecting the IPG interval that violates the IPG interval requirement, perform an IPG repair on the data stream and bring the IPG interval into compliance with the IPG interval requirement.

Distributed, packet-mediated, packet routing

A network switch holds a routing table and a network topology table so that when a link failure is detected at the network switch, the network switch may independently reroute a packet intended for that failed link using the network topology table. This processing can be performed in the data plane at a speed that can eliminate dropped packets. Intercommunication with a central controller is not required and intercommunication with other network switches may be accomplished through data plane communication by embedding the link failure information in the affected packet.

Managing congestion in a network adapter based on host bus performance

A network adapter includes a host interface and circuitry. The host interface is configured to connect locally between the network adapter and a host via a bus. The circuitry is configured to receive from one or more source nodes, over a communication network to which the network adapter is coupled, multiple packets destined to the host, and temporarily store the received packets in a queue of the network adapter, to send the stored packets from the queue to the host over the bus, to monitor a performance attribute of the bus, and in response to detecting, based at least on the monitored performance attribute, an imminent overfilling state of the queue, send a congestion notification to at least one of the source nodes from which the received packets originated.

Load balancing among network links using an efficient forwarding scheme
11102127 · 2021-08-24 · ·

A network element includes multiple output ports and circuitry. The multiple output ports are configured to transmit packets over multiple respective network links of a communication network. The circuitry is configured to receive from the communication network, via one or more input ports of the network element, packets that are destined for transmission via the multiple output ports, to monitor multiple data-counts, each data-count corresponding to a respective output port, and is indicative of a respective data volume of the packets forwarded for transmission via the respective output port, to select for a given packet, based on the data-counts, an output port among the multiple output ports, and to forward the given packet for transmission via the selected output port.

Providing services by using multiple service planes

Some embodiments provide novel methods for performing services for machines operating in one or more datacenters. For instance, for a group of related guest machines (e.g., a group of tenant machines), some embodiments define two different forwarding planes: (1) a guest forwarding plane and (2) a service forwarding plane. The guest forwarding plane connects to the machines in the group and performs L2 and/or L3 forwarding for these machines. The service forwarding plane (1) connects to the service nodes that perform services on data messages sent to and from these machines, and (2) forwards these data messages to the service nodes. In some embodiments, the guest machines do not connect directly with the service forwarding plane. For instance, in some embodiments, each forwarding plane connects to a machine or service node through a port that receives data messages from, or supplies data messages to, the machine or service node. In such embodiments, the service forwarding plane does not have a port that directly receives data messages from, or supplies data messages to, any guest machine. Instead, in some such embodiments, data associated with a guest machine is routed to a port proxy module executing on the same host computer, and this other module has a service plane port. This port proxy module in some embodiments indirectly can connect more than one guest machine on the same host to the service plane (i.e., can serve as the port proxy module for more than one guest machine on the same host).

Master control plane for infrastructure and application operations

An apparatus in one embodiment comprises a processing platform that includes a plurality of processing devices. The processing platform is configured to implement a master control plane and a plurality of messaging interfaces. Each messaging interface corresponds to one of a plurality of infrastructure controllers residing on an infrastructure under management by the processing platform. The master control plane is configured to communicate with each of the plurality of infrastructure controllers via the corresponding messaging interface. The plurality of infrastructure controllers are each configured to manage a corresponding one of a plurality of infrastructure components of the infrastructure under management. The master control plane is configured to communicate an instruction to a given infrastructure controller of the plurality of infrastructure controllers via the corresponding messaging interface and the given infrastructure controller is configured to modify the corresponding infrastructure component based at least in part on the communicated instruction.

Serverless packet processing service with isolated virtual network integration

A program to be executed to perform a packet processing operation on a packet associated with a resource group, as well as security settings of the resource group, are received. The program is transmitted to a set of fast path nodes which were assigned to the resource group based on the group's metadata. With respect to a particular packet, security operations based on the settings are performed and the program is executed at a fast path node. Based at least partly on the results of the program, a packet routing action corresponding to the received packet is performed.

Modular, flexibly connected switch-port input-output cards

Switches and groups of IO ports may be divided into separate switch modules and IO modules that can be connected by high-speed low-loss management cables in a variety of configurations. Thereafter, the separate modules may be replaced independently of each other. The switch module may recognize, and thereafter ignore, unconnected ports, removing the performance penalty that sometimes arises when fewer than all available ports are connected. The switch module may rapidly adjust to addition, subtraction, and replacement of connected IO modules.

System and method for supporting scalable representation of switch port status in a high performance computing environment

System and method for supporting scalable representation of switch port status in a high performance computing environment. In accordance with an embodiment, a scalable representation of switch port status can be provided. By adding a scalable representation of switch port status at each switch (both physical and virtual)—instead of getting all switch port changes individually, the scalable representation of switch port status can combine a number of ports that can scale by just using a few bits of information for each port's status.

Dynamically reconfiguring data plane of forwarding element to account for power consumption
11102070 · 2021-08-24 · ·

Some embodiments of the invention provide a network forwarding element that can be dynamically reconfigured to adjust its data message processing to stay within a desired operating temperature or power consumption range. In some embodiments, the network forwarding element includes (1) a data-plane forwarding circuit (“data plane”) to process data tuples associated with data messages received by the IC, and (2) a control-plane circuit (“control plane”) for configuring the data plane forwarding circuit. The data plane includes several data processing stages to process the data tuples. The data plane also includes an idle-signal injecting circuit that receives from the control plane configuration data that the control plane generates based on the IC's temperature. Based on the received configuration data, the idle-signal injecting circuit generates idle control signals for the data processing stages. Each stage that receives an idle control signal enters an idle state during which the majority of the components of that stage do not perform any operations, which reduces the power consumed and temperature generated by that stage during its idle state.