On Sun, 6 Oct 2002, Sam Leffler wrote:
> http://www.freebsd.org/~sam/mtag.patch
> 
> has changes to -current to replace the "aux mbuf" with a more general
> mechanism borrowed from openbsd.  Rather than dangling mbuf's off a packet
> when auxiliary information needs to be associated with a packet a list of
> variable-size struct m_tag's are kept.  This is better because it:
> 
> 1. Eliminates the use of mbufs as a general-purpose memory allocator.
> 2. Avoids confusing and problematic code (e.g. ipsec stuffs multiple data
> structures into an mbuf and often consults m_len to determine what
> might/should be present).
> 3. Means arbitrary size data can be stored (w/ mbufs you get what fits in a
> fixed-size mbuf or--if it were implemented--in a cluster).
> 4. Removes a recursive dependency that complicates locking in the mbuf code.
> 
> The patch actually contains three sets of changes that are intertwined:
> 
> 1. Remove use of aux mbufs and replace with m_tag's.
> 2. Add an additional parameter to ip_output and ip6_output that was
> previously passed through an aux mbuf.
> 3. Rename luigi's m_tag_id hack #define to avoid name conflict with the
> m_tag definition.
> 
> I've been running something like this patch for ~9 months.  The patch
> actually eliminates more code than it adds and is likely to improve
> performance (haven't measured).  There should be no functional changes after
> this patch is applied.
> 
> Timely feedback is desired as I'd like to commit these changes in time for
> DP2.
> 
>     Sam

I'm not familiar with that code so only a few questions:

1. Is ordering important or is an SLIST sufficient for all cases?
2. Is it possible to attach the aux argument to the mbuf chain instead of
adding it as a new parameter to ip_output?

-Nate


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to