135f15ab3SAmit Cohen#!/bin/bash
235f15ab3SAmit Cohen# SPDX-License-Identifier: GPL-2.0
335f15ab3SAmit Cohen
435f15ab3SAmit Cohen# +--------------------+                               +----------------------+
535f15ab3SAmit Cohen# | H1 (vrf)           |                               |             H2 (vrf) |
635f15ab3SAmit Cohen# |    + h1.10         |                               |  + h2.20             |
735f15ab3SAmit Cohen# |    | 192.0.2.1/28  |                               |  | 192.0.2.2/28      |
835f15ab3SAmit Cohen# |    |               |                               |  |                   |
935f15ab3SAmit Cohen# |    + $h1           |                               |  + $h2               |
1035f15ab3SAmit Cohen# |    |               |                               |  |                   |
1135f15ab3SAmit Cohen# +----|---------------+                               +--|-------------------+
1235f15ab3SAmit Cohen#      |                                                  |
1335f15ab3SAmit Cohen# +----|--------------------------------------------------|--------------------+
1435f15ab3SAmit Cohen# | SW |                                                  |                    |
1535f15ab3SAmit Cohen# | +--|-------------------------------+ +----------------|------------------+ |
1635f15ab3SAmit Cohen# | |  + $swp1         BR1 (802.1ad)   | | BR2 (802.1d)   + $swp2            | |
1735f15ab3SAmit Cohen# | |    vid 100 pvid untagged         | |                |                  | |
1835f15ab3SAmit Cohen# | |                                  | |                + $swp2.20         | |
1935f15ab3SAmit Cohen# | |                                  | |                                   | |
2035f15ab3SAmit Cohen# | |  + vx100 (vxlan)                 | |  + vx200 (vxlan)                  | |
2135f15ab3SAmit Cohen# | |    local 192.0.2.17              | |    local 192.0.2.17               | |
2235f15ab3SAmit Cohen# | |    remote 192.0.2.34             | |    remote 192.0.2.50              | |
2335f15ab3SAmit Cohen# | |    id 1000 dstport $VXPORT       | |    id 2000 dstport $VXPORT        | |
2435f15ab3SAmit Cohen# | |    vid 100 pvid untagged         | |                                   | |
2535f15ab3SAmit Cohen# | +--------------------------------- + +-----------------------------------+ |
2635f15ab3SAmit Cohen# |                                                                            |
2735f15ab3SAmit Cohen# |  192.0.2.32/28 via 192.0.2.18                                              |
2835f15ab3SAmit Cohen# |  192.0.2.48/28 via 192.0.2.18                                              |
2935f15ab3SAmit Cohen# |                                                                            |
3035f15ab3SAmit Cohen# |    + $rp1                                                                  |
3135f15ab3SAmit Cohen# |    | 192.0.2.17/28                                                         |
3235f15ab3SAmit Cohen# +----|-----------------------------------------------------------------------+
3335f15ab3SAmit Cohen#      |
3435f15ab3SAmit Cohen# +----|--------------------------------------------------------+
3535f15ab3SAmit Cohen# |    |                                             VRP2 (vrf) |
3635f15ab3SAmit Cohen# |    + $rp2                                                   |
3735f15ab3SAmit Cohen# |      192.0.2.18/28                                          |
3835f15ab3SAmit Cohen# |                                                             |   (maybe) HW
3935f15ab3SAmit Cohen# =============================================================================
4035f15ab3SAmit Cohen# |                                                             |  (likely) SW
4135f15ab3SAmit Cohen# |    + v1 (veth)                             + v3 (veth)      |
4235f15ab3SAmit Cohen# |    | 192.0.2.33/28                         | 192.0.2.49/28  |
4335f15ab3SAmit Cohen# +----|---------------------------------------|----------------+
4435f15ab3SAmit Cohen#      |                                       |
4535f15ab3SAmit Cohen# +----|------------------------------+   +----|------------------------------+
4635f15ab3SAmit Cohen# |    + v2 (veth)        NS1 (netns) |   |    + v4 (veth)        NS2 (netns) |
4735f15ab3SAmit Cohen# |      192.0.2.34/28                |   |      192.0.2.50/28                |
4835f15ab3SAmit Cohen# |                                   |   |                                   |
4935f15ab3SAmit Cohen# |   192.0.2.16/28 via 192.0.2.33    |   |   192.0.2.16/28 via 192.0.2.49    |
5035f15ab3SAmit Cohen# |   192.0.2.50/32 via 192.0.2.33    |   |   192.0.2.34/32 via 192.0.2.49    |
5135f15ab3SAmit Cohen# |                                   |   |                                   |
5235f15ab3SAmit Cohen# | +-------------------------------+ |   | +-------------------------------+ |
5335f15ab3SAmit Cohen# | |                 BR3 (802.1ad) | |   | |                  BR3 (802.1d) | |
5435f15ab3SAmit Cohen# | |  + vx100 (vxlan)              | |   | |  + vx200 (vxlan)              | |
5535f15ab3SAmit Cohen# | |    local 192.0.2.34           | |   | |    local 192.0.2.50           | |
5635f15ab3SAmit Cohen# | |    remote 192.0.2.17          | |   | |    remote 192.0.2.17          | |
5735f15ab3SAmit Cohen# | |    remote 192.0.2.50          | |   | |    remote 192.0.2.34          | |
5835f15ab3SAmit Cohen# | |    id 1000 dstport $VXPORT    | |   | |    id 2000 dstport $VXPORT    | |
5935f15ab3SAmit Cohen# | |    vid 100 pvid untagged      | |   | |                               | |
6035f15ab3SAmit Cohen# | |                               | |   | |  + w1.20                      | |
6135f15ab3SAmit Cohen# | |                               | |   | |  |                            | |
6235f15ab3SAmit Cohen# | |  + w1 (veth)                  | |   | |  + w1 (veth)                  | |
6335f15ab3SAmit Cohen# | |  | vid 100 pvid untagged      | |   | |  |                            | |
6435f15ab3SAmit Cohen# | +--|----------------------------+ |   | +--|----------------------------+ |
6535f15ab3SAmit Cohen# |    |                              |   |    |                              |
6635f15ab3SAmit Cohen# | +--|----------------------------+ |   | +--|----------------------------+ |
6735f15ab3SAmit Cohen# | |  |                  VW2 (vrf) | |   | |  |                  VW2 (vrf) | |
6835f15ab3SAmit Cohen# | |  + w2 (veth)                  | |   | |  + w2 (veth)                  | |
6935f15ab3SAmit Cohen# | |  |                            | |   | |  |                            | |
7035f15ab3SAmit Cohen# | |  |                            | |   | |  |                            | |
7135f15ab3SAmit Cohen# | |  + w2.10                      | |   | |  + w2.20                      | |
7235f15ab3SAmit Cohen# | |    192.0.2.3/28               | |   | |    192.0.2.4/28               | |
7335f15ab3SAmit Cohen# | +-------------------------------+ |   | +-------------------------------+ |
7435f15ab3SAmit Cohen# +-----------------------------------+   +-----------------------------------+
7535f15ab3SAmit Cohen
7635f15ab3SAmit Cohen: ${VXPORT:=4789}
7735f15ab3SAmit Cohenexport VXPORT
7835f15ab3SAmit Cohen
7935f15ab3SAmit Cohen: ${ALL_TESTS:="
8035f15ab3SAmit Cohen	ping_ipv4
8135f15ab3SAmit Cohen    "}
8235f15ab3SAmit Cohen
8335f15ab3SAmit CohenNUM_NETIFS=6
8435f15ab3SAmit Cohensource lib.sh
8535f15ab3SAmit Cohen
8635f15ab3SAmit Cohenh1_create()
8735f15ab3SAmit Cohen{
8835f15ab3SAmit Cohen	simple_if_init $h1
8935f15ab3SAmit Cohen	tc qdisc add dev $h1 clsact
9035f15ab3SAmit Cohen	vlan_create $h1 10 v$h1 192.0.2.1/28
9135f15ab3SAmit Cohen}
9235f15ab3SAmit Cohen
9335f15ab3SAmit Cohenh1_destroy()
9435f15ab3SAmit Cohen{
9535f15ab3SAmit Cohen	vlan_destroy $h1 10
9635f15ab3SAmit Cohen	tc qdisc del dev $h1 clsact
9735f15ab3SAmit Cohen	simple_if_fini $h1
9835f15ab3SAmit Cohen}
9935f15ab3SAmit Cohen
10035f15ab3SAmit Cohenh2_create()
10135f15ab3SAmit Cohen{
10235f15ab3SAmit Cohen	simple_if_init $h2
10335f15ab3SAmit Cohen	tc qdisc add dev $h2 clsact
10435f15ab3SAmit Cohen	vlan_create $h2 20 v$h2 192.0.2.2/28
10535f15ab3SAmit Cohen}
10635f15ab3SAmit Cohen
10735f15ab3SAmit Cohenh2_destroy()
10835f15ab3SAmit Cohen{
10935f15ab3SAmit Cohen	vlan_destroy $h2 20
11035f15ab3SAmit Cohen	tc qdisc del dev $h2 clsact
11135f15ab3SAmit Cohen	simple_if_fini $h2
11235f15ab3SAmit Cohen}
11335f15ab3SAmit Cohen
11435f15ab3SAmit Cohenrp1_set_addr()
11535f15ab3SAmit Cohen{
11635f15ab3SAmit Cohen	ip address add dev $rp1 192.0.2.17/28
11735f15ab3SAmit Cohen
11835f15ab3SAmit Cohen	ip route add 192.0.2.32/28 nexthop via 192.0.2.18
11935f15ab3SAmit Cohen	ip route add 192.0.2.48/28 nexthop via 192.0.2.18
12035f15ab3SAmit Cohen}
12135f15ab3SAmit Cohen
12235f15ab3SAmit Cohenrp1_unset_addr()
12335f15ab3SAmit Cohen{
12435f15ab3SAmit Cohen	ip route del 192.0.2.48/28 nexthop via 192.0.2.18
12535f15ab3SAmit Cohen	ip route del 192.0.2.32/28 nexthop via 192.0.2.18
12635f15ab3SAmit Cohen
12735f15ab3SAmit Cohen	ip address del dev $rp1 192.0.2.17/28
12835f15ab3SAmit Cohen}
12935f15ab3SAmit Cohen
13035f15ab3SAmit Cohenswitch_create()
13135f15ab3SAmit Cohen{
13235f15ab3SAmit Cohen	#### BR1 ####
13335f15ab3SAmit Cohen	ip link add name br1 type bridge vlan_filtering 1 \
13435f15ab3SAmit Cohen		vlan_protocol 802.1ad vlan_default_pvid 0 mcast_snooping 0
135*c8015333SPetr Machata	ip link set dev br1 addrgenmode none
13635f15ab3SAmit Cohen	# Make sure the bridge uses the MAC address of the local port and not
13735f15ab3SAmit Cohen	# that of the VxLAN's device.
13835f15ab3SAmit Cohen	ip link set dev br1 address $(mac_get $swp1)
13935f15ab3SAmit Cohen	ip link set dev br1 up
14035f15ab3SAmit Cohen
14135f15ab3SAmit Cohen	#### BR2 ####
14235f15ab3SAmit Cohen	ip link add name br2 type bridge vlan_filtering 0 mcast_snooping 0
14335f15ab3SAmit Cohen	# Make sure the bridge uses the MAC address of the local port and not
14435f15ab3SAmit Cohen	# that of the VxLAN's device.
14535f15ab3SAmit Cohen	ip link set dev br2 address $(mac_get $swp2)
14635f15ab3SAmit Cohen	ip link set dev br2 up
14735f15ab3SAmit Cohen
14835f15ab3SAmit Cohen	ip link set dev $rp1 up
14935f15ab3SAmit Cohen	rp1_set_addr
15035f15ab3SAmit Cohen
15135f15ab3SAmit Cohen	#### VX100 ####
15235f15ab3SAmit Cohen	ip link add name vx100 type vxlan id 1000 local 192.0.2.17 \
15335f15ab3SAmit Cohen		dstport "$VXPORT" nolearning noudpcsum tos inherit ttl 100
15435f15ab3SAmit Cohen	ip link set dev vx100 up
15535f15ab3SAmit Cohen
15635f15ab3SAmit Cohen	ip link set dev vx100 master br1
15735f15ab3SAmit Cohen	bridge vlan add vid 100 dev vx100 pvid untagged
15835f15ab3SAmit Cohen
15935f15ab3SAmit Cohen	ip link set dev $swp1 master br1
16035f15ab3SAmit Cohen	ip link set dev $swp1 up
16135f15ab3SAmit Cohen	bridge vlan add vid 100 dev $swp1 pvid untagged
16235f15ab3SAmit Cohen
16335f15ab3SAmit Cohen	#### VX200 ####
16435f15ab3SAmit Cohen	ip link add name vx200 type vxlan id 2000 local 192.0.2.17 \
16535f15ab3SAmit Cohen		dstport "$VXPORT" nolearning noudpcsum tos inherit ttl 100
16635f15ab3SAmit Cohen	ip link set dev vx200 up
16735f15ab3SAmit Cohen
16835f15ab3SAmit Cohen	ip link set dev vx200 master br2
16935f15ab3SAmit Cohen
17035f15ab3SAmit Cohen	ip link set dev $swp2 up
17135f15ab3SAmit Cohen	ip link add name $swp2.20 link $swp2 type vlan id 20
17235f15ab3SAmit Cohen	ip link set dev $swp2.20 master br2
17335f15ab3SAmit Cohen	ip link set dev $swp2.20 up
17435f15ab3SAmit Cohen
17535f15ab3SAmit Cohen	bridge fdb append dev vx100 00:00:00:00:00:00 dst 192.0.2.34 self
17635f15ab3SAmit Cohen	bridge fdb append dev vx200 00:00:00:00:00:00 dst 192.0.2.50 self
17735f15ab3SAmit Cohen}
17835f15ab3SAmit Cohen
17935f15ab3SAmit Cohenswitch_destroy()
18035f15ab3SAmit Cohen{
18135f15ab3SAmit Cohen	bridge fdb del dev vx200 00:00:00:00:00:00 dst 192.0.2.50 self
18235f15ab3SAmit Cohen	bridge fdb del dev vx100 00:00:00:00:00:00 dst 192.0.2.34 self
18335f15ab3SAmit Cohen
18435f15ab3SAmit Cohen	ip link set dev vx200 nomaster
18535f15ab3SAmit Cohen	ip link set dev vx200 down
18635f15ab3SAmit Cohen	ip link del dev vx200
18735f15ab3SAmit Cohen
18835f15ab3SAmit Cohen	ip link del dev $swp2.20
18935f15ab3SAmit Cohen	ip link set dev $swp2 down
19035f15ab3SAmit Cohen	ip link set dev $swp2 nomaster
19135f15ab3SAmit Cohen
19235f15ab3SAmit Cohen	bridge vlan del vid 100 dev $swp1
19335f15ab3SAmit Cohen	ip link set dev $swp1 down
19435f15ab3SAmit Cohen	ip link set dev $swp1 nomaster
19535f15ab3SAmit Cohen
19635f15ab3SAmit Cohen	ip link set dev vx100 nomaster
19735f15ab3SAmit Cohen	ip link set dev vx100 down
19835f15ab3SAmit Cohen	ip link del dev vx100
19935f15ab3SAmit Cohen
20035f15ab3SAmit Cohen	rp1_unset_addr
20135f15ab3SAmit Cohen	ip link set dev $rp1 down
20235f15ab3SAmit Cohen
20335f15ab3SAmit Cohen	ip link set dev br2 down
20435f15ab3SAmit Cohen	ip link del dev br2
20535f15ab3SAmit Cohen
20635f15ab3SAmit Cohen	ip link set dev br1 down
20735f15ab3SAmit Cohen	ip link del dev br1
20835f15ab3SAmit Cohen}
20935f15ab3SAmit Cohen
21035f15ab3SAmit Cohenvrp2_create()
21135f15ab3SAmit Cohen{
21235f15ab3SAmit Cohen	simple_if_init $rp2 192.0.2.18/28
21335f15ab3SAmit Cohen	__simple_if_init v1 v$rp2 192.0.2.33/28
21435f15ab3SAmit Cohen	__simple_if_init v3 v$rp2 192.0.2.49/28
21535f15ab3SAmit Cohen	tc qdisc add dev v1 clsact
21635f15ab3SAmit Cohen}
21735f15ab3SAmit Cohen
21835f15ab3SAmit Cohenvrp2_destroy()
21935f15ab3SAmit Cohen{
22035f15ab3SAmit Cohen	tc qdisc del dev v1 clsact
22135f15ab3SAmit Cohen	__simple_if_fini v3 192.0.2.49/28
22235f15ab3SAmit Cohen	__simple_if_fini v1 192.0.2.33/28
22335f15ab3SAmit Cohen	simple_if_fini $rp2 192.0.2.18/28
22435f15ab3SAmit Cohen}
22535f15ab3SAmit Cohen
22635f15ab3SAmit Cohenns_init_common()
22735f15ab3SAmit Cohen{
22835f15ab3SAmit Cohen	local in_if=$1; shift
22935f15ab3SAmit Cohen	local in_addr=$1; shift
23035f15ab3SAmit Cohen	local other_in_addr=$1; shift
23135f15ab3SAmit Cohen	local vxlan_name=$1; shift
23235f15ab3SAmit Cohen	local vxlan_id=$1; shift
23335f15ab3SAmit Cohen	local vlan_id=$1; shift
23435f15ab3SAmit Cohen	local host_addr=$1; shift
23535f15ab3SAmit Cohen	local nh_addr=$1; shift
23635f15ab3SAmit Cohen
23735f15ab3SAmit Cohen	ip link set dev $in_if up
23835f15ab3SAmit Cohen	ip address add dev $in_if $in_addr/28
23935f15ab3SAmit Cohen	tc qdisc add dev $in_if clsact
24035f15ab3SAmit Cohen
24135f15ab3SAmit Cohen	ip link add name br3 type bridge vlan_filtering 0
24235f15ab3SAmit Cohen	ip link set dev br3 up
24335f15ab3SAmit Cohen
24435f15ab3SAmit Cohen	ip link add name w1 type veth peer name w2
24535f15ab3SAmit Cohen
24635f15ab3SAmit Cohen	ip link set dev w1 master br3
24735f15ab3SAmit Cohen	ip link set dev w1 up
24835f15ab3SAmit Cohen
24935f15ab3SAmit Cohen	ip link add name $vxlan_name type vxlan id $vxlan_id local $in_addr \
25035f15ab3SAmit Cohen		dstport "$VXPORT"
25135f15ab3SAmit Cohen	ip link set dev $vxlan_name up
25235f15ab3SAmit Cohen	bridge fdb append dev $vxlan_name 00:00:00:00:00:00 dst 192.0.2.17 self
25335f15ab3SAmit Cohen	bridge fdb append dev $vxlan_name 00:00:00:00:00:00 dst $other_in_addr self
25435f15ab3SAmit Cohen
25535f15ab3SAmit Cohen	ip link set dev $vxlan_name master br3
25635f15ab3SAmit Cohen	tc qdisc add dev $vxlan_name clsact
25735f15ab3SAmit Cohen
25835f15ab3SAmit Cohen	simple_if_init w2
25935f15ab3SAmit Cohen	vlan_create w2 $vlan_id vw2 $host_addr/28
26035f15ab3SAmit Cohen
26135f15ab3SAmit Cohen	ip route add 192.0.2.16/28 nexthop via $nh_addr
26235f15ab3SAmit Cohen	ip route add $other_in_addr/32 nexthop via $nh_addr
26335f15ab3SAmit Cohen}
26435f15ab3SAmit Cohenexport -f ns_init_common
26535f15ab3SAmit Cohen
26635f15ab3SAmit Cohenns1_create()
26735f15ab3SAmit Cohen{
26835f15ab3SAmit Cohen	ip netns add ns1
26935f15ab3SAmit Cohen	ip link set dev v2 netns ns1
27035f15ab3SAmit Cohen	in_ns ns1 \
27135f15ab3SAmit Cohen	      ns_init_common v2 192.0.2.34 192.0.2.50 vx100 1000 10 192.0.2.3 \
27235f15ab3SAmit Cohen	      192.0.2.33
27335f15ab3SAmit Cohen
27435f15ab3SAmit Cohen	in_ns ns1 bridge vlan add vid 100 dev vx100 pvid untagged
27535f15ab3SAmit Cohen}
27635f15ab3SAmit Cohen
27735f15ab3SAmit Cohenns1_destroy()
27835f15ab3SAmit Cohen{
27935f15ab3SAmit Cohen	ip netns exec ns1 ip link set dev v2 netns 1
28035f15ab3SAmit Cohen	ip netns del ns1
28135f15ab3SAmit Cohen}
28235f15ab3SAmit Cohen
28335f15ab3SAmit Cohenns2_create()
28435f15ab3SAmit Cohen{
28535f15ab3SAmit Cohen	ip netns add ns2
28635f15ab3SAmit Cohen	ip link set dev v4 netns ns2
28735f15ab3SAmit Cohen	in_ns ns2 \
28835f15ab3SAmit Cohen	      ns_init_common v4 192.0.2.50 192.0.2.34 vx200 2000 20 192.0.2.4 \
28935f15ab3SAmit Cohen	      192.0.2.49
29035f15ab3SAmit Cohen
29135f15ab3SAmit Cohen	in_ns ns2 ip link add name w1.20 link w1 type vlan id 20
29235f15ab3SAmit Cohen	in_ns ns2 ip link set dev w1.20 master br3
29335f15ab3SAmit Cohen	in_ns ns2 ip link set dev w1.20 up
29435f15ab3SAmit Cohen}
29535f15ab3SAmit Cohen
29635f15ab3SAmit Cohenns2_destroy()
29735f15ab3SAmit Cohen{
29835f15ab3SAmit Cohen	ip netns exec ns2 ip link set dev v4 netns 1
29935f15ab3SAmit Cohen	ip netns del ns2
30035f15ab3SAmit Cohen}
30135f15ab3SAmit Cohen
30235f15ab3SAmit Cohensetup_prepare()
30335f15ab3SAmit Cohen{
30435f15ab3SAmit Cohen	h1=${NETIFS[p1]}
30535f15ab3SAmit Cohen	swp1=${NETIFS[p2]}
30635f15ab3SAmit Cohen
30735f15ab3SAmit Cohen	swp2=${NETIFS[p3]}
30835f15ab3SAmit Cohen	h2=${NETIFS[p4]}
30935f15ab3SAmit Cohen
31035f15ab3SAmit Cohen	rp1=${NETIFS[p5]}
31135f15ab3SAmit Cohen	rp2=${NETIFS[p6]}
31235f15ab3SAmit Cohen
31335f15ab3SAmit Cohen	vrf_prepare
31435f15ab3SAmit Cohen	forwarding_enable
31535f15ab3SAmit Cohen
31635f15ab3SAmit Cohen	h1_create
31735f15ab3SAmit Cohen	h2_create
31835f15ab3SAmit Cohen	switch_create
31935f15ab3SAmit Cohen
32035f15ab3SAmit Cohen	ip link add name v1 type veth peer name v2
32135f15ab3SAmit Cohen	ip link add name v3 type veth peer name v4
32235f15ab3SAmit Cohen	vrp2_create
32335f15ab3SAmit Cohen	ns1_create
32435f15ab3SAmit Cohen	ns2_create
32535f15ab3SAmit Cohen
32635f15ab3SAmit Cohen	r1_mac=$(in_ns ns1 mac_get w2)
32735f15ab3SAmit Cohen	r2_mac=$(in_ns ns2 mac_get w2)
32835f15ab3SAmit Cohen	h2_mac=$(mac_get $h2)
32935f15ab3SAmit Cohen}
33035f15ab3SAmit Cohen
33135f15ab3SAmit Cohencleanup()
33235f15ab3SAmit Cohen{
33335f15ab3SAmit Cohen	pre_cleanup
33435f15ab3SAmit Cohen
33535f15ab3SAmit Cohen	ns2_destroy
33635f15ab3SAmit Cohen	ns1_destroy
33735f15ab3SAmit Cohen	vrp2_destroy
33835f15ab3SAmit Cohen	ip link del dev v3
33935f15ab3SAmit Cohen	ip link del dev v1
34035f15ab3SAmit Cohen
34135f15ab3SAmit Cohen	switch_destroy
34235f15ab3SAmit Cohen	h2_destroy
34335f15ab3SAmit Cohen	h1_destroy
34435f15ab3SAmit Cohen
34535f15ab3SAmit Cohen	forwarding_restore
34635f15ab3SAmit Cohen	vrf_cleanup
34735f15ab3SAmit Cohen}
34835f15ab3SAmit Cohen
34935f15ab3SAmit Cohenping_ipv4()
35035f15ab3SAmit Cohen{
35135f15ab3SAmit Cohen	ping_test $h1 192.0.2.3 ": local->remote 1 through VxLAN with an 802.1ad bridge"
35235f15ab3SAmit Cohen	ping_test $h2 192.0.2.4 ": local->remote 2 through VxLAN with an 802.1d bridge"
35335f15ab3SAmit Cohen}
35435f15ab3SAmit Cohen
35535f15ab3SAmit Cohentest_all()
35635f15ab3SAmit Cohen{
35735f15ab3SAmit Cohen	echo "Running tests with UDP port $VXPORT"
35835f15ab3SAmit Cohen	tests_run
35935f15ab3SAmit Cohen}
36035f15ab3SAmit Cohen
36135f15ab3SAmit Cohentrap cleanup EXIT
36235f15ab3SAmit Cohen
36335f15ab3SAmit Cohensetup_prepare
36435f15ab3SAmit Cohensetup_wait
36535f15ab3SAmit Cohentest_all
36635f15ab3SAmit Cohen
36735f15ab3SAmit Cohenexit $EXIT_STATUS
368