selftests: mlxsw: Add egress VID classification test
authorAmit Cohen <amcohen@nvidia.com>
Wed, 17 Aug 2022 15:28:28 +0000 (17:28 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 19 Aug 2022 03:50:41 +0000 (20:50 -0700)
commit1623d5719fdff46620eb55c5d4f0cf8af1afcdb4
tree5d12846be5357d8c3649a4977f2839a6f3b870cf
parentcbeb6e1195d1f293a11534f5eeb7455af3c8f9d5
selftests: mlxsw: Add egress VID classification test

After routing, the device always consults a table that determines the
packet's egress VID based on {egress RIF, egress local port}. In the
unified bridge model, it is up to software to maintain this table via
REIV register.

The table needs to be updated in the following flows:
1. When a RIF is set on a FID, for each FID's {Port, VID} mapping, a new
   {RIF, Port}->VID mapping should be created.
2. When a {Port, VID} is mapped to a FID and the FID already has a RIF,
   a new {RIF, Port}->VID mapping should be created.

Add a test to verify that packets get the correct VID after routing,
regardless of the order of the configuration.

 # ./egress_vid_classification.sh
 TEST: Add RIF for existing {port, VID}->FID mapping                 [ OK ]
 TEST: Add {port, VID}->FID mapping for FID with a RIF               [ OK ]

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/drivers/net/mlxsw/egress_vid_classification.sh [new file with mode: 0755]