Subject: [dhcwg] RFC2131 - option multiple times - which ones ?

From: Grubmair Peter <[email-masked]>
Date: Wed, 9 Mar 2005 13:47:12 +0100

Hi,
RFC 2131 tells:
 
Options may appear only once, unless
   otherwise specified in the options document.  The client concatenates
   the values of multiple instances of the same option into a single
   parameter list for configuration.

But RFC2132 tells me nothing about an option that may appear
multiple times. Did I miss something ?

Best regards
   Peter

_______________________________________________
dhcwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dhcwg

---

From: "Bernie Volz" <[email-masked]>
Date: Wed, 9 Mar 2005 17:45:39 -0500

Right ... If an option appears multiple times it means that the multiple
appearances should be concatentated. See http://www.ietf.org/rfc/rfc3396.txt
for more details.

The idea was that MAYBE in the future, options might be defined that can
appear multiple times and would not be concatented, but that hasn't been the
case.

- Bernie 

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] 
> On Behalf Of Grubmair Peter
> Sent: Wednesday, March 09, 2005 7:47 AM
> To: Dhcwg ([email-masked])
> Subject: [dhcwg] RFC2131 - option multiple times - which ones ?
> 
> Hi,
> RFC 2131 tells:
>

---

From: "David W. Hankins" <[email-masked]>
Date: Thu, 10 Mar 2005 02:21:55 +0000

> appear multiple times and would not be concatented, but that hasn't been the

except for the relay agent option, which can appear multiple times and not
be concatenated.  it's also a special case in other ways, which is why it
can get away with that.

-- 
David W. Hankins		"If you don't do it right the first time,
Operations Engineer			you'll just have to do it again."
Internet Systems Consortium, Inc.		-- Jack T. Hankins
_______________________________________________
dhcwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dhcwg

---

From: "Bernie Volz" <[email-masked]>
Date: Wed, 9 Mar 2005 21:47:25 -0500

David:

You're probably correct, but where is this stated? The text in RFC 3046
implies that there can only be one relay agent option. Section 2.1.1 of RFC
3046 indicates that only one relay agent option may be added. And, RFC 3396
doesn't mention relay agent option as being special.

- Bernie 

> From: David W. Hankins [mailto:[email-masked]] 
> Sent: Wednesday, March 09, 2005 9:22 PM
> To: Bernie Volz
> Cc: 'Grubmair Peter'; 'Dhcwg'
> Subject: Re: [dhcwg] RFC2131 - option multiple times - which ones ?
>

---

From: John Schnizlein <[email-masked]>
Date: Wed, 9 Mar 2005 20:54:33 -0600

I thought it was clear that the relay-agent information option could 
occur at most once.

Where is the specification that the relay-agent information option can 
appear multiple times?
Any such specification would seem to conflict with the following 
excerpts from RFC 3046.

2.1 Agent Operation
    ...
    A DHCP relay agent adding a Relay Agent Information field SHALL add
    it as the last option (but before 'End Option' 255, if present) in
    the DHCP options field of any recognized BOOTP or DHCP packet
    forwarded from a client to a server.
    ...
    A trusted circuit may contain a trusted downstream (closer to client)
    network element (bridge) between the relay agent and the client that
    MAY add a relay agent option but not set the giaddr field.  In this
    case, the relay agent does NOT add a "second" relay agent option, but
    forwards the DHCP packet per normal DHCP relay agent operations,
    setting the giaddr field as it deems appropriate.

---

From: Ralph Droms <[email-masked]>
Date: Wed, 09 Mar 2005 21:58:19 -0500

Bernie, David - the third paragraph of section 2.1 in RFC 3046 contains this
text:

    A
    trusted circuit may contain a trusted downstream (closer to client)

which indicates to me that at most one relay agent option can appear in a
DHCP message.

- Ralph

---

From: "David W. Hankins" <[email-masked]>
Date: Thu, 10 Mar 2005 15:00:47 +0000

On Wed, Mar 09, 2005 at 09:47:25PM -0500, Bernie Volz wrote:
> You're probably correct, but where is this stated?

That actually isn't as safe an assumption as one might think, generally.

In actuality, it seems I'm mistaken.  A side-effect of reading sourcecode
before reading RFC again.

> doesn't mention relay agent option as being special.

I meant -

 1) It may not appear in the FILE or SNAME fields.  It MUST appear in the
options buffer, before the END option.
 2) Its inclusion may extend a DHCP packet beyond the normal maximum allowed
size, unless the relay ("MAY") is specifically configured to limit the packet
size.
 3) An assumption is made that it's the only option a relay agent is allowed
to add/remove/modify.  If not explicitly, it seems implicit.

Which at least for us causes it to be processed in special-case code already,
and consequently made it easy for me to imagine multiple relay agent options.