Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Sep 2010 23:32:37 -0700
From:      Julian Elischer <julian@freebsd.org>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        FreeBSD Net <net@freebsd.org>
Subject:   Re: mbuf changes
Message-ID:  <4C9EE905.5090701@freebsd.org>
In-Reply-To: <4C9DB0C3.5010601@freebsd.org>
References:  <4C9DA26D.7000309@freebsd.org> <4C9DB0C3.5010601@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
  On 9/25/10 1:20 AM, Andre Oppermann wrote:
> On 25.09.2010 09:19, Julian Elischer wrote:
>> over the last few years there has been a bit of talk about some 
>> changes people want to see in mbufs
>> for 9.x
>> extra fields, changes in the way things are done, etc.
>>
>> If you are one of these people, pipe up now..
>>
>> to get the ball rolling..
>>
>> * Add a field for the current FIB.. currently this is 4 bits stolen 
>> from the flags.
>> what would be a good width: 8,12,16,24,32 bits?
>> this would allow setfib to use numbers greater than 16 (the current 
>> max)
>
> 16 bits for 65535 FIB's should be sufficient.  More than that seems 
> really
> excessive.
>
>> * Preallocating some room for some number of tags before we start 
>> allocating
>> (expensively) new ones.
>
> Within the mbuf?  Or at external and attached mbuf allocation time?  
> Tags
> are variable width and such not really suitable for pre-allocation.

yes possibly within..  thre could be for example a reaserver 20 byte 
field and if it
doesn't fit in that we go to expensive tags.
I'm just waving my arms here.
>
>> * dynamically working out what the front padding size should be.. 
>> per session.. i.e.
>> when a packet is sent out and needs to be adjusted to add more 
>> headers, the originating
>> socket should be notified, or maybe the route should have this 
>> information...
>> so that future packets can start out with enough head room.
>> (this is not strictly to do with mbufs but might need some added 
>> field to point to the structure
>> that needs to be
>> updated.
>
> We already have "max_linkhdr" that specifies how much space is left
> for prepends at the start of each packet.  The link protocols set
> this and also IPSec adds itself in there if enabled.  If you have
> other encapsulations you should make them add in there as well.

this doesn't take into account tunneling and encapsulation.
we could do a lot better than this.
especially on a per-route basis.
if the first mbuf in a session had a pointer to the relevent rtentry,
then as it is processed that could be updated..

just an idea.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C9EE905.5090701>