Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Oct 2002 17:10:42 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        Sam Leffler <sam@errno.com>
Cc:        freebsd-arch@FreeBSD.ORG, freebsd-net@FreeBSD.ORG
Subject:   Re: CFR: m_tag patch
Message-ID:  <Pine.BSF.4.21.0210071709270.36581-100000@InterJet.elischer.org>
In-Reply-To: <18d301c26e5e$8b5c7a30$52557f42@errno.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Mon, 7 Oct 2002, Sam Leffler wrote:

> > On Mon, 7 Oct 2002, Sam Leffler wrote:
> > >
> > > If you allocate tag id's using your 32-bit time scheme then the fixed
> values
> > > above would never be hit since they are all for impossible times and so
> > > there'd be no conflict.
> >
> > Just make them all IDs in a single "Legacy" API
> >
> 
> Good idea; I see the way out.  Try this:
> 
> struct m_tag {
>         SLIST_ENTRY(m_tag)      m_tag_link;     /* List of packet tags */
>         u_int16_t               m_tag_id;       /* Tag ID */
>         u_int16_t               m_tag_len;      /* Length of data */
>         u_int32_t               m_tag_cookie;  /* Module/ABI */
> };
> 
> Then define the "Legacy ABI" to be zero (or whatever you want).  Then all
> the m_tag_* routines that I specified work only for the Legacy ABI.
> (Whether this is done with shims or whatever doesn't matter.)  This gives me
> the compatiblity I want with openbsd and gives you the functionality you
> need for netgraph.  For new work we can specify users should avoid the
> Legacy ABI.
> 
> Cost is basically 4 bytes per tag and an extra compare when walking the
> tags.  Happy?
> 

definitly.
Each API authout gets to polute his own namespace as much as he
wants.. :-)



>     Sam
> 
> 
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0210071709270.36581-100000>