[PATCH net-next v2 3/7] rocker: rocker_main: Ignore bridge VLAN events
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue May 29 14:44:58 UTC 2018
On Tue, May 29, 2018 at 05:37:30PM +0300, Petr Machata wrote:
> Ilias Apalodimas <ilias.apalodimas at linaro.org> writes:
>
> >> diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c
> >> index e73e4fe..aeafdb9 100644
> >> --- a/drivers/net/ethernet/rocker/rocker_main.c
> >> +++ b/drivers/net/ethernet/rocker/rocker_main.c
> >> @@ -1632,6 +1632,9 @@ rocker_world_port_obj_vlan_add(struct rocker_port *rocker_port,
> >> {
> >> struct rocker_world_ops *wops = rocker_port->rocker->wops;
> >>
> >> + if (netif_is_bridge_master(vlan->obj.orig_dev))
> >> + return -EOPNOTSUPP;
> >> +
> > What will happen to the "bridge vlan add dev br0 vid X pvid untagged self" when
> > the lower level (the driver) returns -EOPNOTSUPP? Will it avoid adding a vlan on
> > the bridge ?
>
> No, it will still do it. The reasons are:
>
> - that's what currently happens anyway: none of the drivers has any
> support, yet the bridge logic is done
>
> - -EOPNOTSUPP is what switchdev_port_obj_*() return if switchdev is not
> compiled in
>
> In order to suppress the setting, return e.g. -EINVAL:
>
> # bridge vlan add dev br vid 111 self
> RTNETLINK answers: Invalid argument
> # bridge vlan show dev br
> port vlan ids
> br 1 PVID Egress Untagged
>
> Thanks,
> Petr
Ok that's perfect then. As i mentioned it's really useful for a use case i am
doing on a switch that needs it's cpu port configured individually.
Thanks,
Ilias
More information about the devel
mailing list