Subject: Re: [PATCH net-next V6 02/14] bridge: Add vlan filtering infrastructure

From: Vlad Yasevich <[email-masked]>
Date: Tue, 22 Jan 2013 12:32:45 -0500

On 01/22/2013 12:17 PM, Stephen Hemminger wrote:
> I appreciate all the work on this. And at this point it may seem like it
> will never get in mainline. As far as I am concerned these are the key
> features:
>
>    1. VLAN filtering on both ingress and egress using same table

Can you elaborate a bit more what you mean by this?

>    2. O(1) based bit map table
>    3. netlink based configuration and dump (per port). Okay to just provide the
>      bitmap
>    4. kernel feature should be optional
>    5. default behavior has to be to allow all VLAN's for backwards compatibility.

I think with the exception of 2, all of the above requirements are met 
by the current code.  As for #2, a hash approach provides most of the 
performance gain and allows for extensibility.
I am currently removing the list from all the hot paths, and we could 
make the hash wider if you want to make each hlist shorter.

>
> Extra credit for:
>    * cleaning up kernel VLAN API's. Eliminate vlan_buggy() and any/all cases
>      where error is not detected until first packet

I don't think we can truly do that since non-vlans frames should work on 
vlan_buggy interfaces.

I could also remove all the HW filtering calls out of the code since 
they are not truly needed now due to running in promisc mode.

-vlad

>
> I don't care about:
>    * sysfs API's - sysfs is not good for binary (like bitmap), and doing
>      a list
>    * split ingress/egress
>    * future extensibility ideas - do it right now, then do the next step;
>      don't get ahead of yourself.
>