A
system and method for placement of RDMA
payload into application memory of a processor
system. Under one embodiment, a network adapter
system is capable of use in
network communication in accordance with a direct
data placement (DDP) protocol, e.g., RDMA. The network adapter system includes adapter memory and a plurality of placement records in the adapter memory. Each placement
record specifies per-connection placement data including at least
network address information and port identifications of source and destination network entities for a corresponding DDP protocol connection. Placement
record identification logic uniquely identifies a placement
record from
network address information and port identification information contained in a DDP message received by the network adapter system. Untagged message
payload placement logic directly places the
payload of the received untagged DDP message into
physical address locations of
host memory corresponding to one of said connection-specific application buffers. Tagged message payload placement logic directly places the payload of the tagged DDP message into
physical address locations of
host memory corresponding to the identifier in the received DDP message. According to one embodiment, the placement records are organized as an array of hash buckets with each element of the array containing a placement record and each placement record containing a specification of a next placement record in the same bucket. The placement record identification logic includes hashing logic to create a hash index pointing to a bucket in the array by hashing a 4-tuple consisting of a
source address, a destination address, a source port, and a destination port contained in the received DDP message.