Package: dhcp3-client
Version: 3.0.4-10
Severity: wishlist
Tags: patch

Dhclient hook for support RFC3442 (The Classless Static Route Option for
Dynamic Host Configuration Protocol (DHCP) version 4) in
dhclient-script.

--------------------------------------------------
$ cat /etc/dhcp3/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#
request subnet-mask, broadcast-address, time-offset, routers,
       domain-name, domain-name-servers, host-name,
       netbios-name-servers, netbios-scope, interface-mtu,
       rfc3442-classless-static-routes;
--------------------------------------------------

--------------------------------------------------
$ cat /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes
RUN="yes"


if [ "$RUN" = "yes" ]; then

        if [ x"$new_rfc3442_classless_static_routes" != x"" ]; then

                if [ x"$reason" == x"BOUND" ]; then
                        rfc_routes=($new_rfc3442_classless_static_routes)

                        for(( i=0; i < [EMAIL PROTECTED]; )); do
                                net_length=${rfc_routes[$i]}

                                ((i++))

                                net_address=(0 0 0 0)
                                for(( j=0; j < $[$net_length / 8 + \
                                    ($net_length % 8 ? 1 : 0)]; j++, i++)); do

                                        net_address[$j]=${rfc_routes[$i]}
                                done

                                gateway=(0 0 0 0)
                                for (( j=0; j < 4; j++, i++ )); do
                                        gateway[$j]=${rfc_routes[$i]}
                                done

                                old_IFS="$IFS"
                                IFS='.'

                                if [ x"$net_length" == x"32" ]; then
                                        /sbin/route add -host 
"${net_address[*]}" gw "${gateway[*]}"
                                else
                                        /sbin/route add -net 
"${net_address[*]}/$net_length" gw "${gateway[*]}"
                                fi
                                IFS="$old_IFS"

                        done

                fi
        fi
fi
------------------------------------------------


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to