Subject: how to explain RFC 3315 sec 17.2.2 (together with CPE router requirements) ?

From: Marco Hogewoning <[email-masked]>
Date: Mon, 21 Jun 2010 13:26:15 +0200

Hi Folks.

I have a bit of a discussion with one of our vendors regarding the DHCPv6 implementation we use on our DSL platform. Hopefully one of you can shed some light on this to understand what the intentions are.

'IPv6 CE router requirements' requirement W-5 states:

"DHCPv6 address assignment (IA_NA) and DHCPv6 prefix delegation (IA_PD) SHOULD be done as a single DHCPv6 session."

And something further down gives some hints on how the responses should be handled, including WPD-7:

"If the IPv6 CE router requests both an IA_NA and an IA_PD in DHCPv6, it MUST accept an IA_PD in DHCPv6 Advertise/Reply messages, even if the message does not contain any addresses (IA_NA options with status code equal to NoAddrsAvail)."

They (the vendor) have implemented this and are requesting IA_NA and IA_PD, our platform (JUNOSe built-in) server responds with a message only containing an IA_PD. This is on purpose as we don't intend to assign addresses to the PPP link itself (other then link-local).

The discussion now is on the way we currently handle the IA_NA, by simply ignoring it. Which is based on rfc 3315, sec 17.2.2:

   If the server will not assign any addresses to any IAs in a
   subsequent Request from the client, the server MUST send an Advertise
   message to the client that includes only a Status Code option with
   code NoAddrsAvail and a status message for the user, a Server
   Identifier option with the server's DUID, and a Client Identifier
   option with the client's DUID.

I think we are correct in our response, we at least respond with one IA (IA_PD) and thus follow the paragraph before this:

   If the Solicit message from the client included one or more IA
   options, the server MUST include IA options in the Advertise message
   containing any addresses that would be assigned to IAs contained in
   the Solicit message from the client.

WPD-7 seems to exist specifically to handle this situation ?

Any opnions on who is right here ? Do I need to file a bug with Juniper or is our CPE vendor wrong ? (They already implemented a fix and are now accepting this, so it's just to assure they are still RFC compliant). 

TIA,

MarcoH

---

From: Ole Troan <[email-masked]>
Date: Mon, 21 Jun 2010 21:53:21 +0800

Marco,
> WPD-7 seems to exist specifically to handle this situation ?

correct.

> Any opnions on who is right here ? Do I need to file a bug with Juniper or is our CPE vendor wrong ? (They already implemented a fix and are now accepting this, so it's just to assure they are stil…

and you include the NoAddrsAvail status code?

I didn't quite get from your message what the two positions are?

cheers,
Ole

---

From: Marco Hogewoning <[email-masked]>
Date: Mon, 21 Jun 2010 15:57:29 +0200

Hi Ole,

> and you include the NoAddrsAvail status code?

Nope, but they now accept the fact the IA_NA remains unanswered and they stick with the IA_PD only (and 'unnumbered')

> I didn't quite get from your message what the two positions are?

Our position is we are compliant to both 3315 and the draft. Their position is we aren't, so by implementing the fix they broke the RFC which could lead to problems with other customers who use their modem.

Groet,

MarcoH

---

From: Ole Troan <[email-masked]>
Date: Mon, 21 Jun 2010 22:16:22 +0800

> Our position is we are compliant to both 3315 and the draft. Their position is we aren't, so by implementing the fix they broke the RFC which could lead to problems with other customers who use the…

3315 seems quite clear that you should include the IA with a NoAddrsAvail code. I'm not quite sure what the client behaviour is if it doesn't get the NoAddrsAvail option. in either case with 3633 support it has to be able to handle getting prefixes without addresses.

cheers,
Ole

---

From: Marco Hogewoning <[email-masked]>
Date: Mon, 21 Jun 2010 16:22:58 +0200

> 3315 seems quite clear that you should include the IA with a NoAddrsAvail code. I'm not quite sure what the client behaviour is if it doesn't get the NoAddrsAvail option. in either case with 3633 s…

Well that's the dispute, 3315 says:

"...the server will not assign any addresses to any IAs in a subsequent Request...."

Our server wil assign an IA_PD in a subsequent request, so it will assign "a IA to any IAs"

Groet,

MarcoH