mlxsw: spectrum_router: Ignore FIB notification events for non-init namespaces
Since now, the table with same id in multiple netnamespaces were squashed
to a single virtual router. That is not only incorrect, it also causes
error messages when trying to use RALUE register to do double remove
of FIB entries, like this one:
mlxsw_spectrum 0000:03:00.0: EMAD reg access failed (tid=facb831c00007b20,reg_id=8013(ralue),type=write,status=7(bad parameter))
Since we don't allow ports to change namespaces (NETIF_F_NETNS_LOCAL),
and the infrastructure is not yet prepared to handle netnamespaces, just
ignore FIB notification events for non-init namespaces. That is clear to
do since we don't need to offload them.
Fixes: b45f64d16d
("mlxsw: spectrum_router: Use FIB notifications instead of switchdev calls")
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
33b1341cd1
commit
0e3715c9c2
|
@ -1931,6 +1931,9 @@ static int mlxsw_sp_router_fib_event(struct notifier_block *nb,
|
|||
struct fib_entry_notifier_info *fen_info = ptr;
|
||||
int err;
|
||||
|
||||
if (!net_eq(fen_info->info.net, &init_net))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
switch (event) {
|
||||
case FIB_EVENT_ENTRY_ADD:
|
||||
err = mlxsw_sp_router_fib4_add(mlxsw_sp, fen_info);
|
||||
|
|
Loading…
Reference in New Issue