Hi Petr, Petr Machata <petrm@xxxxxxxxxxxx> writes: > -static int __vlan_vid_add(struct net_device *dev, struct net_bridge *br, > - u16 vid, u16 flags) > +static int br_switchdev_port_obj_add(struct net_device *dev, u16 vid, u16 flags) > { > struct switchdev_obj_port_vlan v = { > .obj.orig_dev = dev, > @@ -89,12 +88,29 @@ static int __vlan_vid_add(struct net_device *dev, struct net_bridge *br, > .vid_begin = vid, > .vid_end = vid, > }; > - int err; > > + return switchdev_port_obj_add(dev, &v.obj); > +} > + > +static int br_switchdev_port_obj_del(struct net_device *dev, u16 vid) > +{ > + struct switchdev_obj_port_vlan v = { > + .obj.orig_dev = dev, > + .obj.id = SWITCHDEV_OBJ_ID_PORT_VLAN, > + .vid_begin = vid, > + .vid_end = vid, > + }; > + > + return switchdev_port_obj_del(dev, &v.obj); > +} Shouldn't they be br_switchdev_port_vlan_add (or similar) implemented in net/bridge/br_switchdev.c instead, since they are VLAN specific? Other than that, the change looks good! Thanks, Vivien _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel