cornelisnetworks / opa-psm2

Other
36 stars 29 forks source link

Fix silent data error on FECN-marked TID packet for unaligned receive. #65

Closed BrendanCunningham closed 1 year ago

BrendanCunningham commented 1 year ago

When a TID-receive packet is marked with the FECN bit, PSM2 is responsible for copying the payload to the destination memory rather than the TID hardware.

This TID-FECN path in PSM2 did not account for unaligned receive buffers, buffers whose start address is not a 4B multiple. As a result, the payload would be copied to a location 1-3 bytes off from the correct location.

Fix in this commit accounts for unaligned buffer start and copies data to correct location.

FECN-marking only occurs when OPA Congestion Control Architecture (CCA) is enabled on the fabric. Only OPA users who have explicitly enabled the CCA feature via the FM XML are exposed to this issue.

Bump PSM2 version to 11.2.230 to distinguish libpsm2 with this fix from prior versions.

Fixes cornelisnetworks/opa-psm2#64.

Signed-off-by: Brendan Cunningham bcunningham@cornelisnetworks.com