diff options
author | Jiri Pirko <jiri@nvidia.com> | 2020-12-14 13:30:36 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-12-14 19:09:54 -0800 |
commit | 54ff9dbbb96f7e7c6419d2407179f1f2423dc258 (patch) | |
tree | 481668b7902a6cda6c1a557aef0b4b709677180e /drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | |
parent | e35e8046489688d8418c75a012af1d37611f915f (diff) | |
download | linux-54ff9dbbb96f7e7c6419d2407179f1f2423dc258.tar.gz linux-54ff9dbbb96f7e7c6419d2407179f1f2423dc258.tar.bz2 linux-54ff9dbbb96f7e7c6419d2407179f1f2423dc258.zip |
mlxsw: spectrum_router_xm: Implement L-value tracking for M-index
There is a table that assigns L-value per M-index. The L is always the
biggest from the currently inserted prefixes. Setup a hashtable to track
the M-index information and the prefixes that are related to it. Ensure
the L-value is always correctly set.
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index 3b32d9648578..62d51b281b58 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -7098,6 +7098,7 @@ static void mlxsw_sp_router_fib_event_work(struct work_struct *work) op_ctx->bulk_ok = !list_is_last(&fib_event->list, &fib_event_queue) && fib_event->family == next_fib_event->family && fib_event->event == next_fib_event->event; + op_ctx->event = fib_event->event; /* In case family of this and the previous entry are different, context * reinitialization is going to be needed now, indicate that. |