cvs commit: src/sys/net if_ethersubr.c

Ruslan Ermilov ru at freebsd.org
Mon Feb 14 19:56:00 GMT 2005


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.


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20050214/1ac46f43/attachment.bin


More information about the cvs-src mailing list