A
system and method for placement of sharing physical buffer lists in RDMA communication. According to one embodiment, a network adapter
system for use in a computer
system includes a
host processor and
host memory and is capable for use in
network communication in accordance with a direct
data placement (DDP) protocol. The DDP protocol specifies tagged and untagged data movement into a connection-specific application buffer in a contiguous region of
virtual memory space of a corresponding endpoint computer application executing on said
host processor. The DDP protocol specifies the permissibility of memory regions in
host memory and specifies the permissibility of at least one
memory window within a memory region. The memory regions and memory windows have independently definable application access rights, the network adapter system includes adapter memory and a plurality of physical buffer lists in the adapter memory. Each physical buffer
list specifies
physical address locations of
host memory corresponding to one of said memory regions. A plurality of steering tag records are in the adapter memory, each steering tag
record corresponding to a steering tag. Each steering tag
record specifies memory locations and access permissions for one of a memory region and a
memory window. Each physical buffer
list is capable of having a one to many correspondence with steering tag records such that many memory windows may share a single physical buffer
list. According to another embodiment, each steering tag
record includes a pointer to a corresponding physical buffer list.