max_linkhdr defaults to 16, too short ?

Sam Leffler sam at errno.com
Mon May 10 19:35:44 UTC 2010


On Apr 20, 2010, at 5:55 PM, Luigi Rizzo wrote:

> On Tue, Apr 20, 2010 at 07:28:45PM +0200, Luigi Rizzo wrote:
>> just noticed that sys/kern/uipc_domain.c still sets max_linkhdr=16
>> as a default.
>> The value is often used to reserve head space in mbufs for
>> the MAC header. As such, 16 is too short for systems that make
>> use of vlans, and the effect might be that we would need
>> additional mbuf entries or at least move stuff down
>> as the vlan tag is added.
>>
>> Any objection to bumping the default to 20 ?
>
> forgot to mention:
>
> max_linkhdr is available as a sysctl, kern.max_linkhdr , but other
> than that, there is no code in sys/ that sets the value, so systems
> are stuck at 16 unless users override the default.

We need a coherent way to handle max_linkhdr.  I hacked it in net80211  
to insure bridged 802.11 frames have sufficient contiguous space in  
the mbufs but never did something like define an api and generate  
events/callbacks on changes.  Last I looked doing this right was non- 
trivial.

	Sam



More information about the freebsd-net mailing list