brintos

brintos / linux-shallow public Read only

0
0
Text · 2.3 KiB · a43b464 Raw
152 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4ALL_TESTS="ping_ipv4 ping_ipv6 flooding"5NUM_NETIFS=66CHECK_TC="yes"7source lib.sh8 9h1_create()10{11	simple_if_init $h1 192.0.2.1/24 2001:db8:1::1/6412}13 14h1_destroy()15{16	simple_if_fini $h1 192.0.2.1/24 2001:db8:1::1/6417}18 19h2_create()20{21	simple_if_init $h2 192.0.2.2/24 2001:db8:1::2/6422}23 24h2_destroy()25{26	simple_if_fini $h2 192.0.2.2/24 2001:db8:1::2/6427}28 29h3_create()30{31	simple_if_init $h3 192.0.2.3/24 2001:db8:1::3/6432}33 34h3_destroy()35{36	simple_if_fini $h3 192.0.2.3/24 2001:db8:1::3/6437}38 39switch_create()40{41	ip link add dev br0 type bridge42 43	ip link set dev $swp1 master br044	ip link set dev $swp2 master br045	ip link set dev $swp3 master br046 47	ip link set dev $swp1 type bridge_slave isolated on48	check_err $? "Can't set isolation on port $swp1"49	ip link set dev $swp2 type bridge_slave isolated on50	check_err $? "Can't set isolation on port $swp2"51	ip link set dev $swp3 type bridge_slave isolated off52	check_err $? "Can't disable isolation on port $swp3"53 54	ip link set dev br0 up55	ip link set dev $swp1 up56	ip link set dev $swp2 up57	ip link set dev $swp3 up58}59 60switch_destroy()61{62	ip link set dev $swp3 down63	ip link set dev $swp2 down64	ip link set dev $swp1 down65 66	ip link del dev br067}68 69setup_prepare()70{71	h1=${NETIFS[p1]}72	swp1=${NETIFS[p2]}73 74	swp2=${NETIFS[p3]}75	h2=${NETIFS[p4]}76 77	swp3=${NETIFS[p5]}78	h3=${NETIFS[p6]}79 80	vrf_prepare81 82	h1_create83	h2_create84	h3_create85 86	switch_create87}88 89cleanup()90{91	pre_cleanup92 93	switch_destroy94 95	h3_destroy96	h2_destroy97	h1_destroy98 99	vrf_cleanup100}101 102ping_ipv4()103{104	RET=0105	ping_do $h1 192.0.2.2106	check_fail $? "Ping worked when it should not have"107 108	RET=0109	ping_do $h3 192.0.2.2110	check_err $? "Ping didn't work when it should have"111 112	log_test "Isolated port ping"113}114 115ping_ipv6()116{117	RET=0118	ping6_do $h1 2001:db8:1::2119	check_fail $? "Ping6 worked when it should not have"120 121	RET=0122	ping6_do $h3 2001:db8:1::2123	check_err $? "Ping6 didn't work when it should have"124 125	log_test "Isolated port ping6"126}127 128flooding()129{130	local mac=de:ad:be:ef:13:37131	local ip=192.0.2.100132 133	RET=0134	flood_test_do false $mac $ip $h1 $h2135	check_err $? "Packet was flooded when it should not have been"136 137	RET=0138	flood_test_do true $mac $ip $h3 $h2139	check_err $? "Packet was not flooded when it should have been"140 141	log_test "Isolated port flooding"142}143 144trap cleanup EXIT145 146setup_prepare147setup_wait148 149tests_run150 151exit $EXIT_STATUS152