Set up an aggregation buffer ring and configure placement mode so data
authorjmatthew <jmatthew@openbsd.org>
Thu, 30 Aug 2018 11:18:21 +0000 (11:18 +0000)
committerjmatthew <jmatthew@openbsd.org>
Thu, 30 Aug 2018 11:18:21 +0000 (11:18 +0000)
commitc4f53494c4e4d874c7674c7d57e5b724c31a85e3
tree1c64f5ebf9f7e035d6d0c4c32701d7ebeaada2dd
parent6605610587d459c5836dcb1cbb325f3212cf8f17
Set up an aggregation buffer ring and configure placement mode so data
that doesn't fit in the rx buffer goes into an aggregation buffer,
allowing jumbo frames to be received.  Using 8k aggregation buffers
means we'll only ever need one per packet.

When receiving jumbos, sometimes we get an interrupt before all three
of the completion events are ready, in which case we should not consume
the events that are ready.  Expanding the completion ring makes this
happen less frequently, so allocate four cp ring pages instead of one.
sys/dev/pci/if_bnxt.c