brintos

brintos / linux-shallow public Read only

0
0
Text · 3.9 KiB · 215309e Raw
170 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4# +------------------------+                           +----------------------+5# | H1 (vrf)               |                           |             H2 (vrf) |6# |    + $h1.555           |                           |  + $h2.777           |7# |    | 192.0.2.1/28      |                           |  | 192.0.2.18/28     |8# |    | 2001:db8:1::1/64  |                           |  | 2001:db8:2::2/64  |9# |    |                   |                           |  |                   |10# |    + $h1               |                           |  + $h2               |11# +----|-------------------+                           +--|-------------------+12#      |                                                  |13# +----|--------------------------------------------------|-------------------+14# | SW |                                                  |                   |15# | +--|--------------------------------------------------|-----------------+ |16# | |  + $swp1                   BR1 (802.1q)             + $swp2           | |17# | |                                                                       | |18# | +------+------------------------------------------+---------------------+ |19# |        |                                          |                       |20# |        + br1.555                                  + br1.777               |21# |          192.0.2.2/28                               192.0.2.17/28         |22# |          2001:db8:1::2/64                           2001:db8:2::1/64      |23# +---------------------------------------------------------------------------+24 25ALL_TESTS="26	ping_ipv427	ping_ipv628	respin_config29	ping_ipv430	ping_ipv631"32NUM_NETIFS=433source lib.sh34 35h1_create()36{37	simple_if_init $h138	vlan_create $h1 555 v$h1 192.0.2.1/28 2001:db8:1::1/6439	ip -4 route add 192.0.2.16/28 vrf v$h1 nexthop via 192.0.2.240	ip -6 route add 2001:db8:2::/64 vrf v$h1 nexthop via 2001:db8:1::241}42 43h1_destroy()44{45	ip -6 route del 2001:db8:2::/64 vrf v$h146	ip -4 route del 192.0.2.16/28 vrf v$h147	vlan_destroy $h1 55548	simple_if_fini $h149}50 51h2_create()52{53	simple_if_init $h254	vlan_create $h2 777 v$h2 192.0.2.18/28 2001:db8:2::2/6455	ip -4 route add 192.0.2.0/28 vrf v$h2 nexthop via 192.0.2.1756	ip -6 route add 2001:db8:1::/64 vrf v$h2 nexthop via 2001:db8:2::157}58 59h2_destroy()60{61	ip -6 route del 2001:db8:1::/64 vrf v$h262	ip -4 route del 192.0.2.0/28 vrf v$h263	vlan_destroy $h2 77764	simple_if_fini $h265}66 67router_create()68{69	ip link add name br1 address $(mac_get $swp1) \70		type bridge vlan_filtering 171	ip link set dev br1 up72 73	ip link set dev $swp1 master br174	ip link set dev $swp2 master br175	ip link set dev $swp1 up76	ip link set dev $swp2 up77 78	bridge vlan add dev br1 vid 555 self79	bridge vlan add dev br1 vid 777 self80	bridge vlan add dev $swp1 vid 55581	bridge vlan add dev $swp2 vid 77782 83	vlan_create br1 555 "" 192.0.2.2/28 2001:db8:1::2/6484	vlan_create br1 777 "" 192.0.2.17/28 2001:db8:2::1/6485}86 87router_destroy()88{89	vlan_destroy br1 77790	vlan_destroy br1 55591 92	bridge vlan del dev $swp2 vid 77793	bridge vlan del dev $swp1 vid 55594	bridge vlan del dev br1 vid 777 self95	bridge vlan del dev br1 vid 555 self96 97	ip link set dev $swp2 down nomaster98	ip link set dev $swp1 down nomaster99 100	ip link set dev br1 down101	ip link del dev br1102}103 104setup_prepare()105{106	h1=${NETIFS[p1]}107	swp1=${NETIFS[p2]}108 109	swp2=${NETIFS[p3]}110	h2=${NETIFS[p4]}111 112	vrf_prepare113 114	h1_create115	h2_create116 117	router_create118 119	forwarding_enable120}121 122cleanup()123{124	pre_cleanup125 126	forwarding_restore127 128	router_destroy129 130	h2_destroy131	h1_destroy132 133	vrf_cleanup134}135 136ping_ipv4()137{138	ping_test $h1 192.0.2.18139}140 141ping_ipv6()142{143	ping6_test $h1 2001:db8:2::2144}145 146respin_config()147{148	log_info "Remaster bridge slave"149 150	ip link set dev $swp2 nomaster151	ip link set dev $swp1 nomaster152 153	sleep 2154 155	ip link set dev $swp1 master br1156	ip link set dev $swp2 master br1157 158	bridge vlan add dev $swp1 vid 555159	bridge vlan add dev $swp2 vid 777160}161 162trap cleanup EXIT163 164setup_prepare165setup_wait166 167tests_run168 169exit $EXIT_STATUS170