#!/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 /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