netifd: Set source IP for DHCP static routes as well
[openwrt.git] / package / network / config / netifd / files / lib / netifd / dhcp.script
index db3fc01..54d3aa1 100755 (executable)
@@ -6,9 +6,8 @@
 
 set_classless_routes() {
        local max=128
-       local type
        while [ -n "$1" -a -n "$2" -a $max -gt 0 ]; do
-               proto_add_ipv4_route "${1%%/*}" "${1##*/}" "$2"
+               proto_add_ipv4_route "${1%%/*}" "${1##*/}" "$2" "$ip"
                max=$(($max-1))
                shift 2
        done
@@ -20,7 +19,7 @@ setup_interface () {
        # TODO: apply $broadcast
 
        for i in $router; do
-               proto_add_ipv4_route 0.0.0.0 0 "$i"
+               proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip"
        done
 
        # CIDR STATIC ROUTES (rfc3442)
@@ -50,7 +49,7 @@ setup_interface () {
                ip6rd="${ip6rd#* }"
                local ip6rdbr="${ip6rd%% *}"
 
-               [ -n "$ZONE" ] || ZONE=$(fw3 network $INTERFACE)
+               [ -n "$ZONE" ] || ZONE=$(fw3 -q network $INTERFACE)
                [ -z "$IFACE6RD" -o "$IFACE6RD" = 1 ] && IFACE6RD=${INTERFACE}_6rd
 
                json_init
@@ -65,6 +64,7 @@ setup_interface () {
                [ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE"
                [ -n "$ZONE6RD" ] || ZONE6RD=$ZONE
                [ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD"
+               [ -n "$MTU6RD" ] && json_add_string mtu "$MTU6RD"
                json_close_object
 
                ubus call network add_dynamic "$(json_dump)"