| #!/bin/bash |
| # SPDX-License-Identifier: GPL-2.0 |
| |
| lib_dir=$(dirname $0)/../../../../net/forwarding |
| |
| VXPORT=4789 |
| |
| ALL_TESTS=" |
| create_vxlan_on_top_of_8021ad_bridge |
| " |
| NUM_NETIFS=2 |
| source $lib_dir/lib.sh |
| |
| setup_prepare() |
| { |
| swp1=${NETIFS[p1]} |
| swp2=${NETIFS[p2]} |
| |
| ip link set dev $swp1 up |
| ip link set dev $swp2 up |
| } |
| |
| cleanup() |
| { |
| pre_cleanup |
| |
| ip link set dev $swp2 down |
| ip link set dev $swp1 down |
| } |
| |
| create_vxlan_on_top_of_8021ad_bridge() |
| { |
| RET=0 |
| |
| ip link add dev br0 type bridge vlan_filtering 1 vlan_protocol 802.1ad \ |
| vlan_default_pvid 0 mcast_snooping 0 |
| ip link set dev br0 up |
| |
| ip link add name vx100 type vxlan id 1000 local 192.0.2.17 dstport \ |
| "$VXPORT" nolearning noudpcsum tos inherit ttl 100 |
| ip link set dev vx100 up |
| |
| ip link set dev $swp1 master br0 |
| ip link set dev vx100 master br0 |
| |
| bridge vlan add vid 100 dev vx100 pvid untagged 2>/dev/null |
| check_fail $? "802.1ad bridge with VxLAN in Spectrum-1 not rejected" |
| |
| bridge vlan add vid 100 dev vx100 pvid untagged 2>&1 >/dev/null \ |
| | grep -q mlxsw_spectrum |
| check_err $? "802.1ad bridge with VxLAN in Spectrum-1 rejected without extack" |
| |
| log_test "create VxLAN on top of 802.1ad bridge" |
| |
| ip link del dev vx100 |
| ip link del dev br0 |
| } |
| |
| trap cleanup EXIT |
| |
| setup_prepare |
| setup_wait |
| |
| tests_run |
| |
| exit $EXIT_STATUS |