I'm investgating how deprecated address should be treated, and have one
        question (I need a tiny clarification).

        RFC2462 talks about how to handle deprecated address, in multiple
        places.  5.5.4 looks to be the most definitive one.
         It basically says, in the first couple of lines:
        1. use of deprecated addr with existing communication is okay -
           "SHOULD continue to be used"
        2. use of deprecated address for new communication:
           (2a) "SHOULD NOT be used if no alternate address with sufficient
                scope is available"
           (2b) nothing mentioned otherwise - implies that it is permitted to
                use deprecated address.
                we can optionally disallow the use of deprecated address, in
                (2b) case.

        if we think about some scenarios with the above condition, it will be
        like below.  for me "new inbound TCP SYN" case (3rd bullet below)
        is not very clear, and I may need a clarification.  if our intent is
        to make the deprecated address (or the /48 prefix associated with it)
        to go away, it may be better to always reject the new TCP connection
        attempt.  however, RFC2462 5.5.4 does not seem to do that.
        so I'm a little bit confused.

        - I have an existing TCP connection with local address bound to
          a deprecated address.  can I send a TCP packet to the peer?
                yes, based on condition 1.
        - User application issued TCP connection request.  The kernel need to
          establish a new connection.  Can I use a deprecated address as the
          local address?
                if we have alternate address, no, based on (2a).
                if we have no alternate address, it falls into (2b).
                - if (2b) behavior is allowed, yes (default).
                - if (2b) behavior is disallowed, no.
        - I got a new TCP connection request from outside, with my deprecated
          address as the destination.  am I allowed to accept this connetion?
                since we have no control over the address on our side, this
                falls into (2b).
                - if (2b) behavior is allowed, yes.
                - if (2b) behavior is disallowed, no.  note that we cannot
                  issue TCP RST in this case (if we issue TCP RST we will
                  need to use deprecated address as the source)
        - UDP issues needs more thinking - how we should handle connected/
          non-connected UDP sockets?
        - ICMPv6 echo/whatever?

        the behavior would affect site renumbering scnearios a little bit.

itojun


--- RFC2462
5.5.4.  Address Lifetime Expiry

   A preferred address becomes deprecated when its preferred lifetime
   expires.  A deprecated address SHOULD continue to be used as a source
   address in existing communications, but SHOULD NOT be used in new
   communications if an alternate (non-deprecated) address is available
   and has sufficient scope.  IP and higher layers (e.g., TCP, UDP) MUST
   continue to accept datagrams destined to a deprecated address since a
   deprecated address is still a valid address for the interface. An
   implementation MAY prevent any new communication from using a
   deprecated address, but system management MUST have the ability to
   disable such a facility, and the facility MUST be disabled by
   default.

   An address (and its association with an interface) becomes invalid
   when its valid lifetime expires.  An invalid address MUST NOT be used
   as a source address in outgoing communications and MUST NOT be
   recognized as a destination on a receiving interface.
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to