Subject: Re: [PATCH 3/3] bridge; Automatically filter vlans configured on top of bridge

From: Vlad Yasevich <[email-masked]>
Date: Tue, 16 Sep 2014 09:31:59 -0400

On 09/16/2014 07:28 AM, Toshiaki Makita wrote:
> On 2014/09/16 0:19, Vlad Yasevich wrote:
>> On 09/14/2014 11:39 AM, Toshiaki Makita wrote:
>>> (14/09/13 (土) 5:44), Vladislav Yasevich wrote:
>>>> If the user configures vlan devices on top of the bridge,
>>>> automatically set up filter entries for it as long as
>>>> bridge vlan protocol matches that of the vlan.
>>>> This allows the user to atomatically receive vlan traffic
>>>> for the vlans that are convifgured.
>>>
>>> Changing br->vlan_proto seems to cause inconsistency between vlan
>>> interfaces and filter settings.
>>> Can we automatically change filters when setting vlan_proto?
>>>
>>
>> I thought we already do that in br_vlan_set_proto()?  Nothing
>> here introduces any new kinds of issue with that code.
> 
> I'm referring to a case like this:
> 1. create br0.10 (802.1ad)
> 2. change br->vlan_proto into 88a8
> 
> When creating br0.10 (1), br->vlan_proto is 8100 and different from
> protocol of br0.10, so it is ignored by br_vlan_rx_add_vid().
> After changing br->vlan_proto (2), we might expect vlan 10 is not
> filtered on br0, but it will be filtered.

Ok, I see what you mean.  This one is a bit tough.  Our options are:
 1) Return an error when configuring br0.10.  This might break user-space.  Not good.
 2) Ignore protocol when crating the filter.  This is not good either as the user
    may not switch the bridge vlan_proto value and we'd end up with a wrong filter.
 3) Re-implement .1ad support per-vlan instead of per-bridge.

You see another other alternatives?

-vlad
> Thanks,
> Toshiaki Makita