Package: isc-dhcp-client Version: 4.1.1-P1-17 Followup-For: Bug #521024 The attached patch should fix the issue.
-- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages isc-dhcp-client depends on: ii debianutils 4.0.2 Miscellaneous utilities specific t ii iproute 20110629-1 networking and traffic control too ii isc-dhcp-common 4.1.1-P1-17 common files used by all the isc-d ii libc6 2.13-16 Embedded GNU C Library: Shared lib isc-dhcp-client recommends no packages. Versions of packages isc-dhcp-client suggests: pn avahi-autoipd <none> (no description available) pn resolvconf <none> (no description available) -- Configuration Files: /etc/dhcp/dhclient.conf changed [not included] -- no debconf information -- debsums errors found: debsums: changed file /sbin/dhclient-script (from isc-dhcp-client package)
>From 475102d0cdf0972e4a5c4b7825312371a0c3c626 Mon Sep 17 00:00:00 2001 From: Peter Marschall <pe...@adpm.de> Date: Fri, 24 Jun 2011 09:29:29 +0200 Subject: [PATCH] rfc3442-classless-routes.*: take care of link-local routes According to RFC 3442, the router address 0.0.0.0 in the DHCP parameter for the classless routes indicates a link-local route. Do not add a gateway for this type of routes. --- debian/rfc3442-classless-routes.kfreebsd | 11 +++++++++-- debian/rfc3442-classless-routes.linux | 8 +++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/debian/rfc3442-classless-routes.kfreebsd b/debian/rfc3442-classless-routes.kfreebsd index 6e14946..985f8af 100644 --- a/debian/rfc3442-classless-routes.kfreebsd +++ b/debian/rfc3442-classless-routes.kfreebsd @@ -16,6 +16,7 @@ if [ "$RUN" = "yes" ]; then while [ $# -gt 0 ]; do net_length=$1 + via_arg="-interface ${interface}" case $net_length in 32|31|30|29|28|27|26|25) @@ -48,10 +49,16 @@ if [ "$RUN" = "yes" ]; then ;; esac + # take care of link-local routes + if [ "${gateway}" != '0.0.0.0' ]; then + via_arg="gw ${gateway}" + fi + + # set route (distinguish between host & net routes) if [ "$net_length" -eq 32 ]; then - /sbin/route add -host "${net_address}" gw "${gateway}" + /sbin/route add -host "${net_address}" "${via_arg}" else - /sbin/route add -net "${net_address}/${net_length}" gw "${gateway}" + /sbin/route add -net "${net_address}/${net_length}" "${via_arg}" fi done fi diff --git a/debian/rfc3442-classless-routes.linux b/debian/rfc3442-classless-routes.linux index 18ce0c3..462fb46 100644 --- a/debian/rfc3442-classless-routes.linux +++ b/debian/rfc3442-classless-routes.linux @@ -16,6 +16,7 @@ if [ "$RUN" = "yes" ]; then while [ $# -gt 0 ]; do net_length=$1 + via_arg='' case $net_length in 32|31|30|29|28|27|26|25) @@ -48,9 +49,14 @@ if [ "$RUN" = "yes" ]; then ;; esac + # take care of link-local routes + if [ "${gateway}" != '0.0.0.0' ]; then + via_arg="via ${gateway}" + fi + # set route (ip detects host routes automatically) ip -4 route add "${net_address}/${net_length}" \ - via "${gateway}" dev "${interface}" >/dev/null 2>&1 + ${via_arg} dev "${interface}" >/dev/null 2>&1 done fi fi -- 1.7.5.4