netdev
[Top] [All Lists]

IPv6 Addressing Architecture (RFC2373) updates

To: <netdev@xxxxxxxxxxx>
Subject: IPv6 Addressing Architecture (RFC2373) updates
From: Pekka Savola <pekkas@xxxxxxxxxx>
Date: Mon, 10 Sep 2001 16:22:08 +0300 (EEST)
Sender: owner-netdev@xxxxxxxxxxx
Hello all,

As IPv6 Addressing Architectures draft is being revised, I took the time
to go through the new spec and check (not very thoroughly, though) what
appears to be changed/missing (and some left over from the original spec).

(http://www.ietf.org/internet-drafts/draft-ietf-ipngwg-addr-arch-v3-06.txt):

--8<--
2.5.2

   The address 0:0:0:0:0:0:0:0 is called the unspecified address.  It
   must never be assigned to any node.

   ==> should adding this to interfaces be forbidden in
        addrconf.c:ipv6_add_addr?

   The unspecified address must not be used as the destination address
   of IPv6 packets or in IPv6 Routing Headers.  An IPv6 packet with a
   source address of unspecified must never be forwarded by an IPv6
   router.

   ==> the unspecified source address must not be forwarded, check it in
        route.c:ipv6_route_input?

   ==> also check that unspecified is not destination address? (one could
        argue that it's not router's business to police this, though)

2.5.3


   The unicast address 0:0:0:0:0:0:0:1 is called the loopback address.
   It may be used by a node to send an IPv6 packet to itself.  It may
   never be assigned to any physical interface.

   ==> should adding this to interfaces other than loopback be forbidden in
        addrconf.c:ipv6_add_addr or the like? (probably not worth the pain)

   The loopback address must not be used as the source address in IPv6
   packets that are sent outside of a single node.  An IPv6 packet with
   a destination address of loopback must never be sent outside of a
   single node and must never be forwarded by an IPv6 router.  A packet
   received on an interface with destination address of loopback must be
   dropped.

   ==> dst and source loopback address should be checked in
        route.c:ipv6_route_input ?

2.5.6

   Routers must not forward any packets with link-local source or
   destination addresses to other links.

   ==> destination already apparently checked in route.c:ipv6_route_input,
        source too?

   Routers must not forward any packets with site-local source or
   destination addresses outside of the site.

   ==> not checked, but semantics of site site-scoped routing are quite
        fuzzy..

2.6

      o An anycast address must not be used as the source address of an
        IPv6 packet.

   ==> check in source address selection (can't check otherwise) for
        IPV6_ADDR_ANYCAST; addrconf.c:ipv6_get_saddr ?

   Packets sent to the Subnet-Router anycast address will be delivered
   to one router on the subnet.  All routers are required to support the
   Subnet-Router anycast addresses for the subnets to which they have
   interfaces.

   ==> Anycast listening not supported yet (shouldn't be a big problem, but
        userland tools lack the mechanism), but could add a comment.

2.7

   Multicast addresses must not be used as source addresses in IPv6
   packets or appear in any Routing header.

   ==> Multicast src checked in ipv6_route_input, need to check otherwise?;
        routing header?
   ==> Check that multicast address can't be assigned to an interface, like
        USAGI: addrconf.c.diff r1.69

   Routers must not forward any multicast packets beyond of the scope
   indicated by the scop field in the destination multicast address.

   ==> Multicast routing not supported yet, could add a comment so this
        won't be forgotten.

2.8

   A router is required to recognize all addresses that a host is
   required to recognize, plus the following addresses as identifying.
   itself:

      o The Subnet-Router Anycast Addresses for all interfaces for which
        it is configured to act as a router.
      o The All-Routers Multicast Addresses defined in section 2.7.1.

   ==> Subnet-Router Anycast, when anycast support is added.

   ==> All-Routers Multicast Address added by the kernel
        (as discussed on netdev); this is good because that way e.g. daemons
        requiring these need not monitor interface state and rejoin if
        interfaces are brough up and down

-- 
Pekka Savola                 "Tell me of difficulties surmounted,
Netcore Oy                   not those you stumble over and fall"
Systems. Networks. Security.  -- Robert Jordan: A Crown of Swords


<Prev in Thread] Current Thread [Next in Thread>
  • IPv6 Addressing Architecture (RFC2373) updates, Pekka Savola <=