[Bug 294831] iflib clamps receive buffer to 4k causing jumbo frames to get dropped
Date: Mon, 27 Apr 2026 19:48:18 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294831
Bug ID: 294831
Summary: iflib clamps receive buffer to 4k causing jumbo frames
to get dropped
Product: Base System
Version: 15.0-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: bugs@FreeBSD.org
Reporter: pingpong7001@tutamail.com
When using vmware workstation and enabling jumbo frames on the vmxnet3 driver,
I appear to be dropping incomming frames with anything larger than an MTU of
4082 bytes. On investigation, it appear that the issue is
dev.vmx.0.iflib.rxq0.rxq_fl1.buf_size gets clamped to 4096 (or 2048) in
https://cgit.freebsd.org/src/tree/sys/net/iflib.c#n2448.
I have a freebsd 14 box running on metal with a intel x550-t2 card, which using
the ix driver which also appears to use iflib, but does not have this issue. I
am wondering if it is something dumb like vmware workstation does not split
those larger frames across receive decriptors natively and the nic does ? I am
not an expert here, just an assumption.
I updated iflib_get_mbuf_size_for to set the receive buffer size depending on
what the MTU is. So with MTU of 9000, the buffer size gets set to 9216.
static uint16_t
iflib_get_mbuf_size_for(unsigned int size)
{
if (size <= MCLBYTES)
return (MCLBYTES);
else if (size <= MJUMPAGESIZE)
return (MJUMPAGESIZE);
else if (size <= MJUM9BYTES)
return (MJUM9BYTES);
else
return (MJUM16BYTES);
}
I am not sure if this is the appropriate fix, or if there is a reason iflib
clamps at 4k but it works for me, and thought this might be valuable to others
if they are also hitting this.
Is this something that you might want to roll into a fix going forward ?
--
You are receiving this mail because:
You are the assignee for the bug.