selftests: forwarding: vxlan_bridge_1d: Add a TTL test
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>
This commit is contained in:
parent
50a02b0825
commit
b3a7ee74ee
1 changed files with 33 additions and 0 deletions
|
@ -68,6 +68,7 @@ export VXPORT
|
|||
ping_ipv4
|
||||
test_flood
|
||||
test_unicast
|
||||
test_ttl
|
||||
reapply_config
|
||||
ping_ipv4
|
||||
test_flood
|
||||
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue