tap(4) SIOCSIFMTU patch
Bruce Simpson
bms at incunabulum.net
Fri Mar 13 18:06:28 PDT 2009
Sean C. Farley wrote:
> ...
> Exhausting the jumbo cluster pool refers to kern.ipc.nmbjumbo[p|9|16],
> yes? em(4) has an upper limit of 16114 for MTU. I could limit the
> MTU to TAPMRU (16384) which is the limit for a write to the driver
> anyway.
Just waiting for my VFS cache to spool up after a fresh boot with the
KScope goggles on...
Sounds realistic. I seem to recall that whilst IPv6 will allow for truly
massive datagrams, the KAME implementation didn't support up to the full
size.
I can't believe that's going to be a real issue, though. Even lo(4)
won't bump its MTU up to 128KB unless told to (LARGE_LOMTU def).
It's hardcoded for lo(4).
In this case it probably isn't anyting to worry about -- it's pilot
error, for now, if the MTU is set too high on an ifnet.
You just need to keep an eye out for it, because tap(4) relies utterly
on m_uiotombuf() on the U->K path, and it will try to allocate jumbo
clusters upfront first thing.
>
>> I think ifconfig already performs such a check but you might want to
>> double check.
>
> I noticed that ifconfig can report JUMBO_MTU, but few drivers actually
> flag it. Should I set this for tap?
I don't think it's going to be a problem. lo(4) just passes the MTU down
to the ifnet struct as your patch does.
Go ahead and commit! And thanks!
cheers,
BMS
More information about the freebsd-net
mailing list