#!/bin/ash
echo "[ROUTE] down: $SUBNET weight $WEIGHT via $NODE ($REMOTEADDRESS:$REMOTEPORT)"
nonMACChars=`echo $SUBNET | tr -d "[:digit:]" | tr -d [:ABCDEFabcdef]`
date=`date -u`
arpEntries=`arp -an`
mkdir -p /tmp/tinc/peer/$NODE/mac/ /tmp/tinc/peer/$NODE/ip/

if [ -z "$nonMACChars" ]; then
  # This subnet is a MAC
  rm -f /tmp/tinc/peer/$NODE/mac/$SUBNET
  
  if echo $arpEntries | grep -q -E "at $SUBNET "; then
      echo $arpEntries | grep -E "at 0?*$SUBNET0?* " | sed -r 's/^.+\((.+)\).+$/\1/g' | xargs -n1 echo [ARP] Removing from table: 
      echo $arpEntries | grep -E "at 0?*$SUBNET0?* " | sed -r 's/^.+\((.+)\).+$/\1/g' | xargs -n1 arp -d
  fi
else
  # This subnet is an IP address
  if echo "$SUBNET" | grep -q -E ".+/32$"; then
    address=`echo "$SUBNET" | cut -d '/' -f 1`
    rm -f /tmp/tinc/peer/$NODE/ip/$address
    
    if echo $arpEntries | grep -q "\($address\)"; then
      echo "[ARP] Removing from table: $addresss"
      arp -d $address
    fi
  fi
fi

SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT")
$SCRIPTPATH/check-node