selftests: mlxsw: Add ingress RIF configuration test for 802.1Q bridge
authorAmit Cohen <amcohen@nvidia.com>
Wed, 17 Aug 2022 15:28:26 +0000 (17:28 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 19 Aug 2022 03:50:40 +0000 (20:50 -0700)
commit3a5ddc886847d4cd84bd2ce7bbbfdb3fd5845678
treef9d0ab1a72705b1208346bc3be71a7349af1b834
parent2cd87cea78425e6b019e34e969dc008ce560acbf
selftests: mlxsw: Add ingress RIF configuration test for 802.1Q bridge

Before layer 2 forwarding, the device classifies an incoming packet to a
FID. After classification, the FID is known, but also all the attributes of
the FID, such as the router interface (RIF) via which a packet that needs
to be routed will ingress the router block.

For VLAN-aware bridges (802.1Q), the FID classification is done according
to VID. When a RIF is added on top of a FID, the existing VID->FID mapping
should be updated by the software with the new RIF.

We never map multiple VLANs to the same FID using VID->FID, so we cannot
create VID->FID for FID which already has a RIF using 802.1Q. Anyway,
verify that packets can be routed via port which is added after the FID
already has a RIF.

Add a test to verify that packets can be routed after VID->FID
classification, regardless of the order of the configuration.

 # ./ingress_rif_conf_1q.sh
 TEST: Add RIF for existing VID->FID mapping                         [ OK ]
 TEST: Add port to 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/ingress_rif_conf_1q.sh [new file with mode: 0755]