HomeFreeBSD

nvmf_tcp: Fully honor kern.nvmf.tcp.max_transmit_data for C2H_DATA PDUs

Description

nvmf_tcp: Fully honor kern.nvmf.tcp.max_transmit_data for C2H_DATA PDUs

The previous version of tcp_send_controller_data avoided sending a
chain of multiple mbufs that exceeded the limit, but if an individual
mbuf was larger than the limit it was sent as a single, over-sized
PDU. Fix by using m_split() to split individual mbufs larger than the
limit.

Note that this is not a protocol error, per se, as there is no limit
on C2H_DATA PDU lengths (unlike the MAXH2CDATA parameter). This fix
just honors the administrative limit more faithfully. This case is
also very unlikely with the default limit of 256k.

Sponsored by: Chelsio Communications

Details

Provenance
jhbAuthored on Sep 5 2024, 9:14 PM
Parents
rG157802238b5a: Add UPDATING note about running make delete-old after libc++ 18 upgrade
Branches
Unknown
Tags
Unknown