RE: Neighbor Discovery and PPP links

"Hemant Singh (shemant)" <shemant@cisco.com> Wed, 18 July 2007 16:21 UTC

Return-path: <ipv6-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IBCHd-0001kX-NZ; Wed, 18 Jul 2007 12:21:49 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IBCHb-0001kS-JT for ipv6@ietf.org; Wed, 18 Jul 2007 12:21:47 -0400
Received: from rtp-iport-1.cisco.com ([64.102.122.148]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IBCHa-0005rt-5f for ipv6@ietf.org; Wed, 18 Jul 2007 12:21:47 -0400
Received: from rtp-dkim-2.cisco.com ([64.102.121.159]) by rtp-iport-1.cisco.com with ESMTP; 18 Jul 2007 12:21:45 -0400
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ao8CAFPanUZAZnmf/2dsb2JhbAA
X-IronPort-AV: i="4.16,551,1175486400"; d="scan'208"; a="65513770:sNHT145341308"
Received: from rtp-core-1.cisco.com (rtp-core-1.cisco.com [64.102.124.12]) by rtp-dkim-2.cisco.com (8.12.11/8.12.11) with ESMTP id l6IGLj5v023876; Wed, 18 Jul 2007 12:21:45 -0400
Received: from xbh-rtp-201.amer.cisco.com (xbh-rtp-201.cisco.com [64.102.31.12]) by rtp-core-1.cisco.com (8.12.10/8.12.6) with ESMTP id l6IGLiWI000448; Wed, 18 Jul 2007 16:21:45 GMT
Received: from xmb-rtp-20e.amer.cisco.com ([64.102.31.40]) by xbh-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 18 Jul 2007 12:21:44 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
Date: Wed, 18 Jul 2007 12:21:43 -0400
Message-ID: <B00EDD615E3C5344B0FFCBA910CF7E1D036A3A56@xmb-rtp-20e.amer.cisco.com>
In-Reply-To: <m1ejj62tv9.wl%jinmei@isl.rdc.toshiba.co.jp>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: Neighbor Discovery and PPP links
Thread-Index: AcfI+B5iE/4CNW+/Sp2pq3KqmGHmNwAWEMvQ
References: <271CF87FD652F34DBF877CB0CB5D16FC05F80EF6@WIN-MSG-21.wingroup.windeploy.ntdev.microsoft.com><7t57ioygbu2.fsf@gpk-xdm-001.cisco.com><271CF87FD652F34DBF877CB0CB5D16FC05F80FFD@WIN-MSG-21.wingroup.windeploy.ntdev.microsoft.com><18077.5262.92643.663259@gargle.gargle.HOWL><7t5tzs2eq7p.fsf@gpk-xdm-001.cisco.com><18077.10261.578486.718408@gargle.gargle.HOWL> <m1ejj62tv9.wl%jinmei@isl.rdc.toshiba.co.jp>
From: "Hemant Singh (shemant)" <shemant@cisco.com>
To: JINMEI Tatuya / ???? <jinmei@isl.rdc.toshiba.co.jp>, James Carlson <james.d.carlson@sun.com>
X-OriginalArrivalTime: 18 Jul 2007 16:21:44.0796 (UTC) FILETIME=[BB7911C0:01C7C957]
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=7771; t=1184775705; x=1185639705; c=relaxed/simple; s=rtpdkim2001; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=shemant@cisco.com; z=From:=20=22Hemant=20Singh=20(shemant)=22=20<shemant@cisco.com> |Subject:=20RE=3A=20Neighbor=20Discovery=20and=20PPP=20links |Sender:=20 |To:=20=22JINMEI=20Tatuya=20/=20????=22=20<jinmei@isl.rdc.toshiba.co.jp>, =0A=20=20=20=20=20=20=20=20=22James=20Carlson=22=20<james.d.carlson@sun.co m>; bh=0ZXRckCjc+KDmEq2AJrd2tV2Y5UK9P/IohXQN3if+A4=; b=zJuep2msbfcrjVtnpY8uiktb4i12K+URWE4JLiTgDzx7pjSHs7hVTq1U1btFjpoVW6Tx3Wg5 wWE2WvNxyNhorlPPDXQ2p0S4Gvfc/3EHiKVoFaO043fkFS9uTxTvy/RY;
Authentication-Results: rtp-dkim-2; header.From=shemant@cisco.com; dkim=pass ( sig from cisco.com/rtpdkim2001 verified; );
X-Spam-Score: -4.0 (----)
X-Scan-Signature: 3971661e40967acfc35f708dd5f33760
Cc: varada@txc.com, ipv6@ietf.org, Dave Thaler <dthaler@windows.microsoft.com>
Subject: RE: Neighbor Discovery and PPP links
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "IP Version 6 Working Group \(ipv6\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
Errors-To: ipv6-bounces@ietf.org

Ole and Dave agreed upon: "for PPP links we always know the link-layer
address". I too agree with that. Why issue an NS to resolve an address
on such a link when the address is always known?

As for NUD, 2461 NUD sections also say if upper layer protocols can
determine reachability, NUD is not invoked. Why does PPP need NUD if PPP
control protocol supports keepalive for the data connection - if
keepalive is missed, the PPP connection will be terminated.

The PPP interoperability problem that Dave raised is a general problem
outside of PPP too in that when a host is expected to forward data out
of the host, the host is performing address resolution. The default
router or other directly connected PPP client may not respond to this NS
causing the host to sit waiting for an NA. We have raised such a point
in 2nd paragraph of Introduction section of our I-D.

http://www.ietf.org/internet-drafts/draft-wbeebee-nd-implementation-pitf
alls-01.txt

Personally, I won't use address resolution or NUD in a PPP link. Further
I wouldn't also use DAD in a PPP link because I agree with text in RFC
2472, section 5 that says

"Therefore it is recommended that for PPP links with
   the IPV6CP Interface-Identifier option enabled the default value of
   the DupAddrDetectTransmits autoconfiguration variable [3] be zero."

Further, all of us have agreed that PPP IPV6 ND behavior belongs in an
IPv6 RFC, not a PPP specific RFC. I think RFC 2461bis is clear for PPP
ND behavior. However if folks still feel 2461bis can be clarified for
PPP, we can continue that discussion. Since our I-D is focused on
clarifying 2461bis in the areas of on-link vs. off-link determination,
address resolution vs. forwarding data out, we can add some
clarifications related to PPP in our I-D as well. In -01 version of our
I-D, section 5 "Changes to draft-ietf-ipv6-rfc2461bis-11" is very
sparse. The section is now complete in a -02 version we are working on.

Another gross change we have made in our I-D since the -01 version is
that the -02 version has a new section 7 that is modeled after RFC 2525.
We are collecting IPv6 ND bugs in this section. I think it makes sense
to add the PPP problem Dave raised as a Interoperability bug in section
7 of our I-D. To give you a flavor of what's in -02 version of our I-D,
see the table of contents below.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Host Models  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  RA Sets M and O Bits but does not Include the Prefix
           Information Option (PIO) . . . . . . . . . . . . . . . . .  6
     2.2.  RA Advertises a Prefix with the On-link(L) Bit Set . . . .  6
       2.2.1.  When the Valid Lifetime Expires  . . . . . . . . . . .  8
     2.3.  RA Advertises a Prefix with the On-link(L) Bit Clear . . .  8
   3.  Router Models  . . . . . . . . . . . . . . . . . . . . . . . .  8
     3.1.  Aggregation Router Deployment Model  . . . . . . . . . . .  9
   4.  Redirect Clarifications  . . . . . . . . . . . . . . . . . . .  9
   5.  Changes to draft-ietf-ipv6-rfc2461bis-11 . . . . . . . . . . . 10
   6.  Changes to draft-ietf-ipv6-rfc2462bis-08 . . . . . . . . . . . 14
   7.  Known IPv6 ND Implementation Problems  . . . . . . . . . . . . 15
     7.1.  Incorrect host data forwarding behavior after
           receiving an RA with no PIO  . . . . . . . . . . . . . . . 16
     7.2.  A DHCPv6 host sending 9 NS(DAD)s . . . . . . . . . . . . . 20
     7.3.  Incorrect host behavior after automatic insertion of a
           directly connected route during  address acquisition . . . 22
     7.4.  Aggregation router sending Redirects when hosts
           communicate to each other from behind  different modems  . 25
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 26
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 27
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 27
     11.2. Informative References . . . . . . . . . . . . . . . . . . 27
   Appendix A.  CHANGE HISTORY  . . . . . . . . . . . . . . . . . . . 28
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29
   Intellectual Property and Copyright Statements . . . . . . . . . . 30


Regards,

Hemant


-----Original Message-----
From: JINMEI Tatuya / ???? [mailto:jinmei@isl.rdc.toshiba.co.jp] 
Sent: Wednesday, July 18, 2007 12:56 AM
To: James Carlson
Cc: Dave Thaler; ipv6@ietf.org; varada@txc.com
Subject: Re: Neighbor Discovery and PPP links

At Tue, 17 Jul 2007 16:35:33 -0400,
James Carlson <james.d.carlson@sun.com> wrote:

> Generating NS and processing NA drives the state machine associated 
> with neighbor cache entries.
> 
> > other ND functions, of course they should be supported.
> 
> I don't see how you get there at all.  You need to be doing 
> solicitations and advertisements in order to do unreachability 
> detection and those "other ND functions," don't you?
> 
> If you're going to somehow omit ND for address resolution, but use it 
> for everything else, what exactly does that look like on the wire, and

> what support in the existing RFC is there for this sort of operation?

What the BSD (KAME) implementation does is as follows:

- when it first sends a packet to the other end of a point-to-point
  (including PPP) link it creates a placeholder of a neighbor cache
  with the state of STALE
- the packet is sent to the p2p link immediately since there is no
  need to perform address resolution
- eventually the state of the neighbor cache entry is changed to PROBE
  and NUD is performed
(this description is a bit simplified to concentrate on the main point
of this discussion)

I believe this is a reasonable behavior, although as far as I know the
protocol specification does not specify this level of details (e.g. what
should be the initial state of such a cache entry).

In any case, it's totally pointless for an implementation to hold the
packet during an exchange of NS/NA for address resolution (which itself
is meaningless) on such a link.  Furthermore, if the implementation
doesn't send the held packet unless it gets an NA in response to NS, it
may cause an interoperability problem depending on the behavior of the
other end.  I guess that's the issue Dave originally tried to indicate.
I don't know of an implementation that performs the meaningless NS/NA
for address resolution on a p2p link, but I know an implementation that
doesn't respond to an NS (whether it's for address resolution or for
NUD) on a p2p link, so I won't be surprised if the problem actually
happens.

As far as I can see the current specification is pretty clear to prevent
such a pointless behavior, but if there is an implementation that
behaves that way (Dave's message seems to indicate there is) it may make
sense to write a short I-D that clarifies this point.  In this case I
believe it should be a generic note on point-to-point link that doesn't
have the notion of L2 address (and thus doesn't require
L2 address resolution) rather than a part of a document for a specific
link type such as ipv6-over-ppp-v2.

					JINMEI, Tatuya
					Communication Platform Lab.
					Corporate R&D Center, Toshiba
Corp.
					jinmei@isl.rdc.toshiba.co.jp

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------