From: Vlad Yasevich <vyasevic@redhat.com>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: mst@redhat.com, netdev@vger.kernel.org, stephen@redhat.com,
bridge@lists.linux-foundation.org, shmulik.ladkani@gmail.com,
davem@davemloft.net
Subject: Re: [Bridge] [PATCH net-next v5 01/14] vlan: wrap hw-acceleration calls in separate functions.
Date: Fri, 11 Jan 2013 18:53:45 -0000 [thread overview]
Message-ID: <50F05FB3.4000909@redhat.com> (raw)
In-Reply-To: <20130111102318.579abe94@nehalam.linuxnetplumber.net>
On 01/11/2013 01:23 PM, Stephen Hemminger wrote:
> On Fri, 11 Jan 2013 12:41:48 -0500
> Vlad Yasevich <vyasevic@redhat.com> wrote:
>
>> On 01/11/2013 12:20 PM, Stephen Hemminger wrote:
>>> What I think is the least intrusive and allows for maximum flexibility
>>> is having the VLAN bridge filtering depend on VLAN support (CONFIG_VLAN_8021Q).
>>> There already is drivers that depend on that value to enable filtering.
>>>
>>
>> The only thing that I see depending on CONFIG_VLAN_8021Q is
>> CONFIG_VLAN_8021Q_GVRP which is part of the 8021Q support.
>> There are currently no other drivers depending on 8021Q functionality
>> and vlan filtering in drivers doesn't depend on 8021Q support in
>> the kernel.
>>
>> I admit that I've thought of having a dependency on 8021Q as it would
>> have allowed me to re-use a bit more code, but decided that bridge
>> should be able to stand on its own in this regard. 8021Q is not
>> necessary to turn on VLAN accelerated filtering on the nics as anyone
>> can do it through the ndo_vlan_rx_add_vid() call.
>>
>> The reason for this patch was to make the nic vlan filter code reusable
>> and address Jiri Pirko's comment in the V2 series.
>> (http://marc.info/?l=linux-netdev&m=135590565719164&w=2). This way,
>> bridge wouldn't need to make direct ndo_ calls and all call sights will
>> be consistent.
>>
>>> And make the support of VLAN filtering in the bridge conditional like
>>> IGMP snooping is optional
>>
>> I could certainly make the VLAN filtering conditional, but I am not sure
>> what it would buy us other then a lot of ifdefs.
>>
>> Thanks
>> -vlad
>>
>>>
>>> --- a/net/bridge/Kconfig
>>> +++ b/net/bridge/Kconfig
>>> @@ -46,3 +46,17 @@ config BRIDGE_IGMP_SNOOPING
>>> Say N to exclude this support and reduce the binary size.
>>>
>>> If unsure, say Y.
>>> +
>>> +config BRIDGE_VLAN_FILTERING
>>> + bool "VLAN filtering"
>>> + depends on BRIDGE
>>> + depends on VLAN_8021Q
>>> + default n
>>> + ---help---
>>> + If you say Y here, then the Ethernet bridge will be able to
>>> + selectively filter traffic based on VLAN tag.
>>> +
>>> + Say N to exclude this support and reduce the binary size.
>>> +
>>> + If unsure, say Y.
>>>
>>
>
> Doing the following shows several drivers that still depend on VLAN_8021Q being
> enabled to do VLAN tagging.
> $ git grep -l CONFIG_VLAN_8021Q
> ethernet/3com/3c59x.c
> ethernet/adaptec/starfire.c
> ethernet/amd/amd8111e.c
> ethernet/broadcom/cnic.c
> ethernet/broadcom/tg3.c
> ethernet/dlink/sundance.c
> ethernet/natsemi/ns83820.c
> ethernet/sis/sis900.c
> ethernet/sis/sis900.h
> ethernet/stmicro/stmmac/common.h
OK. You've convinced me. I can make my code depend on 8021Q and move
these functions into vlan module.
I'll update the series with these changes.
-vlad
WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevic@redhat.com>
To: Stephen Hemminger <shemminger@vyatta.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, stephen@redhat.com,
bridge@lists.linux-foundation.org, shmulik.ladkani@gmail.com,
mst@redhat.com
Subject: Re: [PATCH net-next v5 01/14] vlan: wrap hw-acceleration calls in separate functions.
Date: Fri, 11 Jan 2013 13:53:39 -0500 [thread overview]
Message-ID: <50F05FB3.4000909@redhat.com> (raw)
In-Reply-To: <20130111102318.579abe94@nehalam.linuxnetplumber.net>
On 01/11/2013 01:23 PM, Stephen Hemminger wrote:
> On Fri, 11 Jan 2013 12:41:48 -0500
> Vlad Yasevich <vyasevic@redhat.com> wrote:
>
>> On 01/11/2013 12:20 PM, Stephen Hemminger wrote:
>>> What I think is the least intrusive and allows for maximum flexibility
>>> is having the VLAN bridge filtering depend on VLAN support (CONFIG_VLAN_8021Q).
>>> There already is drivers that depend on that value to enable filtering.
>>>
>>
>> The only thing that I see depending on CONFIG_VLAN_8021Q is
>> CONFIG_VLAN_8021Q_GVRP which is part of the 8021Q support.
>> There are currently no other drivers depending on 8021Q functionality
>> and vlan filtering in drivers doesn't depend on 8021Q support in
>> the kernel.
>>
>> I admit that I've thought of having a dependency on 8021Q as it would
>> have allowed me to re-use a bit more code, but decided that bridge
>> should be able to stand on its own in this regard. 8021Q is not
>> necessary to turn on VLAN accelerated filtering on the nics as anyone
>> can do it through the ndo_vlan_rx_add_vid() call.
>>
>> The reason for this patch was to make the nic vlan filter code reusable
>> and address Jiri Pirko's comment in the V2 series.
>> (http://marc.info/?l=linux-netdev&m=135590565719164&w=2). This way,
>> bridge wouldn't need to make direct ndo_ calls and all call sights will
>> be consistent.
>>
>>> And make the support of VLAN filtering in the bridge conditional like
>>> IGMP snooping is optional
>>
>> I could certainly make the VLAN filtering conditional, but I am not sure
>> what it would buy us other then a lot of ifdefs.
>>
>> Thanks
>> -vlad
>>
>>>
>>> --- a/net/bridge/Kconfig
>>> +++ b/net/bridge/Kconfig
>>> @@ -46,3 +46,17 @@ config BRIDGE_IGMP_SNOOPING
>>> Say N to exclude this support and reduce the binary size.
>>>
>>> If unsure, say Y.
>>> +
>>> +config BRIDGE_VLAN_FILTERING
>>> + bool "VLAN filtering"
>>> + depends on BRIDGE
>>> + depends on VLAN_8021Q
>>> + default n
>>> + ---help---
>>> + If you say Y here, then the Ethernet bridge will be able to
>>> + selectively filter traffic based on VLAN tag.
>>> +
>>> + Say N to exclude this support and reduce the binary size.
>>> +
>>> + If unsure, say Y.
>>>
>>
>
> Doing the following shows several drivers that still depend on VLAN_8021Q being
> enabled to do VLAN tagging.
> $ git grep -l CONFIG_VLAN_8021Q
> ethernet/3com/3c59x.c
> ethernet/adaptec/starfire.c
> ethernet/amd/amd8111e.c
> ethernet/broadcom/cnic.c
> ethernet/broadcom/tg3.c
> ethernet/dlink/sundance.c
> ethernet/natsemi/ns83820.c
> ethernet/sis/sis900.c
> ethernet/sis/sis900.h
> ethernet/stmicro/stmmac/common.h
OK. You've convinced me. I can make my code depend on 8021Q and move
these functions into vlan module.
I'll update the series with these changes.
-vlad
next prev parent reply other threads:[~2013-01-11 18:53 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-09 17:17 [PATCH net-next V5 00/14] Add basic VLAN support to bridges Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 01/14] vlan: wrap hw-acceleration calls in separate functions Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-10 18:25 ` Stephen Hemminger
2013-01-10 18:25 ` Stephen Hemminger
2013-01-10 18:41 ` Vlad Yasevich
2013-01-10 18:42 ` [Bridge] " Vlad Yasevich
2013-01-10 22:07 ` Stephen Hemminger
2013-01-10 22:07 ` Stephen Hemminger
2013-01-11 1:08 ` Vlad Yasevich
2013-01-11 1:08 ` [Bridge] " Vlad Yasevich
2013-01-11 17:20 ` Stephen Hemminger
2013-01-11 17:20 ` Stephen Hemminger
2013-01-11 17:41 ` Vlad Yasevich
2013-01-11 17:41 ` [Bridge] " Vlad Yasevich
2013-01-11 18:23 ` Stephen Hemminger
2013-01-11 18:23 ` Stephen Hemminger
2013-01-11 18:53 ` Vlad Yasevich [this message]
2013-01-11 18:53 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 02/14] bridge: Add vlan filtering infrastructure Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-10 18:36 ` Stephen Hemminger
2013-01-10 18:36 ` Stephen Hemminger
2013-01-10 19:01 ` Vlad Yasevich
2013-01-10 19:01 ` [Bridge] " Vlad Yasevich
2013-01-10 19:23 ` Vlad Yasevich
2013-01-10 19:23 ` [Bridge] " Vlad Yasevich
2013-01-10 22:10 ` Stephen Hemminger
2013-01-10 22:10 ` Stephen Hemminger
2013-01-11 1:14 ` Vlad Yasevich
2013-01-11 1:14 ` [Bridge] " Vlad Yasevich
2013-01-11 13:53 ` Shmulik Ladkani
2013-01-11 13:54 ` [Bridge] " Shmulik Ladkani
2013-01-11 15:33 ` Vlad Yasevich
2013-01-11 15:33 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 03/14] bridge: Validate that vlan is permitted on ingress Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 04/14] bridge: Verify that a vlan is allowed to egress on give port Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 05/14] bridge: Cache vlan in the cb for faster egress lookup Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 06/14] bridge: Add vlan to unicast fdb entries Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 07/14] bridge: Add vlan id to multicast groups Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 08/14] bridge: Add netlink interface to configure vlans on bridge ports Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 09/14] bridge: Add vlan support to static neighbors Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 10/14] bridge: Add the ability to configure pvid Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH 10/14] bridge: Add the ability to pvid Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:24 ` Vlad Yasevich
2013-01-09 17:24 ` [Bridge] " Vlad Yasevich
2013-01-09 17:17 ` [PATCH net-next v5 11/14] bridge: API to configure egress policy Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:18 ` [PATCH net-next v5 12/14] bridge: Implement vlan ingress/egress policy Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:18 ` [PATCH net-next v5 13/14] bridge: Dump vlan information from a bridge port Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
2013-01-09 17:18 ` [PATCH net-next v5 14/14] bridge: Add vlan support for local fdb entries Vlad Yasevich
2013-01-09 17:18 ` [Bridge] " Vlad Yasevich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50F05FB3.4000909@redhat.com \
--to=vyasevic@redhat.com \
--cc=bridge@lists.linux-foundation.org \
--cc=davem@davemloft.net \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=shemminger@vyatta.com \
--cc=shmulik.ladkani@gmail.com \
--cc=stephen@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.