Date: Fri, 11 Oct 2002 11:12:02 -0700 From: "Sam Leffler" <sam@errno.com> To: <jinmei@isl.rdc.toshiba.co.jp> Cc: "Julian Elischer" <julian@elischer.org>, <freebsd-arch@FreeBSD.ORG>, <freebsd-net@FreeBSD.ORG> Subject: Re: CFR: m_tag patch Message-ID: <080101c27151$b2e92a30$52557f42@errno.com> References: <Pine.BSF.4.21.0210071613260.34884-100000@InterJet.elischer.org> <18d301c26e5e$8b5c7a30$52557f42@errno.com> <y7vd6qhg0vj.wl@ocean.jinmei.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> >>>>> On Mon, 7 Oct 2002 17:06:25 -0700, > >>>>> "Sam Leffler" <sam@errno.com> said: > > >> > 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? > > Sorry for interrupting, but please let me make it sure. Do you intend > to hide the additional member from other modules than the m_tag > internal? I'm afraid a story that (e.g.) some code fragments in the > network layer directly refers to m_tag_cookie, which will break source > level compatibility with other BSDs (when the code fragments are > shared with others). As suz said before, we (KAME) are very much > afraid of this kind of story. > The changes I'm proposing for KAME code make no references to m_tag_cookie. Things should be clear when you have a patch to look at. I'm working on getting that to you. Sam To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?080101c27151$b2e92a30$52557f42>