12ffd5732SJonathan Toppins#!/bin/sh 22ffd5732SJonathan Toppins# SPDX-License-Identifier: GPL-2.0 32ffd5732SJonathan Toppins# 42ffd5732SJonathan Toppins# cause kernel oops in bond_rr_gen_slave_id 52ffd5732SJonathan ToppinsDEBUG=${DEBUG:-0} 62ffd5732SJonathan Toppins 72ffd5732SJonathan Toppinsset -e 82ffd5732SJonathan Toppinstest ${DEBUG} -ne 0 && set -x 92ffd5732SJonathan Toppins 102ffd5732SJonathan Toppinsfinish() 112ffd5732SJonathan Toppins{ 122ffd5732SJonathan Toppins ip netns delete server || true 132ffd5732SJonathan Toppins ip netns delete client || true 142ffd5732SJonathan Toppins} 152ffd5732SJonathan Toppins 162ffd5732SJonathan Toppinstrap finish EXIT 172ffd5732SJonathan Toppins 182ffd5732SJonathan Toppinsclient_ip4=192.168.1.198 192ffd5732SJonathan Toppinsserver_ip4=192.168.1.254 202ffd5732SJonathan Toppins 212ffd5732SJonathan Toppins# setup kernel so it reboots after causing the panic 222ffd5732SJonathan Toppinsecho 180 >/proc/sys/kernel/panic 232ffd5732SJonathan Toppins 242ffd5732SJonathan Toppins# build namespaces 252ffd5732SJonathan Toppinsip netns add "server" 26bf685836SZhengchao Shaoip netns add "client" 27bf685836SZhengchao Shaoip -n client link add eth0 type veth peer name eth0 netns server 28bf685836SZhengchao Shaoip netns exec server ip link set dev eth0 up 292ffd5732SJonathan Toppinsip netns exec server ip addr add ${server_ip4}/24 dev eth0 302ffd5732SJonathan Toppins 312ffd5732SJonathan Toppinsip netns exec client ip link add dev bond0 down type bond mode 1 \ 322ffd5732SJonathan Toppins miimon 100 all_slaves_active 1 33*61fa2493SHangbin Liuip netns exec client ip link set dev eth0 master bond0 342ffd5732SJonathan Toppinsip netns exec client ip link set dev bond0 up 352ffd5732SJonathan Toppinsip netns exec client ip addr add ${client_ip4}/24 dev bond0 362ffd5732SJonathan Toppinsip netns exec client ping -c 5 $server_ip4 >/dev/null 372ffd5732SJonathan Toppins 38*61fa2493SHangbin Liuip netns exec client ip link set dev eth0 nomaster 392ffd5732SJonathan Toppinsip netns exec client ip link set dev bond0 down 402ffd5732SJonathan Toppinsip netns exec client ip link set dev bond0 type bond mode 0 \ 412ffd5732SJonathan Toppins arp_interval 1000 arp_ip_target "+${server_ip4}" 42*61fa2493SHangbin Liuip netns exec client ip link set dev eth0 master bond0 432ffd5732SJonathan Toppinsip netns exec client ip link set dev bond0 up 442ffd5732SJonathan Toppinsip netns exec client ping -c 5 $server_ip4 >/dev/null 452ffd5732SJonathan Toppins 462ffd5732SJonathan Toppinsexit 0 47