Add support for static routes per interface. You can specify one or more routes,...
authorFlorian Fainelli <florian@openwrt.org>
Thu, 13 Apr 2006 11:39:20 +0000 (11:39 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Thu, 13 Apr 2006 11:39:20 +0000 (11:39 +0000)
SVN-Revision: 3629

openwrt/package/base-files/default/etc/hotplug.d/net/10-net

index 4bb6937..b68ec1b 100644 (file)
@@ -47,10 +47,22 @@ do_ifup() {
                        eval "netmask=\"\${${2}_netmask}\""
                        eval "gateway=\"\${${2}_gateway}\""
                        eval "dns=\"\${${2}_dns}\""
+                       eval "static_route=\"\${${2}_static_route}\""
        
                        $DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up
                        [ -n "$ip6" ] && $DEBUG ifconfig $if add $ip6
 
+                       [ -n "$static_route" ] && {
+                               for route in $static_route; do
+                                       if [ "$(echo $route | cut -d \/ -f2)" != "32" ];
+                                       then
+                                               route add -net $(echo $route | cut -d \/ -f1) netmask $(echo $route | cut -d \/ -f1) dev $if
+                                       else
+                                               route add -host $(echo $route | cut -d \/ -f1) dev $if
+                                       fi
+                               done
+                       }
+
                        ${gateway:+$DEBUG route add default gw $gateway}
        
                        [ -f /tmp/resolv.conf ] || {