~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/drivers/net/mlxsw/extack.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0
  3 #
  4 # Test operations that we expect to report extended ack.
  5 
  6 lib_dir=$(dirname $0)/../../../net/forwarding
  7 
  8 ALL_TESTS="
  9         netdev_pre_up_test
 10         vxlan_vlan_add_test
 11         vxlan_bridge_create_test
 12         bridge_create_test
 13 "
 14 NUM_NETIFS=2
 15 source $lib_dir/lib.sh
 16 
 17 setup_prepare()
 18 {
 19         swp1=${NETIFS[p1]}
 20         swp2=${NETIFS[p2]}
 21 
 22         ip link set dev $swp1 up
 23         ip link set dev $swp2 up
 24 }
 25 
 26 cleanup()
 27 {
 28         pre_cleanup
 29 
 30         ip link set dev $swp2 down
 31         ip link set dev $swp1 down
 32 }
 33 
 34 netdev_pre_up_test()
 35 {
 36         RET=0
 37 
 38         ip link add name br1 type bridge vlan_filtering 0 mcast_snooping 0
 39         ip link set dev br1 addrgenmode none
 40         ip link set dev br1 up
 41         ip link add name vx1 up type vxlan id 1000 \
 42                 local 192.0.2.17 remote 192.0.2.18 \
 43                 dstport 4789 nolearning noudpcsum tos inherit ttl 100
 44 
 45         ip link set dev vx1 master br1
 46         check_err $?
 47 
 48         ip link set dev $swp1 master br1
 49         check_err $?
 50 
 51         ip link add name br2 type bridge vlan_filtering 0 mcast_snooping 0
 52         ip link set dev br2 addrgenmode none
 53         ip link set dev br2 up
 54         ip link add name vx2 up type vxlan id 2000 \
 55                 local 192.0.2.17 remote 192.0.2.18 \
 56                 dstport 4789 nolearning noudpcsum tos inherit ttl 100
 57 
 58         ip link set dev vx2 master br2
 59         check_err $?
 60 
 61         ip link set dev $swp2 master br2
 62         check_err $?
 63 
 64         # Unsupported configuration: mlxsw demands that all offloaded VXLAN
 65         # devices have the same TTL.
 66         ip link set dev vx2 down
 67         ip link set dev vx2 type vxlan ttl 200
 68 
 69         ip link set dev vx2 up &>/dev/null
 70         check_fail $?
 71 
 72         ip link set dev vx2 up 2>&1 >/dev/null | grep -q mlxsw_spectrum
 73         check_err $?
 74 
 75         log_test "extack - NETDEV_PRE_UP"
 76 
 77         ip link del dev vx2
 78         ip link del dev br2
 79 
 80         ip link del dev vx1
 81         ip link del dev br1
 82 }
 83 
 84 vxlan_vlan_add_test()
 85 {
 86         RET=0
 87 
 88         ip link add name br1 type bridge vlan_filtering 1 mcast_snooping 0
 89         ip link set dev br1 addrgenmode none
 90         ip link set dev br1 up
 91 
 92         # Unsupported configuration: mlxsw demands VXLAN with "noudpcsum".
 93         ip link add name vx1 up type vxlan id 1000 \
 94                 local 192.0.2.17 remote 192.0.2.18 \
 95                 dstport 4789 tos inherit ttl 100
 96 
 97         ip link set dev vx1 master br1
 98         check_err $?
 99 
100         bridge vlan add dev vx1 vid 1
101         check_err $?
102 
103         ip link set dev $swp1 master br1
104         check_err $?
105 
106         bridge vlan add dev vx1 vid 1 pvid untagged 2>&1 >/dev/null \
107                 | grep -q mlxsw_spectrum
108         check_err $?
109 
110         log_test "extack - map VLAN at VXLAN device"
111 
112         ip link del dev vx1
113         ip link del dev br1
114 }
115 
116 vxlan_bridge_create_test()
117 {
118         RET=0
119 
120         # Unsupported configuration: mlxsw demands VXLAN with "noudpcsum".
121         ip link add name vx1 up type vxlan id 1000 \
122                 local 192.0.2.17 remote 192.0.2.18 \
123                 dstport 4789 tos inherit ttl 100
124 
125         # Test with VLAN-aware bridge.
126         ip link add name br1 type bridge vlan_filtering 1 mcast_snooping 0
127         ip link set dev br1 addrgenmode none
128         ip link set dev br1 up
129 
130         ip link set dev vx1 master br1
131 
132         ip link set dev $swp1 master br1 2>&1 > /dev/null \
133                 | grep -q mlxsw_spectrum
134         check_err $?
135 
136         # Test with VLAN-unaware bridge.
137         ip link set dev br1 type bridge vlan_filtering 0
138 
139         ip link set dev $swp1 master br1 2>&1 > /dev/null \
140                 | grep -q mlxsw_spectrum
141         check_err $?
142 
143         log_test "extack - bridge creation with VXLAN"
144 
145         ip link del dev br1
146         ip link del dev vx1
147 }
148 
149 bridge_create_test()
150 {
151         RET=0
152 
153         ip link add name br1 type bridge vlan_filtering 1
154         ip link set dev br1 addrgenmode none
155         ip link set dev br1 up
156         ip link add name br2 type bridge vlan_filtering 1
157         ip link set dev br2 addrgenmode none
158         ip link set dev br2 up
159 
160         ip link set dev $swp1 master br1
161         check_err $?
162 
163         # Only one VLAN-aware bridge is supported, so this should fail with
164         # an extack.
165         ip link set dev $swp2 master br2 2>&1 > /dev/null \
166                 | grep -q mlxsw_spectrum
167         check_err $?
168 
169         log_test "extack - multiple VLAN-aware bridges creation"
170 
171         ip link del dev br2
172         ip link del dev br1
173 }
174 
175 trap cleanup EXIT
176 
177 setup_prepare
178 setup_wait
179 
180 tests_run
181 
182 exit $EXIT_STATUS

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php