Message ID | 20210922073642.796559-1-idosch@idosch.org (mailing list archive) |
---|---|
Headers | show |
Series | mlxsw: Alter trap adjacency entry allocation scheme | expand |
Hello: This series was applied to netdev/net-next.git (refs/heads/master): On Wed, 22 Sep 2021 10:36:40 +0300 you wrote: > From: Ido Schimmel <idosch@nvidia.com> > > In commit 0c3cbbf96def ("mlxsw: Add specific trap for packets routed via > invalid nexthops"), mlxsw started allocating a new adjacency entry > during driver initialization, to trap packets routed via invalid > nexthops. > > [...] Here is the summary with links: - [net-next,1/2] mlxsw: spectrum_router: Add trap adjacency entry upon first nexthop group https://git.kernel.org/netdev/net-next/c/4bdf80bcb79a - [net-next,2/2] mlxsw: spectrum_router: Start using new trap adjacency entry https://git.kernel.org/netdev/net-next/c/e3a3aae74d76 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
From: Ido Schimmel <idosch@nvidia.com> In commit 0c3cbbf96def ("mlxsw: Add specific trap for packets routed via invalid nexthops"), mlxsw started allocating a new adjacency entry during driver initialization, to trap packets routed via invalid nexthops. This behavior was later altered in commit 983db6198f0d ("mlxsw: spectrum_router: Allocate discard adjacency entry when needed") to only allocate the entry upon the first route that requires it. The motivation for the change is explained in the commit message. The problem with the current behavior is that the entry shows up as a "leak" in a new BPF resource monitoring tool [1]. This is caused by the asymmetry of the allocation/free scheme. While the entry is allocated upon the first route that requires it, it is only freed during de-initialization of the driver. Instead, this patchset tracks the number of active nexthop groups and allocates the adjacency entry upon the creation of the first group. The entry is freed when the number of active groups reaches zero. Patch #1 adds the new entry. Patch #2 converts mlxsw to start using the new entry and removes the old one. [1] https://github.com/Mellanox/mlxsw/tree/master/Debugging/libbpf-tools/resmon Ido Schimmel (2): mlxsw: spectrum_router: Add trap adjacency entry upon first nexthop group mlxsw: spectrum_router: Start using new trap adjacency entry .../ethernet/mellanox/mlxsw/spectrum_router.c | 129 +++++++++++------- .../ethernet/mellanox/mlxsw/spectrum_router.h | 4 +- 2 files changed, 81 insertions(+), 52 deletions(-)