On 1/17/19 8:36 AM, Vivien Didelot wrote:
> Hi Florian,
>
> On Wed, 16 Jan 2019 12:00:51 -0800, Florian Fainelli <f.faine...@gmail.com>
> wrote:
>
>> + /* Handle the case were multiple bridges span the same switch device
>> + * and one of them has a different setting than what is being requested
>> + * which would be breaking filtering semantics for any of the other
>> + * bridge devices.
>> + */
>> + b53_for_each_port(dev, i) {
>> + bridge_dev = dsa_to_port(ds, i)->bridge_dev;
>> + if (bridge_dev &&
>> + bridge_dev != dsa_to_port(ds, port)->bridge_dev &&
>> + br_vlan_enabled(bridge_dev) != vlan_filtering) {
>> + netdev_err(bridge_dev,
>> + "VLAN filtering is global to the switch!\n");
>> + return -EINVAL;
>> + }
>> + }
>
> Unbridged ports must act as standard NICs and thus forward taggued frames.
> What happens to them if there's a bridge with VLAN filtering enabled spawned
> on other ports of your switch? Will the unbridged ports filter VLAN?
Because VLAN filtering a global setting to the switch, unbridged network
ports will effectively have VLAN filtering enabled, which is why the
ndo_vlan_rx_{add,kill}_vid functions to permit that use case.
--
Florian