1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3# 4# Test operations that we expect to report extended ack. 5 6lib_dir=$(dirname $0)/../../../net/forwarding 7 8ALL_TESTS=" 9 netdev_pre_up_test 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 31netdev_pre_up_test() 32{ 33 RET=0 34 35 ip link add name br1 up type bridge vlan_filtering 0 mcast_snooping 0 36 ip link add name vx1 up type vxlan id 1000 \ 37 local 192.0.2.17 remote 192.0.2.18 \ 38 dstport 4789 nolearning noudpcsum tos inherit ttl 100 39 40 ip link set dev vx1 master br1 41 check_err $? 42 43 ip link set dev $swp1 master br1 44 check_err $? 45 46 ip link add name br2 up type bridge vlan_filtering 0 mcast_snooping 0 47 ip link add name vx2 up type vxlan id 2000 \ 48 local 192.0.2.17 remote 192.0.2.18 \ 49 dstport 4789 nolearning noudpcsum tos inherit ttl 100 50 51 ip link set dev vx2 master br2 52 check_err $? 53 54 ip link set dev $swp2 master br2 55 check_err $? 56 57 # Unsupported configuration: mlxsw demands that all offloaded VXLAN 58 # devices have the same TTL. 59 ip link set dev vx2 down 60 ip link set dev vx2 type vxlan ttl 200 61 62 ip link set dev vx2 up &>/dev/null 63 check_fail $? 64 65 ip link set dev vx2 up 2>&1 >/dev/null | grep -q mlxsw_spectrum 66 check_err $? 67 68 log_test "extack - NETDEV_PRE_UP" 69 70 ip link del dev vx2 71 ip link del dev br2 72 73 ip link del dev vx1 74 ip link del dev br1 75} 76 77trap cleanup EXIT 78 79setup_prepare 80setup_wait 81 82tests_run 83 84exit $EXIT_STATUS 85