Skip to content

Commit

Permalink
selftests: forwarding: vxlan_bridge_1d: Add a TTL test
Browse files Browse the repository at this point in the history
This tests whether TTL of VXLAN envelope packets is properly set based
on the device configuration.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Petr Machata authored and David S. Miller committed Nov 20, 2018
1 parent 50a02b0 commit b3a7ee7
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions tools/testing/selftests/net/forwarding/vxlan_bridge_1d.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ export VXPORT
ping_ipv4
test_flood
test_unicast
test_ttl
reapply_config
ping_ipv4
test_flood
Expand Down Expand Up @@ -474,6 +475,38 @@ test_unicast()
done
}

vxlan_ping_test()
{
local ping_dev=$1; shift
local ping_dip=$1; shift
local ping_args=$1; shift
local capture_dev=$1; shift
local capture_dir=$1; shift
local capture_pref=$1; shift
local expect=$1; shift

local t0=$(tc_rule_stats_get $capture_dev $capture_pref $capture_dir)
ping_do $ping_dev $ping_dip "$ping_args"
local t1=$(tc_rule_stats_get $capture_dev $capture_pref $capture_dir)
local delta=$((t1 - t0))

# Tolerate a couple stray extra packets.
((expect <= delta && delta <= expect + 2))
check_err $? "$capture_dev: Expected to capture $expect packets, got $delta."
}

test_ttl()
{
RET=0

tc filter add dev v1 egress pref 77 prot ip \
flower ip_ttl 99 action pass
vxlan_ping_test $h1 192.0.2.3 "" v1 egress 77 10
tc filter del dev v1 egress pref 77 prot ip

log_test "VXLAN: envelope TTL"
}

test_all()
{
echo "Running tests with UDP port $VXPORT"
Expand Down

0 comments on commit b3a7ee7

Please sign in to comment.