Re: [PATCH net-next V6 02/14] bridge: Add vlan filtering infrastructure
From: Vlad Yasevich <hidden>
Date: 2013-01-22 17:32:47
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 packetI 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.