nfp: flower: fix ida_idx not being released
authorLouis Peens <louis.peens@corigine.com>
Tue, 8 Feb 2022 10:14:53 +0000 (11:14 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 9 Feb 2022 05:06:35 +0000 (21:06 -0800)
commit7db788ad627aabff2b74d4f1a3b68516d0fee0d7
treea17100b486cd73fbd943fc7fd519ba48fae06e53
parent5611a00697c8ecc5aad04392bea629e9d6a20463
nfp: flower: fix ida_idx not being released

When looking for a global mac index the extra NFP_TUN_PRE_TUN_IDX_BIT
that gets set if nfp_flower_is_supported_bridge is true is not taken
into account. Consequently the path that should release the ida_index
in cleanup is never triggered, causing messages like:

    nfp 0000:02:00.0: nfp: Failed to offload MAC on br-ex.
    nfp 0000:02:00.0: nfp: Failed to offload MAC on br-ex.
    nfp 0000:02:00.0: nfp: Failed to offload MAC on br-ex.

after NFP_MAX_MAC_INDEX number of reconfigs. Ultimately this lead to
new tunnel flows not being offloaded.

Fix this by unsetting the NFP_TUN_PRE_TUN_IDX_BIT before checking if
the port is of type OTHER.

Fixes: 2e0bc7f3cb55 ("nfp: flower: encode mac indexes with pre-tunnel rule check")
Signed-off-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20220208101453.321949-1-simon.horman@corigine.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c