X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/85773b84bec362be8f137e51d6c373259675c153..218bf045706c685fc7fd3542671886a4cbb8fa29:/package/base-files/files/etc/hotplug.d/iface/10-routes diff --git a/package/base-files/files/etc/hotplug.d/iface/10-routes b/package/base-files/files/etc/hotplug.d/iface/10-routes index 118c1a665..3e0bebbbe 100644 --- a/package/base-files/files/etc/hotplug.d/iface/10-routes +++ b/package/base-files/files/etc/hotplug.d/iface/10-routes @@ -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 ;;