]> git.baikalelectronics.ru Git - kernel.git/commit
octeontx2-af: Avoid duplicate unicast rule in mcam_rules list
authorSubbaraya Sundeep <sbhatta@marvell.com>
Wed, 17 Mar 2021 13:35:37 +0000 (19:05 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Mar 2021 19:29:40 +0000 (12:29 -0700)
commitf5bc695eafbbf2257083601a7b33b7279c9c1803
treeaf8c180435e9a3f66dc39e3da27fdd598719cabe
parent8d6d83148080c4efc6696a5a7b38802e21f292c8
octeontx2-af: Avoid duplicate unicast rule in mcam_rules list

A mcam rule described by mcam_rule struct has all the info
such as the hardware MCAM entry number, match criteria and
corresponding action etc. All mcam rules are stored in a
linked list mcam->rules. When adding/updating a rule to the
mcam->rules it is checked if a rule already exists for the
mcam entry. If the rule already exists, the same rule is
updated instead of creating new rule. This way only one
mcam_rule exists for the only one default unicast entry
installed by AF. But a PF/VF can get different NIXLF
(or default unicast entry number) after a attach-detach-attach
sequence. When that happens mcam_rules list end up with two
default unicast rules. Fix the problem by deleting the default
unicast rule list node always when disabling mcam rules.

Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Naveen Mamindlapalli <naveenm@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c