#!/bin/bash
# $Header:$

# IFACE                = Logical interface name
# MODE                 = start | stop
# METHOD               = manual, otherwise exit!
# IF_DEVICE	       = device to be used
# IF_ACCEPT_REDIRECTS  = 0/1 - should this interface accept redirects
# IF_SEND_REDIRECTS    = 0/1 - should this interface issue redirects

. /etc/network/if.d/common-functions

# set_bool_value key{0/1} value, where key is a path in
# /proc/sys/net/ipv4/conf/$IF_DEVICE
set_bool_value()
{
  KEY="$1"
  VAL="$2"

  [ -z "$VAL" ] && exit 0

  IFACEDIR="/proc/sys/net/ipv4/conf/$IF_DEVICE"

  if ! echo $VAL | grep -s -q '\(0\|1\)'; then
    abort "no valid value $VAL for key $KEY"
  fi
  
  if [ -e "$IFACEDIR/$KEY" ]; then
    echo $VAL > $IFACEDIR/$KEY
  else
    abort "No such key $KEY in $IFACEDIR for $IF_DEVICE"
  fi
}

case "$MODE" in
  start)
    set_bool_value "accept_redirects" "$IF_ACCEPT_REDIRECTS"
    set_bool_value "send_redirects" "$IF_SEND_REDIRECTS"
    ;;
  *)
    ;;
esac

# end of file
