#!/bin/sh # # /etc/rc.d/blan: start/stop virtual network interfaces # DEV="br0" PHY="enp8s0" ADDR=10.0.0.254 #ADDR=10.0.1.254 MASK=8 #GW=10.0.0.1 GW=192.168.1.254 # one tap for each cpu core NTAPS=$((`/usr/bin/nproc`)) case $1 in start) /sbin/ip link add name ${DEV} type bridge /sbin/ip addr add ${ADDR}/${MASK} dev ${DEV} broadcast + /sbin/ip link set dev ${DEV} up /bin/sleep 0.2s # Add network to virtual bridge /sbin/ip link set dev ${PHY} down /bin/sleep 0.1s /sbin/ip route flush dev ${PHY} /sbin/ip addr flush dev ${PHY} /sbin/ip link set dev ${PHY} up /bin/sleep 0.2s /sbin/ip link set dev ${PHY} master ${DEV} /sbin/ip route add default via ${GW} for i in `/usr/bin/seq $NTAPS` do TAP="tap$i" echo "Setting up ${TAP} tap interface." /sbin/ip tuntap add ${TAP} mode tap group kvm /sbin/ip link set ${TAP} up /bin/sleep 0.2s /sbin/ip link set ${TAP} master ${DEV} done exit 0 ;; stop) for i in `/usr/bin/seq $NTAPS` do TAP="tap$i" echo "Deleting ${TAP} tap interface." /sbin/ip link del ${TAP} done /sbin/ip link set dev ${DEV} down /sbin/ip route flush dev ${DEV} /sbin/ip link del ${DEV} exit 0 ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 [start|stop|restart]" ;; esac # End of file