Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> writes: > 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? (You mean switchdev-specific?) This logic was in br_vlan.c before as well, so it's natural to think about the functions as helpers of VLAN module. I can move to br_switchdev.c if you think that's the better place. Thanks, Petr _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel