[Bug 194314] [ixgbe] driver makes some dangerous assumptions with struct mbuf sizing with IXGBE_RX_COPY_LEN

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Oct 20 18:13:38 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194314

--- Comment #12 from Eric Joyner <ricera10 at gmail.com> ---
(In reply to Garrett Cooper from comment #10)
> (In reply to Eric Joyner from comment #8)
> > So it sounds like we may just need to change IXGBE_RX_COPY_LEN from a fixed
> > value of 160 to something that's calculated based on the length of struct
> > m_hdr and struct m_pkthdr combined.
> > 
> > I think they got 160 by adding together the size of the two header structs
> > (88 in FreeBSD amd64), adding some number (8) to make that size divisible by
> > 32 (96 % 32 == 0), and then subtracted that from MSIZE (256) to get
> > IXGBE_RX_COPY_LEN (160), while keeping the padding added as
> > IXGBE_RX_COPY_ALIGN.
> 
> A couple questions then:
> 
> - What architectures is this driver supported on?
> - Is this optimization only valid for amd64?
> - Why 32?

- At least i386 and amd64, but it should theoretically work on anything with a
PCI-E slot
- This optimization specifically was contributed by scottl/luigi, looking at
the commit logs. You should ask either of those two for details.
- Doesn't the comment in the code you posted answer that?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-net mailing list