Subject: [rfc2462bis issue 278] 2462bis for "routers"

From: JINMEI Tatuya / 神明達哉 <[email-masked]>
Date: Fri, 06 Feb 2004 00:28:05 +0900

There was an issue about how much we should allow a router (not a
host) to use the RFC2462 spec to configure itself.  Specifically,

    a) if a router can configure a global address by stateless autoconf
    b) if a router can configure a link-local address in a way described
       in RFC 2462
    c) if a router can configure itself about "other" configuration
      information

and I suggested in Minneapolis "a=NO, b=YES, c=NO".

I then noticed this was actually pretty clear in the original
RFC2462.  It says in Introduction that:

   The autoconfiguration process specified in this document applies only
   to hosts and not routers. Since host autoconfiguration uses
   information advertised by routers, routers will need to be configured
   by some other means. However, it is expected that routers will
   generate link-local addresses using the mechanism described in this
   document. In addition, routers are expected to successfully pass the
   Duplicate Address Detection procedure described in this document on
   all addresses prior to assigning them to an interface.

So, my current resolution for this is "do nothing".

However, we may have to clear whether the definition of a "router" is
per-interface basis.  The current definition in RFC2462 is:

   router - a node that forwards IP packets not explicitly addressed to
      itself.

which I would NOT call per-interface basis.

If we agree on adopting the per-interface definition, we'll probably
need to revise the definition in the "TERMINOLOGY" section.

Additionally, adopting this definition also opens up the possibility
of a "half-host, half-router" node, like:

        ------(I1)Node(I2)-------
                   (I3)
                     |
                     |

where I1 and I2 are "normal" interfaces for which the node is acting
as a router, and I3 is an interface to a "back-door" for which the
node is acting as a host.  This node can accept a router advertisement
on interface I3 to configure an address or even configure a "default
route" to I3 (though the latter part is out of scope of 2462bis).

Should we, if adopting the per-interface definition, explicitly
mention this type of configuration in rfc2462bis?

					JINMEI, Tatuya
					Communication Platform Lab.
					Corporate R&D Center, Toshiba Corp.
					[email-masked]

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email-masked]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

---

From: "Russell Brian" <[email-masked]>
Date: Thu, 5 Feb 2004 07:49:12 -0800

RFC 2460 provides this note in the terminology section:

Note: it is possible, though unusual, for a device with multiple
   interfaces to be configured to forward non-self-destined packets
   arriving from some set (fewer than all) of its interfaces, and to
   discard non-self-destined packets arriving from its other interfaces.
   Such a device must obey the protocol requirements for routers when
   receiving packets from, and interacting with neighbors over, the
   former (forwarding) interfaces.  It must obey the protocol
   requirements for hosts when receiving packets from, and interacting
   with neighbors over, the latter (non-forwarding) interfaces.

I believe this covers this scenarios described below.  Organizations have
already started to define v6 requirements based on this note using host on 1
interface / router on another interface model.  It would be nice to have
specific terminology definitions for this configuration but changes would
need to be made to 2460 as well.

Brian Russell
Systems Engineer
Booz Allen Hamilton
[email-masked]

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf Of
JINMEI Tatuya / ?_-?'B?A
Sent: Thursday, February 05, 2004 7:28 AM
To: [email-masked]
Subject: [rfc2462bis issue 278] 2462bis for "routers"

					JINMEI, Tatuya

---

From: Erik Nordmark <[email-masked]>
Date: Thu, 5 Feb 2004 17:32:03 -0800 (PST)

> mention this type of configuration in rfc2462bis?

Is there a proposed definition for the per-interface router?
I'm asking because we want to avoid having "forward from" and "forward to"
interfaces - if the node is a router on a interface it should be able to
forward packets both from and to that interface.
And if a node is not a router on an interface it should neither forward
packets (not explicitly addressed to itself) from that interface nor to
that interface.

If we decide to add the per-interface definition I'd suggest actually making
that a separate document (which can be folded into future RFC 2460 revisions)
instead of "hiding it" in some other document.

I think your above concern about the default route on I3 can be reduced
to a previously unspecified problem; the RFC 2461 silence on multihomed nodes.
Per RFC 2461 the default router list is per interface thus there would not
be any harm (in the conceptual model) to add that default route on a node
that has other interfaces which are router interfaces.
If one were to specify how RFC 2461 (and 62) apply to multihomed nodes
then one would be faced with this issue.

Of course, the above is a bit dishonest because 1) many implementations
support multiple interface with 2461 even though the specification is silent
about them and 2) I suspect many of those implementations have a global - and
not per-interface - default router list.

So do we or do we not want to
1. specify the per-interface router definition
2. specify how RFC 2461 (and 62) behave on a multihomed node

  Erik

---

From: Fred Templin <[email-masked]>
Date: Thu, 05 Feb 2004 17:51:58 -0800

>2. specify how RFC 2461 (and 62) behave on a multihomed node

Well, from RFC 2460 we have:

+    router      - a node that forwards IPv6 packets not explicitly
+                  addressed to itself.  [See Note below].
+    ...
+    Note: it is possible, though unusual, for a device with multiple
+    interfaces to be configured to forward non-self-destined packets
+    arriving from some set (fewer than all) of its interfaces, and to
+    discard non-self-destined packets arriving from its other interfaces.
+    Such a device must obey the protocol requirements for routers when
+    receiving packets from, and interacting with neighbors over, the
+    former (forwarding) interfaces.  It must obey the protocol
+    requirements for hosts when receiving packets from, and interacting
+    with neighbors over, the latter (non-forwarding) interfaces.

and from RFC 2461 we have:

+ 6.2.2.  Becoming An Advertising Interface
+ 
+    The term "advertising interface" refers to any functioning and
+    enabled multicast interface that has at least one unicast IP address
+    assigned to it and whose corresponding AdvSendAdvertisements flag is
+    TRUE.  A router MUST NOT send Router Advertisements out any interface
+    that is not an advertising interface.

Is there really anything more that needs to be said?

Fred
[email-masked]

---

From: Erik Nordmark <[email-masked]>
Date: Thu, 5 Feb 2004 18:20:16 -0800 (PST)

> Is there really anything more that needs to be said?

Is such a box has IFA and IFB as forwarding interfaces and IFC as a 
non-forwarding interface, how should it behave when a packet
is received on IFA addressed to an  on-link destination on IFC?
(Note the above text talks only about "forwarding from" and IFA is
a forwarding interface.)

I think the right answer is that it should ignore any "routes" related to
IFC when forwarding packets i.e. it needs to follow the subset of the
forwarding table that applies to IFA and IFB.
But no document states that.

As pointed out numerous times, RFC 2461 doesn't say what a multihomed node
should do. Example cases are:
 - sending to a link-local destination; should it send neighbor solicitations
   out all interfaces? should it require that the application specify the
   scope id? 
 - when there are routers, the routers do not advertise on-link prefixes or
   they do advertize and the destination does not match an on-link prefix,
   what should a multihomed host do when sending a packet to a non-link-local
   address? should it send the packet to a default router on each interface?
   if not, how does it select which one?
   (the router preferences draft might be part of this answer)
 - when there are default routers on some interfaces but not on all, does that
   change any of the answers to the above questions?

See also appendix A in RFC 2461.

  Erik

---

From: Jari Arkko <[email-masked]>
Date: Fri, 06 Feb 2004 13:50:44 +0200

>    all addresses prior to assigning them to an interface.

Strictly speaking, routers need to be configured with prefixes as
well as possibly some routing information, or at least information
sufficient to run routing protocols.

It is not clear to me that their global IP addresses have to configured.
It could be based on its own prefix + IID information, or am I missing
something? Why is there a difference above for link-local and global
addresses?

--Jari

---

From: JINMEI Tatuya / 神明達哉 <[email-masked]>
Date: Sun, 08 Feb 2004 22:43:46 +0900

>>>>> On Fri, 06 Feb 2004 13:50:44 +0200, 
>>>>> Jari Arkko <[email-masked]> said:

> something? Why is there a difference above for link-local and global

(Note that the quoted part above from my message is not my own
proposal; the text is in RFC2462.  So, what I'm saying here is my
understanding of RFC2462)

The difference is whether the configuring node needs an RA from other
routers to configure the (link-local or global) address.  More
specifically, what the above part wants to say is, in my understanding:

  - Section 5.3 (Creation of Link-Local Addresses) should apply to all
    nodes: hosts and routers
  - Section 5.5 (Creation of Global and Site-Local Addresses) should
    only apply to hosts, not to routers

If this is not clear enough in RFC2462, this can be an issue in
rfc2462bis.  I myself this is already pretty clear in RFC2462 though.

					JINMEI, Tatuya

---

From: JINMEI Tatuya / 神明達哉 <[email-masked]>
Date: Sun, 08 Feb 2004 23:24:43 +0900

>>>>> On Thu, 5 Feb 2004 17:32:03 -0800 (PST), 
>>>>> Erik Nordmark <[email-masked]> said:

> 2. specify how RFC 2461 (and 62) behave on a multihomed node

Hmm, I see the discussion about the definition of per-interface router
leads us to the more generic (and difficult) issues: ND/autoconf for a
multihomed node (host).

Although opinions on this may vary, my impression is that the generic
issue is beyond the scope of 2461/2462bis.  It would require a large
amount of time for discussion and would require significant changes to
implementations.  This does not meet the original purpose of
2461/2462bis.

However, I also think per-interface stateless address
autoconfiguration is relatively trivial and can be consistent with the
current RFC2461 spec (and with 2461bis probably).  That is, I think we
can allow a node to receive an RA on a non-advertising interface (per
RFC2461) to configure a global address on the interface without going
into further on the multihome issues.

In any event, I don't have a strong opinion on this.  If we can
quickly reach a consensus about the per-interface address
autoconfiguration, I'll revise the rfc2462bis text accordingly.
Otherwise, I'd simply leave the current text as is (it would be a bit
ambiguous as currently is, though).

					JINMEI, Tatuya