[package] base-files: save the connect time of interfaces in uci state
[openwrt.git] / package / base-files / files / etc / hotplug.d / iface / 10-routes
index 118c1a6..3e0bebb 100644 (file)
@@ -13,6 +13,7 @@ add_route() {
        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" ] || {
@@ -33,7 +34,8 @@ add_route() {
        dest="${dest:--host "$target"}"
        
        /sbin/route add $dest ${gateway:+gw "$gateway"} \
-               ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+               ${dev:+dev "$dev"} ${metric:+ metric "$metric"} \
+               ${mtu:+mss "$mtu"}
 }
 
 add_route6() {
@@ -50,6 +52,7 @@ add_route6() {
        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" ] || {
@@ -61,7 +64,8 @@ add_route6() {
        }
 
        /sbin/route -A inet6 add $target ${gateway:+gw "$gateway"} \
-               ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+               ${dev:+dev "$dev"} ${metric:+ metric "$metric"} \
+               ${mtu:+mss "$mtu"}
 }
 
 case "$ACTION" in
@@ -93,8 +97,9 @@ case "$ACTION" in
        ;;
        ifdown)
                # Bring down named aliases
+               local device=$(uci_get_state network "$INTERFACE" device)
                local ifn
-               for ifn in $(ifconfig | sed -ne "s/^\($DEVICE:[^[:space:]]\+\).*/\1/p"); do
+               for ifn in $(ifconfig | sed -ne "s/^\(\($DEVICE${device:+\|$device}\|br-$INTERFACE\):[^[:space:]]\+\).*/\1/p"); do
                        ifconfig "$ifn" down
                done
        ;;
This page took 0.023374 seconds and 4 git commands to generate.