freebsd-skq/sys/dev/ixgbe
erj 66cfcbc300 iflib: expose the Rx mbuf buffer size to drivers
From Jake:
iflib_fl_setup calculates a suitable buffer size for the Rx mbufs based
on the isc_max_frame_size value that drivers setup. This calculation is
repeated by drivers when programming their hardware with the size of
each Rx buffer.

This can lead to a mismatch where the iflib mbuf size is different from
the expected size of the buffer as programmed by the hardware. This can
lead to unexpected results.

If iflib ever wants to support mbuf sizes larger than one page, every
driver must be updated to account for the new possible buffer sizes.

Fix this by calculating the mbuf size prior to calling IFDI_INIT, and
adding the iflib_get_rx_mbuf_sz function which will expose this value to
drivers, so that they do not repeat the same calculation.

Submitted by:	Jacob Keller <jacob.e.keller@intel.com>
Reviewed by:	shurd@, erj@
MFC after:	1 week
Sponsored by:	Intel Corporation
Differential Revision:	https://reviews.freebsd.org/D19489
2019-03-19 17:59:56 +00:00
..
if_bypass.c
if_fdir.c
if_ix.c iflib: expose the Rx mbuf buffer size to drivers 2019-03-19 17:59:56 +00:00
if_ixv.c iflib: expose the Rx mbuf buffer size to drivers 2019-03-19 17:59:56 +00:00
if_sriov.c
ix_txrx.c ix(4),ixv(4): Fix TSO offloads when TXCSUM is disabled 2019-01-31 21:53:03 +00:00
ixgbe_82598.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_82598.h
ixgbe_82599.c ixgbe: this statement may fall through warnings with gcc 2019-01-19 20:45:41 +00:00
ixgbe_82599.h
ixgbe_api.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_api.h
ixgbe_bypass.h
ixgbe_common.c ixgbe: this statement may fall through warnings with gcc 2019-01-19 20:45:41 +00:00
ixgbe_common.h ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_dcb_82598.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_dcb_82599.h
ixgbe_dcb.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_dcb.h
ixgbe_fdir.h
ixgbe_features.h
ixgbe_mbx.c
ixgbe_mbx.h
ixgbe_osdep.c
ixgbe_osdep.h
ixgbe_phy.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_phy.h
ixgbe_rss.h
ixgbe_sriov.h
ixgbe_type.h ix(4): Run {mod,msf,mbx,fdir,phy}_task in if_update_admin_status 2019-01-31 21:44:33 +00:00
ixgbe_vf.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_vf.h
ixgbe_x540.c ixgbe(4): Update shared code, add support for X552 1G, fix bug 2018-03-19 20:55:05 +00:00
ixgbe_x540.h
ixgbe_x550.c netmap and iflib drivers, silence unused var warnings 2018-05-19 05:57:26 +00:00
ixgbe_x550.h
ixgbe.h ix(4): Run {mod,msf,mbx,fdir,phy}_task in if_update_admin_status 2019-01-31 21:44:33 +00:00