#! /bin/bash # # Usage: vyatta-link-detect devicename on|off # usage() { echo "Usage: $0 devicename {on|off}" exit 1 } if [ $# -ne 2 ]; then usage fi # Note can't use sysctl it is broken for vif name because of dots # link_filter values: # 0 - always receive # 1 - ignore receive if admin_down # 2 - ignore receive if admin_down or link down set_linkfilter () { net_set /proc/sys/net/ipv4/conf/$1/link_filter=$2 } case $2 in on) set_linkfilter $1 2 exec vtysh -c "configure terminal" -c "interface $1" \ -c "link-detect" ;; off) set_linkfilter $1 1 exec vtysh -c "configure terminal" -c "interface $1" \ -c "no link-detect" ;; *) usage;; esac # not reached