Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06

Ben Campbell <ben@nostrum.com> Tue, 20 January 2015 19:20 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CD80F1B2A50 for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 11:20:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.31
X-Spam-Level:
X-Spam-Status: No, score=-1.31 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_35=0.6, T_RP_MATCHES_RCVD=-0.01] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kUH_dDNLhDys for <dime@ietfa.amsl.com>; Tue, 20 Jan 2015 11:20:48 -0800 (PST)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B140C1ACDD1 for <dime@ietf.org>; Tue, 20 Jan 2015 11:20:48 -0800 (PST)
Received: from [10.0.1.23] (cpe-173-172-146-58.tx.res.rr.com [173.172.146.58]) (authenticated bits=0) by nostrum.com (8.14.9/8.14.7) with ESMTP id t0KJKlcT031786 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 20 Jan 2015 13:20:48 -0600 (CST) (envelope-from ben@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host cpe-173-172-146-58.tx.res.rr.com [173.172.146.58] claimed to be [10.0.1.23]
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <54BEA19E.80309@usdonovans.com>
Date: Tue, 20 Jan 2015 13:20:47 -0600
X-Mao-Original-Outgoing-Id: 443474447.186544-b93b0e75b96fbb12445b0012c434c8a3
Content-Transfer-Encoding: quoted-printable
Message-Id: <444F5015-38E2-4D19-A5F8-EBC32BAD38F6@nostrum.com>
References: <54B5399D.3020600@gmail.com> <AEE2E3C8-9ADF-4D0F-9793-B1F15A0EFDBA@nostrum.com> <54BEA19E.80309@usdonovans.com>
To: Steve Donovan <srdonovan@usdonovans.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/WdgqbdWnLhtc_-ffXfqQ0Dzd5k4>
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] WLGC #2 for draft-ietf-dime-ovli-06
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jan 2015 19:20:51 -0000

> On Jan 20, 2015, at 12:42 PM, Steve Donovan <srdonovan@usdonovans.com> wrote:
> 
> The following is the resolution of Ben's issues that were not addressed directly in an email thread started by Ulrich.
> 
> Regards,
> 
> Steve 
> 
>> 
>> -- 5.3, 4th paragraph:
>> 
>> As I mentioned in previous discussion, after re-reading the related text in 6733, it's no longer clear to me this works like we thought it did. That is, I think any attempt to make sub-AVPs mandatory risks causing errors in the enclosing Diameter transaction. I don't know how to solve this, other just disallowing mandatory sub-AVPs. (Jouni previously convinced me 6733 treatment of the m-bit in sub-avps worked like we wanted--perhaps he can re-convince me :-)  
>> 
> SRD>Given that Jouni successfully convinced Ben about the 6733 treatment, I'm not planning to make any changes, as I'm assuming he can be just as successful the second time. 

I think that's a bad assumption.

We had previously assumed that if a node receives a grouped AVP (without the m-bit set) that includes an unrecognized sub-avp with the m-bit set, then the receiver could just ignore the entire grouped AVP, and otherwise process the transaction. But 6733 actually says the following:

"Receivers of a Grouped AVP that
   does not have the 'M' (mandatory) bit set and one or more of the
   encapsulated AVPs within the group has the 'M' (mandatory) bit set
   MAY simply be ignored if the Grouped AVP itself is unrecognized.  The
   rule applies even if the encapsulated AVP with its 'M' (mandatory)
   bit set is further encapsulated within other sub-groups, i.e., other
   Grouped AVPs embedded within the Grouped AVP."

Note the "... if the Grouped AVP itself is unrecognized." clause.

The case we have in mind is when you receive a _recognized_ grouped AVP (that is, you implement DOIC), but it includes an unrecognized sub-avp with the M-bit set. This is not covered by the exception. This would seem to indicate that the entire request must fail. I don't think that's what we want.

At this point, I think we need to either say that sub-avps of DOIC grouped AVPs either 1) MUST NOT have the m-bit set, or 2) MUST NOT have the m-bit set unless the sub-avp is part of an extension explicitly negotiated in the feature vector.


>> 
>> -- 6.3, paragraph 2:
>> 
>> This is stronger than the SHOULDs in the general behavior section (5.2.2)
>> 
> SRD> Section 5.2.2 says:
> 
>    If the request matches an active OCS then the reacting node MUST use
>    the overload abatement algorithm indicated in the OCS to determine if
>    the request is to receive overload abatement treatment.
> 
> Section 6.3 says:
> 
>    When receiving an OC-OLR in an answer message where the algorithm
>    indicated in the OC-Supported-Features AVP is the loss algorithm, the
>    reacting node MUST apply abatement treatment to the requested
>    percentage of request messages sent.
> 
> I don't see the issue.

I was referring to the "SHOULD apply diversion, else SHOULD apply throttling" language. But that's been fixed as part of a separate discussion.

>> 
>> Paragraph 5: 
>> 
>> Is this redundant to the last paragraph of 5.2.2?
>> 
> SRD> I don't see an issue.  One is general and the other specific to the loss algorithm.  They don't conflict.

The one in 5.2.2 is specific to situations where an OLR quenches all requests, and says MUST. So is this, and says RECOMMENDED (which means SHOULD in 2119).

If the idea is that the text in 6.3 is the recommended way to fulfill the MUST in 5.2.2, then that's okay I guess (although I would prefer one of the two to be non-normative.)

Another approach would to leave this to 6.3, and add something to the effect that any new algorithm that can cause total quenching of requests must address how the reacting node restarts from that state. 

[...]