Date: Mon, 14 Feb 2005 12:06:31 -0800 From: Sam Leffler <sam@errno.com> To: Ruslan Ermilov <ru@freebsd.org> Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/net if_ethersubr.c Message-ID: <421104C7.4070709@errno.com> In-Reply-To: <20050214195558.GD69635@ip.net.ua> References: <200502140829.j1E8TgDs086634@repoman.freebsd.org> <4210D210.3080700@errno.com> <20050214181431.GA69635@ip.net.ua> <4210F849.8060005@errno.com> <20050214195558.GD69635@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
Ruslan Ermilov wrote: > On Mon, Feb 14, 2005 at 11:13:13AM -0800, Sam Leffler wrote: > >>>>This also has the potential to noticeably >>>>affect performance so I think a better solution is needed. >>> >>>Here are my thoughts. On a typical input path, there will be >>>either one or zero mtags, one if driver provided us with the >>>VLAN mtag, so effectively we replaced "ifp->if_nvlans" with >>>"m_tag_first(m) != NULL", and this doesn't look like a huge >>>performance downgrade to me, if at all. >> >>The intent was/is that if_nvlans be the definitive check for whether or >>not one should inspect the tag chain for vlan tags. This effectively >>renders that assumption invalid. I think it would better to discard >>these frames in the driver rather than allocate a tag, pass it up, then >>discard it in ether_demux. I think you could encapsulate the check in >>VLAN_INPUT_TAG. >> > > I said this before: vlan(4) is not the only consumer of VLAN > frames in FreeBSD. VLAN frames are also accepted by ng_vlan(4), > so using the vlan(4)-specific if_nvlans to decide whether we > should accept VLAN frames (in the driver) just isn't appropriate. And when you said this before my reply was: don't penalize non-netgraph use of the system. If netgraph truly needs to violate this underlying assumption of the vlan code then please do it with an ifdef. Otherwise let's find a better solution. And if that's not possible then we should rethink having if_nvlans at all as this change renders it meaningless. Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?421104C7.4070709>