Subject: Re: [Idr] I-D Action: draft-ietf-idr-error-handling-14.txt

From: Ondrej Zajicek <[email-masked]>
Date: Wed, 12 Nov 2014 18:50:15 +0100

On Fri, Oct 24, 2014 at 12:51:39PM -0400, John G. Scudder wrote:
> Posted as -15.

I just noticed one minor issue in the draft. RFC 4271 6.3. says:

   If any recognized attribute has an Attribute Length that conflicts
   with the expected length (based on the attribute type code), then the
   Error Subcode MUST be set to Attribute Length Error.  The Data field
   MUST contain the erroneous attribute (type, length, and value).

   If any of the well-known mandatory attributes are not present, then
   the Error Subcode MUST be set to Missing Well-known Attribute.  The
   Data field MUST contain the Attribute Type Code of the missing,
   well-known attribute.

   If any of the well-known mandatory attributes are not recognized,
   then the Error Subcode MUST be set to Unrecognized Well-known
   Attribute.  The Data field MUST contain the unrecognized attribute
   (type, length, and value).

First two paragraphs were addressed in the draft (3. c. and d.). But the
third paragraph was not. If i undestand it correctly, it discusses the
case when an unknown attribute attribute is received but without
Optional flag. IMHO treat-as-withdraw should be used, as in 3. c.

One could assume that 3. c. in the draft is also applicable to this case,
as it does not explicitly limit itself to recognized attributes:

             If the value of either the Optional or Transitive bits in
             the Attribute Flags is in conflict with their specified
             values, then the attribute MUST be treated as malformed and
             the treat-as-withdraw approach used, unless the
             specification for the attribute mandates different handling
             for incorrect Attribute Flags.

But the wording and the fact that it replaces only the first cited
paragraph ("If any recognized attribute ...") suggest that it is relevant
just to recognized attributes.

I would sugges that the wording of 3. c. should explicitly mention this
(like "The same treatment MUST be also used for unrecognized attributes
without Optional bit in the Attribute Flags.") and the third cited
paragraph ("If any of the well-known mandatory attributes ...") should
also be noted in the 'Old Text' secton of 3. c. to be clear that it was
replaced by the new text.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: [email-masked])
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."