[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <wih4livhdxx.fsf@dev-r-vrt-156.mtr.labs.mlnx>
Date: Fri, 25 May 2018 19:56:10 +0300
From: Petr Machata <petrm@...lanox.com>
To: Vivien Didelot <vivien.didelot@...oirfairelinux.com>
Cc: <netdev@...r.kernel.org>, <devel@...verdev.osuosl.org>,
<bridge@...ts.linux-foundation.org>, <jiri@...lanox.com>,
<idosch@...lanox.com>, <davem@...emloft.net>,
<razvan.stefanescu@....com>, <gregkh@...uxfoundation.org>,
<stephen@...workplumber.org>, <andrew@...n.ch>,
<f.fainelli@...il.com>, <nikolay@...ulusnetworks.com>
Subject: Re: [PATCH net-next 1/7] net: bridge: Extract boilerplate around switchdev_port_obj_*()
Vivien Didelot <vivien.didelot@...oirfairelinux.com> writes:
> Hi Petr,
>
> Petr Machata <petrm@...lanox.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
Powered by blists - more mailing lists