Patent classifications
H04L49/9042
Real-time on-chip data transfer system
A system and method for real-time data transfer on a system-on-chip (SoC) allows MIPI-CSI (camera serial interface) data received on a first interface to be output on another MIPI-CSI interface without using system memory or delaying the loopback path. The system includes a CSI receiver, a loopback buffer, and a CSI transmitter. The loopback buffer is used for the data transfer between the CSI receiver and the CSI transmitter. The CSI transmitter receives a payload included in a data packet from the CSI receiver by way of the loopback buffer. The CSI receiver communicates a packet header of the data packet to the CSI transmitter. The CSI transmitter reads the payload from the loopback buffer based on the packet header and at least one of a buffer threshold capacity and payload size.
Method and system for improving switching capacity of software-based switches in access networks
This disclosure relates to a method of improving switching capacity in a software-based network switch. The method may involve storing a data packet in a first local buffer, storing one or more header fields of the data packet in a second local buffer. A common identifier may be assigned to the data packet stored in the first local buffer and the one or more header fields stored in the second local buffer. The one or more header fields may be directly sent from the NIC to the CPU for the data packet processing. At least one header field of the one or more header fields may be modified by the CPU. Further, the one or more header fields may be overwritten with the at least one modified header field in the data packet stored in the first local buffer of the NIC based on the common identifier.
Deterministic and efficient message packet management
Methods, devices, and systems for facilitation of deterministic management of a plurality of electronic message packets communicated to an application via a network from a plurality of message sources. The facilitation involves an electronic message packet from the network, determining data indicative of order the electronic message packet was received relative to previously received electronic message packets, and providing the order to the application.
Switch and data accessing method thereof
A data accessing method of a switch for transmitting data packets between a first source node and a first target node and between a second source node and a second target node includes: transmitting a data packet to the switch via at least one of the first communication link and the third communication link and configuring the control unit to store information contained in the data packet into the storage unit; and retrieving the information contained in the data packet from the storage unit via at least one of the second communication link and the fourth communication link. The first source node, the second source node, the first target node and the second target node share the same storage blocks.
GENERATION OF DESCRIPTIVE DATA FOR PACKET FIELDS
Some embodiments provide a method for a parser of a processing pipeline. The method receives a packet for processing by a set of match-action stages of the processing pipeline. The method stores packet header field (PHF) values from a first set of PHFs of the packet in a set of data containers. The first set of PHFs are for use by the match-action stages. For a second set of PHFs not used by the match-action stages, the method generates descriptive data that identifies locations of the PHFs of the second set within the packet. The method sends (i) the set of data containers to the match-action stages and (ii) the packet data and the generated descriptive data outside of the match-action stages to a deparser that uses the packet data, generated descriptive data, and the set of data containers as modified by the match-action stages to reconstruct a modified packet.
METHOD AND SYSTEM FOR IMPROVING SWITCHING CAPACITY OF SOFTWARE-BASED SWITCHES IN ACCESS NETWORKS
This disclosure relates to a method of improving switching capacity in a software-based network switch. The method may involve storing a data packet in a first local buffer, storing one or more header fields of the data packet in a second local buffer. A common identifier may be assigned to the data packet stored in the first local buffer and the one or more header fields stored in the second local buffer. The one or more header fields may be directly sent from the NIC to the CPU for the data packet processing. At least one header field of the one or more header fields may be modified by the CPU. Further, the one or more header fields may be overwritten with the at least one modified header field in the data packet stored in the first local buffer of the NIC based on the common identifier.
METADATA BASED EFFICIENT PACKET PROCESSING
A method and device are presented for decreasing processing cycles spent forwarding packets of a communication from receive queues to at least one transmit queue of a network interface controller. When received, packets are placed into a receive queue based on property(ies) of a leading packet. Buffer metadata including transmit information is associated with each communication. Processor circuitry transfers the packets from each of the receive queues to a transmit queue and the buffer metadata is used to determine how to transmit the packet and how to process the packet before transmission.
Forwarding element data plane with computing parameter distributor
Some embodiments provide a network forwarding element with a data-plane forwarding circuit that has a parameter collecting circuit to store and distribute parameter values computed by several machines in a network. In some embodiments, the machines perform distributed computing operations, and the parameter values that compute are parameter values associated with the distributed computing operations. The parameter collecting circuit of the data-plane forwarding circuit (data plane) in some embodiments (1) stores a set of parameter values computed and sent by a first set of machines, and (2) distributes the collected parameter values to a second set of machines once it has collected the set of parameter values from all the machines in the first set. The first and second sets of machines are the same set of machines in some embodiments, while they are different sets of machines (e.g., one set has at least one machine that is not in the other set) in other embodiments. In some embodiments, the parameter collecting circuit performs computations on the parameter values that it collects and distributes the result of the computations once it has processed all the parameter values distributed by the first set of machines. The computations are aggregating operations (e.g., adding, averaging, etc.) that combine corresponding subset of parameter values distributed by the first set of machines.
CACHING OF SERVICE DECISIONS
Some embodiments provide a method for processing a packet received by a managed forwarding element. The method performs a series of packet classification operations based on header values of the received packet. The packet classifications operations determine a next destination of the received packet. When the series of packet classification operations specifies to send the packet to a network service that performs payload transformations on the packet, the method (1) assigns a service operation identifier to the packet that identifies the service operations for the network service to perform on the packet, (2) sends the packet to the network service with the service operation identifier, and (3) stores a cache entry for processing subsequent packets without the series of packet classification operations. The cache entry includes the assigned service operation identifier. The network service uses the assigned service operation identifier to process packets without performing its own classification operations.
Configurable forwarding element deparser
Some embodiments provide a method for a hardware forwarding element deparser. The method receives, from a match-action pipeline, (i) packet header field values stored in a set of data containers and (ii) a set of data indicating which packet header fields, of multiple possible packet header fields, to include in a packet constructed from the packet header field values. The method uses the received set of data and a list of data container identifiers for multiple possible packet header fields to generate an ordered list of references to data containers of the set of data containers. Based on the ordered list, the method constructs the packet using the packet header field values stored in the referenced data containers.