[Bridge] [PATCH net-next 1/7] net: bridge: Extract boilerplate around switchdev_port_obj_*()
Petr Machata
petrm at mellanox.com
Fri May 25 16:56:10 UTC 2018
Vivien Didelot <vivien.didelot at savoirfairelinux.com> writes:
> Hi Petr,
>
> Petr Machata <petrm at mellanox.com> 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
More information about the Bridge
mailing list