mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-08-22 00:42:01 +02:00

The mirroring tests are currently run in a skip_hw and optionally a skip_sw mode. The former tests the SW datapath, the latter the HW datapath, if available. In order to be able to test SW datapath on HW loopbacks, traps are installed on ingress to get traffic from the HW datapath to the SW one. This adds an unnecessary complexity when it would be much simpler to just use a veth-based topology to test the SW datapath. Thus drop all the code that supports this dual testing. Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Danielle Ratson <danieller@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
113 lines
1.9 KiB
Bash
Executable File
113 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
# This test uses standard topology for testing mirroring. See mirror_topo_lib.sh
|
|
# for more details.
|
|
#
|
|
# Test for "tc action mirred egress mirror" that mirrors to a vlan device.
|
|
|
|
ALL_TESTS="
|
|
test_vlan
|
|
test_tagged_vlan
|
|
"
|
|
|
|
NUM_NETIFS=6
|
|
source lib.sh
|
|
source mirror_lib.sh
|
|
source mirror_topo_lib.sh
|
|
|
|
setup_prepare()
|
|
{
|
|
h1=${NETIFS[p1]}
|
|
swp1=${NETIFS[p2]}
|
|
|
|
swp2=${NETIFS[p3]}
|
|
h2=${NETIFS[p4]}
|
|
|
|
swp3=${NETIFS[p5]}
|
|
h3=${NETIFS[p6]}
|
|
|
|
vrf_prepare
|
|
mirror_topo_create
|
|
|
|
vlan_create $swp3 555
|
|
|
|
vlan_create $h3 555 v$h3
|
|
matchall_sink_create $h3.555
|
|
|
|
vlan_create $h1 111 v$h1 192.0.2.17/28
|
|
bridge vlan add dev $swp1 vid 111
|
|
|
|
vlan_create $h2 111 v$h2 192.0.2.18/28
|
|
bridge vlan add dev $swp2 vid 111
|
|
|
|
trap_install $h3 ingress
|
|
}
|
|
|
|
cleanup()
|
|
{
|
|
pre_cleanup
|
|
|
|
trap_uninstall $h3 ingress
|
|
|
|
vlan_destroy $h2 111
|
|
vlan_destroy $h1 111
|
|
vlan_destroy $h3 555
|
|
vlan_destroy $swp3 555
|
|
|
|
mirror_topo_destroy
|
|
vrf_cleanup
|
|
}
|
|
|
|
test_vlan_dir()
|
|
{
|
|
local direction=$1; shift
|
|
local forward_type=$1; shift
|
|
local backward_type=$1; shift
|
|
|
|
RET=0
|
|
|
|
mirror_install $swp1 $direction $swp3.555 "matchall"
|
|
test_span_dir "$h3.555" "$forward_type" "$backward_type"
|
|
mirror_uninstall $swp1 $direction
|
|
|
|
log_test "$direction mirror to vlan"
|
|
}
|
|
|
|
test_vlan()
|
|
{
|
|
test_vlan_dir ingress 8 0
|
|
test_vlan_dir egress 0 8
|
|
}
|
|
|
|
test_tagged_vlan_dir()
|
|
{
|
|
local direction=$1; shift
|
|
local forward_type=$1; shift
|
|
local backward_type=$1; shift
|
|
|
|
RET=0
|
|
|
|
mirror_install $swp1 $direction $swp3.555 "matchall"
|
|
do_test_span_vlan_dir_ips '>= 10' "$h3.555" 111 ip 192.0.2.17 192.0.2.18
|
|
do_test_span_vlan_dir_ips 0 "$h3.555" 555 ip 192.0.2.17 192.0.2.18
|
|
mirror_uninstall $swp1 $direction
|
|
|
|
log_test "$direction mirror tagged to vlan"
|
|
}
|
|
|
|
test_tagged_vlan()
|
|
{
|
|
test_tagged_vlan_dir ingress 8 0
|
|
test_tagged_vlan_dir egress 0 8
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
setup_prepare
|
|
setup_wait
|
|
|
|
tests_run
|
|
|
|
exit $EXIT_STATUS
|