US 11,995,004 B2
Methods and systems for using a packet processing pipeline to accelerate InfiniBand administrative operations
Harinadh Nagulapalli, San Jose, CA (US); Balakrishnan Raman, Fremont, CA (US); Murty Subba Rama Chandra Kotha, San Jose, CA (US); Nitish Bhat, San Jose, CA (US); Allen Hubbe, Durham, NC (US); and Andrew Boyer, Durham, NC (US)
Assigned to PENSANDO SYSTEMS INC., Milpitas, CA (US)
Filed by Pensando Systems Inc., Milpitas, CA (US)
Filed on Dec. 30, 2020, as Appl. No. 17/138,561.
Prior Publication US 2022/0206957 A1, Jun. 30, 2022
Int. Cl. H04L 49/90 (2022.01); G06F 12/1081 (2016.01); G06F 15/173 (2006.01)
CPC G06F 12/1081 (2013.01) [G06F 15/17331 (2013.01); H04L 49/90 (2013.01); G06F 2212/657 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
configuring a packet processing pipeline circuit that includes a plurality of match-action units in a match-action pipeline to create, in a pipeline local memory, a remote DMA (RDMA) administrative data structure for an InfiniBand channel adapter;
configuring a DMA output stage of the packet processing pipeline circuit to copy the RDMA administrative data structure from the pipeline local memory into a memory; and
configuring the match-action pipeline for processing a plurality of network traffic flows that include I/O and InfiniBand traffic flows,
wherein:
the packet processing pipeline circuit is implemented in hardware;
the DMA output stage accesses the memory via a memory interface that is implemented in the hardware;
configuring the packet processing pipeline circuit to create the RDMA administrative data structure includes configuring at least one of the match-action units in the match-action pipeline to create the RDMA administrative data structure in the pipeline local memory; and
wherein the processing of the network traffic flows includes receiving a packet of a network flow and 1) processing the packet by performing an action indicated by a flow table entry for the network flow in response to finding the flow table entry for the network flow, or 2) processing the packet by performing a default action in response to finding no flow table entry for the network flow.