jumbo frame support in bge(4) for BCM5704 SOLVED

David Newman dnewman at networktest.com
Thu Sep 16 20:39:39 UTC 2010

On 9/15/10 3:17 PM, David Newman wrote:
> On 9/14/10 7:43 PM, Adam Vande More wrote:
>> On Tue, Sep 14, 2010 at 9:19 PM, David Newman <dnewman at networktest.com>wrote:
>>> 8.0-RELEASE amd64, Tyan S2882-D motherboard, Broadcom BCM5704C gigabit
>>> Ethernet transceivers
>>> Thanks in advance for any clues on enabling jumbos on this system.
>> What happens if you boot from a linux live cd and try to enable frames
>> there?
> With Ubuntu 10.04, the system accepts "ifconfig eth1 mtu N" for any
> value of N up to 9000, and shows an MTU of N in response to 'ifconfig'.
> With 8.1-RELEASE (not 8.0 as stated before, sorry), the command
> 'ifconfig bge0 mtu 8000' produces an error:
> ifconfig: ioctl (set mtu): Invalid argument
> Same thing with 'mtu 1500', 'mtu 1400', etc.

I neglected to mention that this system uses link aggregation on the bge
interfaces. Once a lagg interface exists, an MTU cannot be applied to
either the bge or lagg instances.

However, everything works fine if MTUs are applied to bge interfaces
before bringing up the lagg interface:

ifconfig_bge0="mtu 9000 up"
ifconfig_bge1="mtu 9000 up"
ifconfig_lagg0="laggproto lacp laggport bge0 laggport bge1"

# ifconfig lagg0 | grep mtu
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000

One other thing: The maximum value for the BCM5704's mtu is 9000 bytes,
not the more widely used 9216 for jumbo frames. This may reflect a
hardware limit for this controller.

Many thanks to FreeBSD bge(4) maintainer Pyun YongHyeon for contacting
me and spotting my configuration error with the lagg setup.


More information about the freebsd-questions mailing list