The maximum number of ring slots a tx packet can use is 32, which is
authorjmatthew <jmatthew@openbsd.org>
Mon, 15 Jan 2024 08:56:45 +0000 (08:56 +0000)
committerjmatthew <jmatthew@openbsd.org>
Mon, 15 Jan 2024 08:56:45 +0000 (08:56 +0000)
commit8490bd922a4d1301b10674d08d2ac19bc6ee4564
treec0876dbf521a705a0008a918a14003e06f54720f
parent3898e3532ec81c4dcf50767a9afe02deb57557ea
The maximum number of ring slots a tx packet can use is 32, which is
indicated by writing 0 to the 5 bit 'BD count' field in the first slot.
Accordingly, mask the value we're writing there.

Each packet uses one slot for offload information and then one per DMA
segment, which means the maximum number of DMA segments must be 31 rather
than 32.  Trying to send a packet using 33 slots makes the nic firmware
very upset.

ok dlg@
sys/dev/pci/if_bnxt.c