Project

General

Profile

Bug #418 » test-mcast-bla.sh

Linus Lüssing, 09/14/2020 10:40 AM

 
#!/bin/sh

PATH=/mnt/batctl:$PATH
NUM_NODES=8

setup() {
modprobe crc16 > /dev/null
modprobe libcrc32c > /dev/null
modprobe bridge > /dev/null
modprobe cfg80211 > /dev/null

insmod /mnt/batman-adv/net/batman-adv/batman-adv.ko

for i in `seq 1 $NUM_NODES`; do
batctl meshif bat$i interface create
ip link add dummy$i type dummy
batctl meshif bat$i interface add dummy$i

brctl addbr br$i
brctl addif br$i bat$i

ip link set up dev bat$i
ip link set up dev dummy$i
ip link set up dev br$i
done

# cabeling
for i in `seq 1 $NUM_NODES`; do
for j in `seq 1 $NUM_NODES`; do
[ $i -ge $j ] && continue

ip link add mesh-bat$i-bat$j type veth peer name mesh-bat$j-bat$i
batctl meshif bat$i interface add mesh-bat$i-bat$j
batctl meshif bat$j interface add mesh-bat$j-bat$i

ip link set up dev mesh-bat$i-bat$j
ip link set up dev mesh-bat$j-bat$i
done
done

ip link add lan-br1-br0 type veth peer name lan-br0-br1
ip link add lan-br2-br0 type veth peer name lan-br0-br2

brctl addbr br0
brctl addif br0 lan-br0-br1
brctl addif br0 lan-br0-br2
brctl addif br1 lan-br1-br0
brctl addif br2 lan-br2-br0

ip link set up dev lan-br0-br1
ip link set up dev lan-br1-br0
ip link set up dev lan-br0-br2
ip link set up dev lan-br2-br0
ip link set up dev br0
}

teardown() {
brctl delif br0 lan-br0-br1
brctl delif br0 lan-br0-br2
brctl delif br1 lan-br1-br0
brctl delif br2 lan-br2-br0
ip link delete lan-br0-br1
ip link delete lan-br0-br2
ip link delete br0

for i in `seq 1 $NUM_NODES`; do
for j in `seq 1 $NUM_NODES`; do
[ $i -ge $j ] && continue

ip link delete mesh-bat$i-bat$j
done

ip link delete bat$i
ip link delete br$i
ip link delete dummy$i
done

rmmod batman-adv
}

if [ $# -ne 1 ]; then
echo ups
exit 1
fi

if [ "$1" = "setup" ]; then
setup
elif [ "$1" = "teardown" ]; then
teardown
elif [ "$1" = "reload" ]; then
teardown
setup
fi
    (1-1/1)