Skip to content
  • Eric Joyner's avatar
    iflib: expose the Rx mbuf buffer size to drivers · 1b9d9394
    Eric Joyner authored
    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
    1b9d9394