Path: blob/master/tools/testing/selftests/drivers/net/bonding/bond-arp-interval-causes-panic.sh
26292 views
#!/bin/sh1# SPDX-License-Identifier: GPL-2.02#3# cause kernel oops in bond_rr_gen_slave_id4DEBUG=${DEBUG:-0}56set -e7test ${DEBUG} -ne 0 && set -x89finish()10{11ip netns delete server || true12ip netns delete client || true13}1415trap finish EXIT1617client_ip4=192.168.1.19818server_ip4=192.168.1.2541920# setup kernel so it reboots after causing the panic21echo 180 >/proc/sys/kernel/panic2223# build namespaces24ip netns add "server"25ip netns add "client"26ip -n client link add eth0 type veth peer name eth0 netns server27ip netns exec server ip link set dev eth0 up28ip netns exec server ip addr add ${server_ip4}/24 dev eth02930ip netns exec client ip link add dev bond0 down type bond mode 1 \31miimon 100 all_slaves_active 132ip netns exec client ip link set dev eth0 master bond033ip netns exec client ip link set dev bond0 up34ip netns exec client ip addr add ${client_ip4}/24 dev bond035ip netns exec client ping -c 5 $server_ip4 >/dev/null3637ip netns exec client ip link set dev eth0 nomaster38ip netns exec client ip link set dev bond0 down39ip netns exec client ip link set dev bond0 type bond mode 0 \40arp_interval 1000 arp_ip_target "+${server_ip4}"41ip netns exec client ip link set dev eth0 master bond042ip netns exec client ip link set dev bond0 up43ip netns exec client ping -c 5 $server_ip4 >/dev/null4445exit 0464748