#!/bin/sh LOG_FILE="/var/log/batman-routing.log" echo "" > $LOG_FILE date=(/bin/date +"%Y-%m-%d %H:%M:%S") while read method action mtype dst mask gw src_ip ifi_prio dev table do if [ "$method" == "ROUTE" ] then if [ "$mtype" == "UNICAST" ] then if [ "$mask" == "32" -a "$table" == "66" ] then # HOST-Route if [ "$action" == "add" ] then if [ "$gw" == "$dst" ] then # DIRECT NEIGHBOUR /sbin/ip route add $dst src $src_ip dev $dev table $table echo "Add neighbour: $dst reached by $src_ip@$dev" >> $LOG_FILE else # TWO-HOP NEIGHBOUR /sbin/ip route add $dst/$mask via $gw src $src_ip dev $dev table $table echo "Add host: $dst via $gw reached by $src_ip@$dev" >> $LOG_FILE fi elif [ "$action" == "del" ] then # Remove a HOST-Route /sbin/ip route del $dst table $table echo "Delete neighbour: $dst" >> $LOG_FILE fi elif [ "$mask" != "32" -a "$table" == "65" ] then # NETWORK-Announcement if [ "$action" == "add" ] then # Add Network /sbin/ip route add $dst/$mask via $gw src $src_ip dev $dev table $table echo "Add network: $dst/$mask via $gw reached by $src_ip@$dev" >> $LOG_FILE elif [ "$action" == "del" ] then # Remove Network /sbin/ip route del $dst/$mask via $gw table $table echo "Add network: $dst/$mask via $gw" >> $LOG_FILE fi fi fi fi done