From fc74ecbc293cba27fd8adee7a18fbda2f8d9e285 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 11 May 2018 11:57:30 +0300 Subject: [PATCH 1/2] mlxsw: spectrum_span: Rename misnamed variable l3edev Calling the variable l3edev was relevant when neighbor lookup was the last stage in the simulated pipeline. Now that mlxsw handles bridges and vlan devices as well, calling it "L3" is a misnomer. Thus in mlxsw_sp_span_dmac(), rename to "dev", because that function is just a service routine where the distinction between tunnel and egress device isn't necessary. In mlxsw_sp_span_entry_tunnel_parms_common(), rename to "edev" to emphasize that the routine traces packet egress. Signed-off-by: Petr Machata Signed-off-by: Ido Schimmel Signed-off-by: David S. Miller --- .../ethernet/mellanox/mlxsw/spectrum_span.c | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c index 3b77990df599..adf1f789b166 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c @@ -137,14 +137,14 @@ struct mlxsw_sp_span_entry_ops mlxsw_sp_span_entry_ops_phys = { static int mlxsw_sp_span_dmac(struct neigh_table *tbl, const void *pkey, - struct net_device *l3edev, + struct net_device *dev, unsigned char dmac[ETH_ALEN]) { - struct neighbour *neigh = neigh_lookup(tbl, pkey, l3edev); + struct neighbour *neigh = neigh_lookup(tbl, pkey, dev); int err = 0; if (!neigh) { - neigh = neigh_create(tbl, pkey, l3edev); + neigh = neigh_create(tbl, pkey, dev); if (IS_ERR(neigh)) return PTR_ERR(neigh); } @@ -246,7 +246,7 @@ mlxsw_sp_span_entry_vlan(const struct net_device *vlan_dev, } static __maybe_unused int -mlxsw_sp_span_entry_tunnel_parms_common(struct net_device *l3edev, +mlxsw_sp_span_entry_tunnel_parms_common(struct net_device *edev, union mlxsw_sp_l3addr saddr, union mlxsw_sp_l3addr daddr, union mlxsw_sp_l3addr gw, @@ -260,31 +260,31 @@ mlxsw_sp_span_entry_tunnel_parms_common(struct net_device *l3edev, if (mlxsw_sp_l3addr_is_zero(gw)) gw = daddr; - if (!l3edev || mlxsw_sp_span_dmac(tbl, &gw, l3edev, dmac)) + if (!edev || mlxsw_sp_span_dmac(tbl, &gw, edev, dmac)) goto unoffloadable; - if (is_vlan_dev(l3edev)) - l3edev = mlxsw_sp_span_entry_vlan(l3edev, &vid); + if (is_vlan_dev(edev)) + edev = mlxsw_sp_span_entry_vlan(edev, &vid); - if (netif_is_bridge_master(l3edev)) { - l3edev = mlxsw_sp_span_entry_bridge(l3edev, dmac, &vid); - if (!l3edev) + if (netif_is_bridge_master(edev)) { + edev = mlxsw_sp_span_entry_bridge(edev, dmac, &vid); + if (!edev) goto unoffloadable; } - if (is_vlan_dev(l3edev)) { - if (vid || !(l3edev->flags & IFF_UP)) + if (is_vlan_dev(edev)) { + if (vid || !(edev->flags & IFF_UP)) goto unoffloadable; - l3edev = mlxsw_sp_span_entry_vlan(l3edev, &vid); + edev = mlxsw_sp_span_entry_vlan(edev, &vid); } - if (!mlxsw_sp_port_dev_check(l3edev)) + if (!mlxsw_sp_port_dev_check(edev)) goto unoffloadable; - sparmsp->dest_port = netdev_priv(l3edev); + sparmsp->dest_port = netdev_priv(edev); sparmsp->ttl = ttl; memcpy(sparmsp->dmac, dmac, ETH_ALEN); - memcpy(sparmsp->smac, l3edev->dev_addr, ETH_ALEN); + memcpy(sparmsp->smac, edev->dev_addr, ETH_ALEN); sparmsp->saddr = saddr; sparmsp->daddr = daddr; sparmsp->vid = vid; From c41c0dd7a641cb28f7239e7086419741af78c448 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 11 May 2018 11:57:31 +0300 Subject: [PATCH 2/2] mlxsw: spectrum_span: Use a more fitting error code ENOENT is suitable when an item is looked for in a collection and can't be found. The failure here is actually a depletion of a resource, where ENOBUFS is the more fitting error code. Signed-off-by: Petr Machata Signed-off-by: Ido Schimmel Signed-off-by: David S. Miller --- drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c index adf1f789b166..e5f4f7620ab7 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c @@ -924,7 +924,7 @@ int mlxsw_sp_span_mirror_add(struct mlxsw_sp_port *from, span_entry = mlxsw_sp_span_entry_get(mlxsw_sp, to_dev, ops, sparms); if (!span_entry) - return -ENOENT; + return -ENOBUFS; netdev_dbg(from->dev, "Adding inspected port to SPAN entry %d\n", span_entry->id);