Skip to content

Commit

Permalink
selftests: devlink_trap_tunnel_vxlan: Add test case for overlay_smac_…
Browse files Browse the repository at this point in the history
…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>
  • Loading branch information
Amit Cohen authored and David S. Miller committed Jan 19, 2020
1 parent 3aed072 commit b3073df
Showing 1 changed file with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ lib_dir=$(dirname $0)/../../../net/forwarding

ALL_TESTS="
decap_error_test
overlay_smac_is_mc_test
"

NUM_NETIFS=4
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit b3073df

Please sign in to comment.