Skip site navigation (1)Skip section navigation (2)
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>