HomeFreeBSD

cxgbei: Rework parsing of pre-offload PDUs.

Description

cxgbei: Rework parsing of pre-offload PDUs.

sbcut() returns mbufs in reverse order so is not suitable for reading
data from the socket buffer. Instead, check for already-received data
in the receive worker thread before passing offload PDUs up to the
iSCSI layer. This uses soreceive() to read data from the socket and
is also to use M_WAITOK since it now runs from a worker thread instead
of an interrupt thread.

Also, fix decoding of the data segment length for pre-offload PDUs.

Reported by: Jithesh Arakkan @ Chelsio
Fixes: a8c4147edcdc cxgbei: Parse all PDUs received prior to enabling offload mode.
Sponsored by: Chelsio Communications

Details

Provenance
jhbAuthored on Feb 4 2022, 11:38 PM
Parents
rG00134a07898f: fusefs: require FUSE_NO_OPENDIR_SUPPORT for NFS exporting
Branches
Unknown
Tags
Unknown