Header Data Split

I’ve made a feeble attempt to utilise Header Data Split (HDS) offload on Connect-X 5 adapters, by creating the striding WQ context with a non-zero log2_hds_buf_size value. However, the hardware won’t have it and reports back bad_param error with syndrome 0x6aaebb.

According to an online error syndrome list, this translates to human readable as:

create_rq/rmp: log2_hds_buf_size not supported

Since the Public PRM does not describe HDS offload, I’m curious to whether certain preconditions need to met for this offload to work, or if this is a known restriction in current firmware? I’d also like to know if it’s possible to configure the HDS “level”, that is where the split happens (between L3/L4, L4/L5, …).

The way I’d envision this feature to work is to zero-pad the end of headers up to log2_hds_buf_size, placing the upper layer payload at a fixed offset for any variable-size header length.

Hi Kenneth,

Thank you for posting your question on the Mellanox Community.

We have noticed that you also opened a Mellanox Support case regarding this issue and that we provided you access to the PRM’s of the ConnectX-5

If you need anything, please do not hesitate to open a new support case by sending an email to support@mellanox.com mailto:support@mellanox.com

Thanks and regards,

~Mellanox Technical Support