31 lines
902 B
Bash
Executable File
31 lines
902 B
Bash
Executable File
#!/bin/bash
|
|
set -Eeuo pipefail
|
|
|
|
EMPTYBR=$(for br in /sys/devices/virtual/net/br*; do if [ ! -d $br ]; then continue; fi; ls $br/brif/ | grep -qv "vxlan\|vlan" || echo ${br##*/}; done)
|
|
|
|
for BRIDGE in $EMPTYBR
|
|
do
|
|
echo "removing unused customer bridge/vxlan: $BRIDGE"
|
|
for uplinkif in ls /sys/devices/virtual/net/$BRIDGE/brif/; do
|
|
ip link del dev $uplinkif
|
|
done
|
|
ip link set down $BRIDGE
|
|
brctl delbr $BRIDGE
|
|
done
|
|
|
|
|
|
|
|
for route in $(vtysh -c "show ip route kernel" | grep 'unknown inactive' | grep -Po 'K[ >]\* \K\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,3}')
|
|
do
|
|
echo "removing zombie route: $route"
|
|
ip route add blackhole $route
|
|
ip route del $route
|
|
done
|
|
|
|
#for route in $(vtysh -c "show ipv6 route kernel" | grep 'unknown inactive' | awk '{ print $3 }')
|
|
# do
|
|
# echo "removing zombie route: $route"
|
|
# ip route add blackhole $route
|
|
# ip route del $route
|
|
#done
|