mirror of https://gitee.com/openkylin/linux.git
selftests: devlink_trap_tunnel_vxlan: Add test case for overlay_smac_is_mc
Test that the trap is triggered under the right conditions and that devlink counters increase when action is trap. Signed-off-by: Amit Cohen <amitc@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3aed0722f7
commit
b3073dfba8
|
@ -36,6 +36,7 @@ lib_dir=$(dirname $0)/../../../net/forwarding
|
|||
|
||||
ALL_TESTS="
|
||||
decap_error_test
|
||||
overlay_smac_is_mc_test
|
||||
"
|
||||
|
||||
NUM_NETIFS=4
|
||||
|
@ -267,6 +268,59 @@ decap_error_test()
|
|||
corrupted_packet_test "Decap error: No L2 header" "short_payload_get"
|
||||
}
|
||||
|
||||
mc_smac_payload_get()
|
||||
{
|
||||
dest_mac=$(mac_get $h1)
|
||||
source_mac=01:02:03:04:05:06
|
||||
p=$(:
|
||||
)"08:"$( : VXLAN flags
|
||||
)"00:00:00:"$( : VXLAN reserved
|
||||
)"00:03:e8:"$( : VXLAN VNI : 1000
|
||||
)"00:"$( : VXLAN reserved
|
||||
)"$dest_mac:"$( : ETH daddr
|
||||
)"$source_mac:"$( : ETH saddr
|
||||
)"08:00:"$( : ETH type
|
||||
)"45:"$( : IP version + IHL
|
||||
)"00:"$( : IP TOS
|
||||
)"00:14:"$( : IP total length
|
||||
)"00:00:"$( : IP identification
|
||||
)"20:00:"$( : IP flags + frag off
|
||||
)"40:"$( : IP TTL
|
||||
)"00:"$( : IP proto
|
||||
)"00:00:"$( : IP header csum
|
||||
)"c0:00:02:03:"$( : IP saddr: 192.0.2.3
|
||||
)"c0:00:02:01:"$( : IP daddr: 192.0.2.1
|
||||
)
|
||||
echo $p
|
||||
}
|
||||
|
||||
overlay_smac_is_mc_test()
|
||||
{
|
||||
local trap_name="overlay_smac_is_mc"
|
||||
local group_name="tunnel_drops"
|
||||
local mz_pid
|
||||
|
||||
RET=0
|
||||
|
||||
# The matching will be checked on devlink_trap_drop_test()
|
||||
# and the filter will be removed on devlink_trap_drop_cleanup()
|
||||
tc filter add dev $swp1 egress protocol ip pref 1 handle 101 \
|
||||
flower src_mac 01:02:03:04:05:06 action pass
|
||||
|
||||
rp1_mac=$(mac_get $rp1)
|
||||
payload=$(mc_smac_payload_get)
|
||||
|
||||
ip vrf exec v$rp2 $MZ $rp2 -c 0 -d 1msec -b $rp1_mac \
|
||||
-B 192.0.2.17 -t udp sp=12345,dp=$VXPORT,p=$payload -q &
|
||||
mz_pid=$!
|
||||
|
||||
devlink_trap_drop_test $trap_name $group_name $swp1
|
||||
|
||||
log_test "Overlay source MAC is multicast"
|
||||
|
||||
devlink_trap_drop_cleanup $mz_pid $swp1 "ip"
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
setup_prepare
|
||||
|
|
Loading…
Reference in New Issue