diff options
Diffstat (limited to 'package/base-files/files/etc/hotplug.d/iface/10-routes')
-rw-r--r-- | package/base-files/files/etc/hotplug.d/iface/10-routes | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/package/base-files/files/etc/hotplug.d/iface/10-routes b/package/base-files/files/etc/hotplug.d/iface/10-routes deleted file mode 100644 index d57a5b3..0000000 --- a/package/base-files/files/etc/hotplug.d/iface/10-routes +++ /dev/null @@ -1,137 +0,0 @@ -add_route() { - local config="$1" - - # is this route intended for the - # $INTERFACE of this hotplug event - config_get interface "$config" interface - [ "$interface" != "$INTERFACE" ] && return 0 - - # get the real interface name from network config - config_get dev "$interface" ifname - - config_get target "$config" target - config_get netmask "$config" netmask - config_get gateway "$config" gateway - config_get metric "$config" metric - config_get mtu "$config" mtu - - # make sure there is a gateway and a target - [ -n "$target" ] || { - echo "Missing target in route section $config" - return 1 - } - [ -n "$gateway" ] || { - config_get gateway "$interface" gateway - } - - # handle "0.0.0.0" as "no gateway given" to allow - # defining gateway-less routes while still keeping - # the possibility to have static routes with a - # proper gateway on interfaces with dynamic ips - [ "$gateway" = "0.0.0.0" ] && gateway="" - - dest="${netmask:+-net "$target" netmask "$netmask"}" - dest="${dest:--host "$target"}" - - /sbin/route add $dest ${gateway:+gw "$gateway"} \ - ${dev:+dev "$dev"} ${metric:+ metric "$metric"} \ - ${mtu:+mss "$mtu"} -} - -add_route6() { - local config="$1" - - # is this route intended for the - # $INTERFACE of this hotplug event - config_get interface "$config" interface - [ "$interface" != "$INTERFACE" ] && return 0 - - # get the real interface name from network config - config_get dev "$interface" ifname - - config_get target "$config" target - config_get gateway "$config" gateway - config_get metric "$config" metric - config_get mtu "$config" mtu - - # make sure there is a gateway and a target - [ -n "$target" ] || { - echo "Missing target in route section $config" - return 1 - } - [ -n "$gateway" ] || { - config_get gateway "$interface" gateway - } - - /sbin/route -A inet6 add $target ${gateway:+gw "$gateway"} \ - ${dev:+dev "$dev"} ${metric:+ metric "$metric"} \ - ${mtu:+mss "$mtu"} -} - -# Skip fake devices (e.g. relayd) -grep -qs "^ *$DEVICE:" /proc/net/dev || exit 0 - -case "$ACTION" in - ifup) - include /lib/network - scan_interfaces - - # Setup aliases - config_set "$INTERFACE" aliases "" - config_set "$INTERFACE" alias_count 0 - config_foreach setup_interface_alias alias "$INTERFACE" "$DEVICE" - - # Save alias references in state vars - local aliases - config_get aliases "$INTERFACE" aliases - [ -z "$aliases" ] || uci_toggle_state network "$INTERFACE" aliases "$aliases" - - # Make ip6addr of parent iface the main address again - local ip6addr - config_get ip6addr "$INTERFACE" ip6addr - [ -z "$ip6addr" ] || { - ifconfig "$DEVICE" del "$ip6addr" - ifconfig "$DEVICE" add "$ip6addr" - } - - # Setup sysctls - local proto accept_ra send_rs - - config_get proto "$INTERFACE" proto - if [ "$proto" = dhcp ]; then - accept_ra=1 - send_rs=0 - else - accept_ra=0 - send_rs=1 - fi - - config_get_bool accept_ra "$INTERFACE" accept_ra $accept_ra - [ $accept_ra -eq 0 ] || { - logger -t ifup "Allowing Router Advertisements on $INTERFACE ($DEVICE)" - accept_ra=2 - } - do_sysctl "net.ipv6.conf.$DEVICE.accept_ra" $accept_ra - - config_get_bool send_rs "$INTERFACE" send_rs $send_rs - [ $send_rs -eq 0 ] || { - logger -t ifup "Enabling Router Solicitations on $INTERFACE ($DEVICE)" - send_rs=2 - } - do_sysctl "net.ipv6.conf.$DEVICE.forwarding" $send_rs - - - # Setup routes - config_foreach "add_route" route - config_foreach "add_route6" route6 - ;; - ifdown) - # Bring down named aliases - local device=$(uci_get_state network "$INTERFACE" device) - local ifn - for ifn in $(ifconfig | sed -ne "s/^\(\($DEVICE${device:+\|$device}\|br-$INTERFACE\):[^[:space:]]\+\).*/\1/p"); do - ifconfig "$ifn" down - done - ;; -esac - |