Package: wide-dhcpv6-client
Version: 20080615-7
Severity: wishlist

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The DHCPv6 client should always add a route for all prefixes delegated to
it to avoid routing loops. On Linux, this should be the equivalent of
doing "ip route add unreachable prefix/len"

In a typical ISP environment, a route to the delegated prefix will be installed
on the BRAS pointing to the end user running DHCPv6-PD.  The end user will have
a default route pointing back to the BRAS.  This means that the end user must
null route the prefix to break the routing loop.

This is also required by 
http://tools.ietf.org/html/draft-ietf-v6ops-ipv6-cpe-router-03 :

   WPD-4:  If the delegated prefix is an aggregate route of multiple,
           more-specific routes the IPv6 CE router MUST discard packets
           that match the aggregate route, but not any of the more-
           specific routes.  In other words, the "next-hop" for the
           aggregate route should be the null destination.  This is
           necessary to prevent forwarding loops when some addresses
           covered by the aggregate are not reachable [RFC4632].  The
           IPv6 CE Router SHOULD send an ICMPv6 Destination Unreachable
           according to section 3.1 [RFC4443] back to the source of the
           packet if the packet is to be dropped due to this rule.


Example of the current behaviour when being delegated a /48 and only using a 
single /64 out of it:

Dec/22/2009 12:28:03: get_ia: make an IA: PD-0
Dec/22/2009 12:28:03: update_prefix: create a prefix 2001:4620:9::/48 
pltime=600, vltime=12884902488
Dec/22/2009 12:28:03: ifaddrconf: add an address 
2001:4620:9:0:5054:6ff:fe66:0/64 on eth0
Dec/22/2009 12:28:03: dhcp6_remove_event: removing an event on ppp0, 
state=REQUEST
Dec/22/2009 12:28:03: dhcp6_remove_event: removing server (ID: 
00:02:00:00:0a:4c:45:52:58:2d:33:31:30:2f:37:34:35:41:43:33:33:45:58:32:2f:01)
Dec/22/2009 12:28:03: client6_recvreply: got an expected reply, sleeping.


ipv6-pppoe-1:~# ip -6 route
2001:4600:10:11::/64 dev ppp0  proto kernel  metric 256  expires 1643sec mtu 
1452 advmss 1392 hoplimit 4294967295
2001:4620:9::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 
hoplimit 4294967295
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 
4294967295
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 
4294967295
fe80::/64 dev ppp0  proto kernel  metric 256  mtu 1452 advmss 1392 hoplimit 
4294967295
fe80::/10 dev ppp0  metric 1  mtu 1452 advmss 1392 hoplimit 4294967295
fe80::/10 dev ppp0  proto kernel  metric 256  mtu 1452 advmss 1392 hoplimit 
4294967295
default via fe80::90:1a00:141:70f7 dev ppp0  proto kernel  metric 1024  expires 
1642sec mtu 1452 advmss 1392 hoplimit 4294967295


Trying to reach any part of 2001:4620:9::/48 outside 2001:4620:9::/64 will
cause a loop:

ipv6-pppoe-1:~# traceroute6 -n 2001:4620:9:1::1
traceroute to 2001:4620:9:1::1 (2001:4620:9:1::1), 30 hops max, 80 byte packets
 1  2001:4600:10:11::1  51.316 ms  51.278 ms  55.295 ms
 2  2001:4600:10:11::c  55.299 ms  59.247 ms  63.238 ms
 3  2001:4600:10:11::1  167.290 ms  175.199 ms  175.188 ms
 4  2001:4600:10:11::c  179.221 ms  179.215 ms  183.179 ms
 5  2001:4600:10:11::1  247.143 ms  247.132 ms  251.139 ms
 6  2001:4600:10:11::c  251.146 ms  203.857 ms  207.814 ms
 7  2001:4600:10:11::1  263.837 ms  267.813 ms  263.823 ms
 8  2001:4600:10:11::c  275.843 ms  211.819 ms  227.964 ms


Bjorn


- -- System Information:
Debian Release: 5.0.3
  APT prefers stable
  APT policy: (700, 'stable'), (650, 'testing'), (600, 'unstable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages wide-dhcpv6-client depends on:
ii  debconf [debconf-2.0]         1.5.24     Debian configuration management sy
ii  libc6                         2.10.2-2   GNU C Library: Shared libraries
ii  lsb-base                      3.2-20     Linux Standard Base 3.2 init scrip
ii  sharutils                     1:4.6.3-1  shar, unshar, uuencode, uudecode

wide-dhcpv6-client recommends no packages.

wide-dhcpv6-client suggests no packages.

- -- debconf information:
* wide-dhcpv6-client/interfaces:
* wide-dhcpv6-client/config_warn:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkswypkACgkQ10rqkowbIsmwqwCggSxYTNJGR6r4EZTLZOLzcRdN
wSQAnRSuU5lYrBecO/4htiOm7CiDEuS5
=uHqm
-----END PGP SIGNATURE-----



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

Reply via email to