Skip to content

Commit 41acb55

Browse files
pmachatakuba-moo
authored andcommitted
mlxsw: spectrum_router: Track NH ID's of group members
The core interfaces for collecting per-NH statistics are built around nexthops even for resilient groups. Because mlxsw models each bucket as a nexthop, the core next hop that a given bucket contributes to needs to be looked up. In order to be able to match the two up, we need to track nexthop ID for members of group nexthop objects. For simplicity, do it for all nexthop objects, not just group members. Signed-off-by: Petr Machata <[email protected]> Reviewed-by: Ido Schimmel <[email protected]> Link: https://lore.kernel.org/r/184ceb6b154e08f5bcf116a705b0fcb01c31895c.1709901020.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 10bf92f commit 41acb55

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3083,6 +3083,7 @@ struct mlxsw_sp_nexthop {
30833083
struct mlxsw_sp_ipip_entry *ipip_entry;
30843084
};
30853085
struct mlxsw_sp_nexthop_counter *counter;
3086+
u32 id; /* NH ID for members of a NH object group. */
30863087
};
30873088

30883089
static struct net_device *
@@ -5054,6 +5055,7 @@ mlxsw_sp_nexthop_obj_init(struct mlxsw_sp *mlxsw_sp,
50545055
mlxsw_sp_nexthop_counter_enable(mlxsw_sp, nh);
50555056
list_add_tail(&nh->router_list_node, &mlxsw_sp->router->nexthop_list);
50565057
nh->ifindex = dev->ifindex;
5058+
nh->id = nh_obj->id;
50575059

50585060
err = mlxsw_sp_nexthop_type_init(mlxsw_sp, nh, dev);
50595061
if (err)

0 commit comments

Comments
 (0)