selftests: mlxsw: devlink_trap_tunnel_vxlan: Fix 'decap_error' case
authorAmit Cohen <amcohen@nvidia.com>
Thu, 23 Dec 2021 07:30:02 +0000 (09:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Dec 2021 11:24:01 +0000 (11:24 +0000)
Change the case that sends packets with "too short inner packet" to
include part of ethernet header, to make the trap to be triggered due to
the correct reason.

According to ASIC arch, the trap is triggered if overlay packet length is
less than 18B, and the minimum inner packet should include source MAC and
destination MAC.

Till now the case passed because one of the reserved bits in VxLAN
header was used. This issue was found while adding an equivalent test
for IPv6.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/devlink_trap_tunnel_vxlan.sh

index 10e0f3dbc930dafcab44c8c271451b7f3404a02c..5f6eb965cfd18668d70d69a9d7cbff44e6da8cfa 100755 (executable)
@@ -217,9 +217,11 @@ short_payload_get()
         dest_mac=$(mac_get $h1)
         p=$(:
                )"08:"$(                      : VXLAN flags
-               )"01:00:00:"$(                : VXLAN reserved
+               )"00:00:00:"$(                : VXLAN reserved
                )"00:03:e8:"$(                : VXLAN VNI : 1000
                )"00:"$(                      : VXLAN reserved
+               )"$dest_mac:"$(               : ETH daddr
+               )"00:00:00:00:00:00:"$(       : ETH saddr
                )
         echo $p
 }
@@ -263,7 +265,8 @@ decap_error_test()
 
        corrupted_packet_test "Decap error: Reserved bits in use" \
                "reserved_bits_payload_get"
-       corrupted_packet_test "Decap error: No L2 header" "short_payload_get"
+       corrupted_packet_test "Decap error: Too short inner packet" \
+               "short_payload_get"
 }
 
 mc_smac_payload_get()