lkml.org 
[lkml]   [2019]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next 12/16] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_ATTR_SET
    Date
    Following patches will change the way we communicate getting or setting
    a port's attribute and use a blocking notifier to perform those tasks.

    Prepare mlxsw to support receiving notifier events targeting
    SWITCHDEV_PORT_ATTR_SET and simply translate that into the existing
    mlxsw_sp_port_attr_set() call.

    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    ---
    .../mellanox/mlxsw/spectrum_switchdev.c | 19 +++++++++++++++++++
    1 file changed, 19 insertions(+)

    diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
    index 6b09d68671cf..29ffb5cac777 100644
    --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
    +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
    @@ -3410,6 +3410,23 @@ mlxsw_sp_switchdev_handle_vxlan_obj_del(struct net_device *vxlan_dev,
    }
    }

    +static int
    +mlxsw_sp_switchdev_port_attr_event(unsigned long event, struct net_device *dev,
    + struct switchdev_notifier_port_attr_info *port_attr_info)
    +{
    + int err = -EOPNOTSUPP;
    +
    + switch (event) {
    + case SWITCHDEV_PORT_ATTR_SET:
    + err = mlxsw_sp_port_attr_set(dev, port_attr_info->attr,
    + port_attr_info->trans);
    + break;
    + }
    +
    + port_attr_info->handled = true;
    + return notifier_from_errno(err);
    +}
    +
    static int mlxsw_sp_switchdev_blocking_event(struct notifier_block *unused,
    unsigned long event, void *ptr)
    {
    @@ -3433,6 +3450,8 @@ static int mlxsw_sp_switchdev_blocking_event(struct notifier_block *unused,
    mlxsw_sp_port_dev_check,
    mlxsw_sp_port_obj_del);
    return notifier_from_errno(err);
    + case SWITCHDEV_PORT_ATTR_SET:
    + return mlxsw_sp_switchdev_port_attr_event(event, dev, ptr);
    }

    return NOTIFY_DONE;
    --
    2.17.1
    \
     
     \ /
      Last update: 2019-02-09 01:35    [W:4.091 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site