Patent ID: 7609636

Claim:
A method of flow controlling InfiniBand receive traffic, comprising: maintaining a single memory structure for queuing InfiniBand traffic received via multiple virtual lanes and multiple queue pairs; identifying a first packet payload received via a first virtual lane and a first queue pair; determining whether the first payload can be stored in the memory structure without exceeding a portion of the memory structure allocated to the first virtual lane; determining whether the first payload can be stored in the memory structure without exceeding a portion of the memory structure allocated to the first queue pair; if storing the first payload in the memory structure would exceed said portion of the memory structure allocated to the first queue pair, determining whether the first queue pair is enabled to use a shared portion of the memory structure to store payloads of packets received via the first queue pair; and maintaining a second memory configured to store, for each of the multiple queue pairs that is active, one or more parameters associated with operation of said queue pair, wherein said parameters include: a maximum number of message credits advertisable by said queue pair; a maximum number of memory structure buffers dedicated to storing payloads of packets received via said queue pair; an indicator configured to indicate whether said queue pair is enabled to use a set of shared memory structure buffers; and a number of shared memory structure buffers in said set of shared memory structure buffers, wherein said shared memory structure buffers are available for use by said queue pair to store payloads of packets received via said queue pair if: said queue pair has used said maximum number of memory structure buffers; and said indicator indicates that said queue pair is enabled to use said set of shared memory structure buffers; and a maximum number of message credits advertisable by said queue pair when said queue pair starts using said shared memory structure buffers.