[dhcwg] Some high-priority errata for RFC3315/3396...

Ted Lemon <Ted.Lemon@nominum.com> Sat, 03 December 2011 03:18 UTC

Return-Path: <Ted.Lemon@nominum.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDBEC1F0C50 for <dhcwg@ietfa.amsl.com>; Fri, 2 Dec 2011 19:18:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.218
X-Spam-Level:
X-Spam-Status: No, score=-106.218 tagged_above=-999 required=5 tests=[AWL=-0.219, BAYES_00=-2.599, J_CHICKENPOX_13=0.6, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7QnvBqjigkWT for <dhcwg@ietfa.amsl.com>; Fri, 2 Dec 2011 19:18:56 -0800 (PST)
Received: from exprod7og121.obsmtp.com (exprod7og121.obsmtp.com [64.18.2.20]) by ietfa.amsl.com (Postfix) with ESMTP id EA8671F0C45 for <dhcwg@ietf.org>; Fri, 2 Dec 2011 19:18:55 -0800 (PST)
Received: from shell-too.nominum.com ([64.89.228.229]) (using TLSv1) by exprod7ob121.postini.com ([64.18.6.12]) with SMTP ID DSNKTtmVH4G8t7ZOYk6yB/7S3XsN9EnLII9Z@postini.com; Fri, 02 Dec 2011 19:18:56 PST
Received: from archivist.nominum.com (archivist.nominum.com [64.89.228.108]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.nominum.com", Issuer "Go Daddy Secure Certification Authority" (verified OK)) by shell-too.nominum.com (Postfix) with ESMTP id AC0351B8297 for <dhcwg@ietf.org>; Fri, 2 Dec 2011 19:18:54 -0800 (PST)
Received: from webmail.nominum.com (cas-01.win.nominum.com [64.89.228.131]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client CN "mail.nominum.com", Issuer "Go Daddy Secure Certification Authority" (verified OK)) by archivist.nominum.com (Postfix) with ESMTPS id 1FECC190052 for <dhcwg@ietf.org>; Fri, 2 Dec 2011 19:18:52 -0800 (PST) (envelope-from Ted.Lemon@nominum.com)
Received: from MBX-01.WIN.NOMINUM.COM ([64.89.228.133]) by CAS-01.WIN.NOMINUM.COM ([64.89.228.131]) with mapi id 14.01.0339.001; Fri, 2 Dec 2011 19:18:52 -0800
From: Ted Lemon <Ted.Lemon@nominum.com>
To: dhc WG <dhcwg@ietf.org>
Thread-Topic: Some high-priority errata for RFC3315/3396...
Thread-Index: AcyxakejwUXOElp7STCtYjgcemUphw==
Date: Sat, 3 Dec 2011 03:18:51 +0000
Message-ID: <406706A9-7430-4EF1-86BB-CD3BF3FC05B5@nominum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C41300143F50A248B1F8AB26A0AD57D3@nominum.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [dhcwg] Some high-priority errata for RFC3315/3396...
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dhcwg>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 Dec 2011 03:18:56 -0000

There's been a bit of a discussion going on in the v6ops working group about a problem in the DHCP protocol that has to do with the coexistence of stateful address allocation and prefix delegation.

The problem is that it's entirely possible that a PD requesting router might also want an IP address to number its upstream interface, so it might send a DHCP Solicit message containing both an IA_NA and an IA_PD.    Suppose the DHCP server is willing to do prefix delegation, but expects the RR to do SLAAC for the upstream address.   In this case, it's going to send an IA_PD containing one or more prefixes, but an IA_NA containing no addresses.

RFC3315 wasn't written with RFC3361 in mind, so it doesn't really talk about what to do in this case.   It also doesn't address the problem of what to do if an IA_TA appears in the solicit, but the server isn't configured to offer temporary addresses.   This hasn't been much of an issue since I don't know of any clients that actually request temporary addresses, but of course it is an issue for IA_PD.

There exist two errata that address this issue: erratum 2471 and erratum 2472.   These errata propose to have the status code appear inside the IA_NA option rather than in the outer layer of the Advertise message.   A similar erratum exists for RFC3361, proposing to put the status code option in the IA_PD option instead of, similarly, in the outer layer of the packet.

In addition, the following observation has been made:

  The other unclear problem area is around how to deal with IA_PD and IA_NA:
    * Client requests both IA_NA and IA_PD in the same session, gets only IA_PD.
      - Does it fork off a separate session for IA_NA and continues sending SOLICITs for only the IA_NA?
      - Reset the DHCP client, and tries again?
      - Keeps single session, and continues to ask for IA_NA on next RENEW?
 
      all 3 behaviors have been seen in the wild plus some additional pathological cases.
      in general dealing with multiple stateful options in DHCP is underspecified.

So the topic for discussion in the working group here is as follows:

1. Is what is proposed in the errata the right thing?   Should we in fact have status codes inside of IA_* options instead of in the main packet?

2. If so, what is the full set of edits to RFC3315 and RFC3361 that are required to do this?
2a. What do we do for clients that don't implement the errata?

3. If not, what should we do instead?

4. If the client gets an IA_NA and no IA_PD, or vice versa, which of the three behaviors listed above should it follow?   Is it bad that different clients do this differently?

5. What have I missed?

Comments?   Criticisms?   Rotten tomatoes?