1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4lib_dir=$(dirname $0)/../../../../net/forwarding 5 6VXPORT=4789 7 8ALL_TESTS=" 9 create_vxlan_on_top_of_8021ad_bridge 10" 11NUM_NETIFS=2 12source $lib_dir/lib.sh 13 14setup_prepare() 15{ 16 swp1=${NETIFS[p1]} 17 swp2=${NETIFS[p2]} 18 19 ip link set dev $swp1 up 20 ip link set dev $swp2 up 21} 22 23cleanup() 24{ 25 pre_cleanup 26 27 ip link set dev $swp2 down 28 ip link set dev $swp1 down 29} 30 31create_vxlan_on_top_of_8021ad_bridge() 32{ 33 RET=0 34 35 ip link add dev br0 type bridge vlan_filtering 1 vlan_protocol 802.1ad \ 36 vlan_default_pvid 0 mcast_snooping 0 37 ip link set dev br0 up 38 39 ip link add name vx100 type vxlan id 1000 local 192.0.2.17 dstport \ 40 "$VXPORT" nolearning noudpcsum tos inherit ttl 100 41 ip link set dev vx100 up 42 43 ip link set dev $swp1 master br0 44 ip link set dev vx100 master br0 45 46 bridge vlan add vid 100 dev vx100 pvid untagged 2>/dev/null 47 check_fail $? "802.1ad bridge with VxLAN in Spectrum-1 not rejected" 48 49 bridge vlan add vid 100 dev vx100 pvid untagged 2>&1 >/dev/null \ 50 | grep -q mlxsw_spectrum 51 check_err $? "802.1ad bridge with VxLAN in Spectrum-1 rejected without extack" 52 53 log_test "create VxLAN on top of 802.1ad bridge" 54 55 ip link del dev vx100 56 ip link del dev br0 57} 58 59trap cleanup EXIT 60 61setup_prepare 62setup_wait 63 64tests_run 65 66exit $EXIT_STATUS 67