Patent classifications
H04L49/9063
Network functions virtualization (NFV) backplane on forwarding microchip
Techniques are disclosed for using a forwarding microchip to implement a network functions virtualization (NFV) backplane within a network device. In one example, processing circuitry of a forwarding microchip establishes a respective logical connection between each of a plurality of virtual ports of the forwarding microchip and each of a plurality of virtual ports configured for respective software-implemented virtual network functions (VNFs) executing on the network device. The processing circuitry receives packets via one or more physical ports of the forwarding microchip and forwards, using the logical connections between each of the plurality of virtual ports of the forwarding microchip and each of the plurality of virtual ports configured for the respective software-implemented VNFs, the packets to a Network Interface Controller (NIC) for forwarding to the plurality of virtual ports configured for the respective software-implemented VNFs.
Packet Transmission Using Scheduled Prefetching
A Network-Connected Device (NCD) includes a network interface, a host interface, an NCD memory and an NCD processor. The network interface is configured for communicating over a network. The host interface is configured for communicating with a host. The NCD memory is configured to buffer packet information that originates from the host and pertains to a packet to be transmitted to the network at a specified transmission time. The NCD processor is configured to process the buffered packet information before the specified transmission time, and to transmit the packet to the network at the specified time. Processing of the packet information and transmission of the packet are decoupled from buffering of the packet information.
Data transmission method and data transmission system
A data transmission method for a data transmission system including a host and a peripheral device is disclosed, including: setting at least one identification number to at least one packet stored in the host; transmitting the at least one packet from the host to the peripheral device; allocating the at least one packet to plural temporary blocks of a memory of the peripheral device corresponding to the at least one identification number according to the at least one identification number of the at least one packet. Each of the temporary blocks includes a threshold value, and the threshold value of each of at least two of the temporary blocks are different; and transmitting part of the at least one packet stored in one of the temporary blocks when the one of the temporary blocks reaches the threshold value of the one of the temporary blocks.
AUTOMATED MULTI-FABRIC LINK AGGREGATION SYSTEM
An automated multi-fabric link aggregation system includes leaf switch devices that have leaf switch device downlink ports, that are included in a first network fabric, and that are aggregated to provide a first aggregation fabric. Each leaf switch device generates discovery communications including a first network fabric identifier for the first network fabric, and a first aggregation fabric identifier for the first aggregation fabric. The leaf switch devices then transmit the discovery communications via the leaf switch device downlink ports. I/O modules that have I/O module uplink port are included in a second network fabric and are aggregated to provide a second aggregation fabric. The I/O modules receive the discovery communications via each of the I/O module uplink ports, determine that each received discovery communication includes the first network fabric identifier and the first aggregation fabric identifier and, in response, automatically configure the I/O module uplink ports in a LAG.
METHOD AND TRAFFIC PROCESSING UNIT FOR HANDLING TRAFFIC IN A COMMUNICATION NETWORK
A method and a traffic processing unit (200) for handling traffic in a communication network when the traffic is distributed across a set of traffic processing units. When receiving a packet of a traffic flow distributed to said traffic processing unit, the traffic processing unit (200) assigns a packet class to the received packet, which class can be active or inactive in the traffic processing unit. The traffic processing unit obtains state information of the assigned packet class. If the packet class is detected as active the state information is retrieved from a local storage (200C) in the traffic processing unit, and if the packet class is detected as inactive the state information is fetched from a central storage (204). The traffic processing unit then performs stateful packet processing of the received packet based on the obtained state information.
Packet validation in virtual network interface architecture
Roughly described, a network interface device receiving data packets from a computing device for transmission onto a network, the data packets having a certain characteristic, transmits the packet only if the sending queue has authority to send packets having that characteristic. The data packet characteristics can include transport protocol number, source and destination port numbers, source and destination IP addresses, for example. Authorizations can be programmed into the NIC by a kernel routine upon establishment of the transmit queue, based on the privilege level of the process for which the queue is being established. In this way, a user process can use an untrusted user-level protocol stack to initiate data transmission onto the network, while the NIC protects the remainder of the system or network from certain kinds of compromise.
Flow Control Device and Method
A flow control device includes an analysis unit identifying a flow of a received packet, a plurality of queues temporarily storing packets sorted according to each flow, an allocation information storage unit storing allocation information regarding a queue allocated for each flow, a sorting unit deciding a queue to be a storage destination of the received packet and sorts the packet based on a result identified by the analysis unit and the allocation information, a saved packet holding unit saving a packet belonging to a flow determined to have no allocation information regarding the queue to be allocated by the sorting unit, and a transmission unit transmitting the packet temporarily stored in the plurality of queues and the packet saved in the saved packet holding unit to a processing unit that processes a packet.
GPU remote communication with triggered operations
Methods, devices, and systems for transmitting data over a computer communications network are disclosed. A queue of communications commands can be pre-generated using a central processing unit (CPU) and stored in a device memory of a network interface controller (NIC). Thereafter, if a graphics processing unit (GPU) has data to communicate to a remote GPU, it can store the data in a send buffer, where the location in the buffer is pointed to by a pre-generated command. The GPU can then signal to the interface device that the data is ready, triggering execution of the pre-generated command to send the data.
Hardware acceleration for uploading/downloading databases
A network element includes one or more ports for communicating over a network, a processor and packet processing hardware. The packet processing hardware is configured to transfer packets to and from the ports, and further includes data-transfer circuitry for data transfer with the processor. The processor and the data-transfer circuitry are configured to transfer between one another (i) one or more communication packets for transferal between the ports and the processor and (ii) one or more databases for transferal between the packet processing hardware and the processor, by (i) translating, by the processor, the transferal of both the communication packets and the databases into work elements, and posting the work elements on one or more work queues in a memory of the processor, and (ii) using the data-transfer circuitry, executing the work elements so as to transfer both the communication packets and the databases.
Hardware acceleration for uploading/downloading databases
A network element includes one or more ports for communicating over a network, a processor and packet processing hardware. The packet processing hardware is configured to transfer packets to and from the ports, and further includes data-transfer circuitry for data transfer with the processor. The processor and the data-transfer circuitry are configured to transfer between one another (i) one or more communication packets for transferal between the ports and the processor and (ii) one or more databases for transferal between the packet processing hardware and the processor, by (i) translating, by the processor, the transferal of both the communication packets and the databases into work elements, and posting the work elements on one or more work queues in a memory of the processor, and (ii) using the data-transfer circuitry, executing the work elements so as to transfer both the communication packets and the databases.