Re: [Dime] OVLI: comments to 4.6

Jouni Korhonen <jouni.nospam@gmail.com> Fri, 13 December 2013 10:54 UTC

Return-Path: <jouni.nospam@gmail.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 4DD691AE11A for <dime@ietfa.amsl.com>; Fri, 13 Dec 2013 02:54:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
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 JPBm4nrxqMEp for <dime@ietfa.amsl.com>; Fri, 13 Dec 2013 02:54:04 -0800 (PST)
Received: from mail-bk0-x233.google.com (mail-bk0-x233.google.com [IPv6:2a00:1450:4008:c01::233]) by ietfa.amsl.com (Postfix) with ESMTP id F32561AE118 for <dime@ietf.org>; Fri, 13 Dec 2013 02:54:03 -0800 (PST)
Received: by mail-bk0-f51.google.com with SMTP id 6so1316057bkj.38 for <dime@ietf.org>; Fri, 13 Dec 2013 02:53:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=e7x42zN2t20vULGmJJH1hrwHEqcUejR5Ry42gfDqqKU=; b=OQkaPDKJ2Hc4Gys/XXsXiTep99bpQA9T8qcTqC6x0Hq1nRc/IIfWuXKq9iEB35UUFD oA+cJADkKq4e8jx+s/7eDHLd1r4/ZcqBcdfYfPAmW52Sjf+XvgGWI5pKSI+PlOovVBS5 TqOVH9D33fPIglowQBBwYe7BAhEt/MA8s1U5a5bqUGqMu25znqdKqu6m6wZVe5oEpZFI uzL/vUjV5tHTRrGdZ8qEdeFOBmMilYA9tEuoZNkD4svoVDqjBdJn784dLTSCrErlPHR2 BNXsbv3hW/PJ6KX7Hi3cotvBBCHkt4+bidoAnWtBoLKuzNDn3n1XUOW/cEUQz1c8eZAr 9kvg==
X-Received: by 10.205.5.194 with SMTP id oh2mr32898bkb.114.1386932037052; Fri, 13 Dec 2013 02:53:57 -0800 (PST)
Received: from ?IPv6:2001:6e8:480:60:a0e8:8f75:1f5a:7e15? ([2001:6e8:480:60:a0e8:8f75:1f5a:7e15]) by mx.google.com with ESMTPSA id a4sm1668261bko.11.2013.12.13.02.53.52 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 13 Dec 2013 02:53:53 -0800 (PST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Jouni Korhonen <jouni.nospam@gmail.com>
In-Reply-To: <087A34937E64E74E848732CFF8354B920973B124@ESESSMB101.ericsson.se>
Date: Fri, 13 Dec 2013 12:53:54 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <56726CC6-823B-4F4E-B898-2034D1EE8A85@gmail.com>
References: <5BCBA1FC2B7F0B4C9D935572D90006681519DCBC@DEMUMBX014.nsn-intra.net> <6950EE6B-689E-47A1-88AA-1A67C47BC82E@gmail.com> <5BCBA1FC2B7F0B4C9D935572D90006681519DD4D@DEMUMBX014.nsn-intra.net> <A9CA33BB78081F478946E4F34BF9AAA014D2977C@xmb-rcd-x10.cisco.com> <5BCBA1FC2B7F0B4C9D935572D90006681519E00D@DEMUMBX014.nsn-intra.net> <A9CA33BB78081F478946E4F34BF9AAA014D2D5A9@xmb-rcd-x10.cisco.com> <5BCBA1FC2B7F0B4C9D935572D90006681519E086@DEMUMBX014.nsn-intra.net> <087A34937E64E74E848732CFF8354B920973B124@ESESSMB101.ericsson.se>
To: Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com>
X-Mailer: Apple Mail (2.1510)
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] OVLI: comments to 4.6
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: Fri, 13 Dec 2013 10:54:08 -0000

On Dec 13, 2013, at 11:28 AM, Maria Cruz Bartolome <maria.cruz.bartolome@ericsson.com> wrote:

> Hello Ulrich, all,
> 
> I agree with Nirav, I think in the base IETF draft we need to keep what is required for the use cases identified so far, (as long as ReportType is extensible).
> 
> Therefore I think that DESTINATION_HOST_MATCH and DESTINATION_REALM_MATCH are enough in the draft.

Ok.



> Going a bit more in detail into your mail, I will comment on why rest of values are not required: 
> 
>>  APPLICATION_ID_MATCH (0x0000000000000001)
> Agreement for the baseline is to infer this always from the Diameter encapsulating message. Therefore, this is always done, no reason to add a ReportType for this.
>> 
>>  DESTINATION_HOST_PRESENT (0x0000000000000002)
> What we need to know if whether overload-report shall apply for either HOST_MATCH or REALM_MATCH. 
> This value is included into HOST_MATCH, then I do not see a reason to have it as an independent value.
> 
>>  DESTINATION_HOST_MATCH (0x0000000000000004)
> Fine, I think this is required
> 
>>  DESTINATION_HOST_ABSENT (0x0000000000000008)
> This value is included into REALM_MATCH. Any reason to have it as an independent value? 
> 
>>  DESTINATION_REALM_MATCH (0x0000000000000010)
> Fine, I think this is required
> 
> About decision on whether it should be Unsigned or Enumerated, not sure which one could be best, I then to agree with Jouni that both could be valid as long as we need to define new values on application documentation, explaining expected behavior.

Ok. My preference is still enumerated, mainly because it prevents
designing do_everything_and_a_bit_more OLRs. A report type and a 
matching OLR for a single purpose.

- Jouni


> 
> Best regards
> /MCruz
> 
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Wiehe, Ulrich (NSN - DE/Munich)
> Sent: lunes, 09 de diciembre de 2013 14:38
> To: ext Nirav Salot (nsalot); ext Jouni
> Cc: dime@ietf.org
> Subject: Re: [Dime] OVLI: comments to 4.6
> 
> Hi Nirav,
> 
> in the end its a matter of taste, and I definitly prefer the Unsigned64 approach.
> 
> Please note: The Enumerated approach also has a value (0 Reserved) without use case. And there is confusing text e.g. "...should apply to requests that the reacting node knows will reach the overloaded node." 
> How would the reacting node know that a request will actually reach the overloaded node? And even if it knows this, wouldn't the overload treatment apply only to those requests that match the application-id from the answer?
> 
> Best regards
> Ulrich
> 
> 
> -----Original Message-----
> From: ext Nirav Salot (nsalot) [mailto:nsalot@cisco.com] 
> Sent: Monday, December 09, 2013 1:56 PM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Jouni
> Cc: dime@ietf.org
> Subject: RE: [Dime] OVLI: comments to 4.6
> 
> Ulrich,
> 
> Defining a bit "APPLICATION_ID_MATCH" and not having a use case when this bit is set to "0" (at least in the context of the current draft) is confusing to me. Same is the case with some other bits you have proposed.
> 
> In summary, I do not see any issue with the current ReportType. 
> For the extensibility, we have to deal with it anyway when we have corresponding use case in 3GPP or in IETF. In my view, defining the ReportType with some assumption of its extensibility is confusing since those use cases are not discussed here yet.
> 
> Regards,
> Nirav.
> 
> -----Original Message-----
> From: Wiehe, Ulrich (NSN - DE/Munich) [mailto:ulrich.wiehe@nsn.com] 
> Sent: Monday, December 09, 2013 5:55 PM
> To: Nirav Salot (nsalot); ext Jouni
> Cc: dime@ietf.org
> Subject: RE: [Dime] OVLI: comments to 4.6
> 
> Hi Nirav,
> can you please point out what actually is confusing. I would have thougth that my proposal is more clear and precise as it exactly identifies when a given request matches the OLR (i.e. must undergo the throttling).
> 
> With regard to complexity there is no difference between checking the two allowed enumeration values 1 and 2 (current version) or the two allowed Unsigned64 values (0x0000000000000007) and (0x0000000000000019) (my proposal).
> 
> The main benefit I see with my proposal is the extensibility e.g.
> One new value of   ORIGIN_HOST_MATCH (0x0000000000000020) for Overload Mitigation Differentiation per client rather than
> Two new values of "host report with origin-host match" and realm-report with origin-host match".
> 
> Best regards
> Ulrich
> 
> 
> 
> -----Original Message-----
> From: ext Nirav Salot (nsalot) [mailto:nsalot@cisco.com] 
> Sent: Saturday, December 07, 2013 10:44 AM
> To: Wiehe, Ulrich (NSN - DE/Munich); ext Jouni
> Cc: dime@ietf.org
> Subject: RE: [Dime] OVLI: comments to 4.6
> 
> Hi Ulrich,
> 
> Instead of re-packing, I see your proposal as confusing or adding more implementation complexity to the exiting simple proposal of having just two Report-Type.
> e.g. with your proposal, now the nodes have to validate if the combination of Report-Type flag is correct/allowed or not and perform the error handling if there is any discrepancy. 
> 
> Besides, I do not see the need for some obvious Report-Type e.g. "APPLICATION_ID_MATCH" since it is always present and/or implicit.
> Same is the case with "DESTINATION_HOST_PRESENT" and "DESTINATION_HOST_MATCH". What is the use case for destination-host present but not match? In other words, the reacting node should use this type of report towards which node/realm?
> 
> I guess this time you need to convince me (at least) as why you think so many different Report-Types are needed and what is the issue with existing definition of Report-Type.
> 
> Regards,
> Nirav.
> 
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Wiehe, Ulrich (NSN - DE/Munich)
> Sent: Friday, December 06, 2013 7:48 PM
> To: ext Jouni
> Cc: dime@ietf.org
> Subject: Re: [Dime] OVLI: comments to 4.6
> 
> Hi Jouni,
> 
> maybe that my proposal is just kind of repackaging. But still I think it is much clearer than the existing text, and you seem not to object.
> Please consider accepting the proposed modification.
> 
> Best regards
> Ulrich
> 
> -----Original Message-----
> From: ext Jouni [mailto:jouni.nospam@gmail.com] 
> Sent: Friday, December 06, 2013 1:33 PM
> To: Wiehe, Ulrich (NSN - DE/Munich)
> Cc: dime@ietf.org
> Subject: Re: [Dime] OVLI: comments to 4.6
> 
> 
> On Dec 6, 2013, at 2:10 PM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> 
>> Dear all,
>> 
>> here are comments to clause 4.6:
>> 
>> It has already been proposed to change the type of the OC-Report-Type AVP from Enumerated to Unsinged64 in order to avoid potential extensibility problems.  
> 
> I do not see how changing the type to unsigned would help with the extensibility on
> an assumption we create an IANA maintained registry for it. Unsigned64 will have
> exactly the same issues as enumerated unless we define report type semantics to
> something like what we have on OC-Feature AVP. How the receiver of the report type
> reacts when it sees a flag bit that is does not understand? If the content and
> handling  of the OC-OLR somehow depends on the unknown flag bit, the receiver has
> no other choice than drop the OLR, since it cannot be sure how to handle the report
> as a whole.
> 
> The only ways around I see here are:
> a) you can extend report types when defining new applications
> b) or when both ends have a mutually supported & advertised feature that maps
>   to a report type (that has been defined after the publication of this 
>   spec)
> 
> Other than those, IMHO, are just repackaging the issue into different form.
> 
> 
> - Jouni
> 
>> In addition to that, I think that the purpose of the Report-Type is to let the reacting node know to which (future) request commands the overload treatment should apply:
>> 
>> For a host report-type the overload treatment should apply to all request commands for which
>> a) The request command's Application-ID matches the Application-Id of the OC-Report-Type AVP's encapsulating answer command and
>> b) The request command's Destination-Host is present and 
>> c) The request command's Destination-Host matches the Origin-Host of the OC-Report-Type AVP's encapsulating answer command
>> 
>> For a realm report-type the overload treatment should apply to all request commands for which
>> a) <see a) above> and
>> d) The request command's Destination-Host is absent and 
>> e) The request command's Destination Realm matches the Origin-Realm of the OC-Report-Type AVP's encapsulating answer command.
>> 
>> The proposal now is to assign individual bits of the Unsinged64 type to a), b), c), d), and e):
>> 
>> Proposed text:
>>  4.6 OC-Report-Type AVP
>> 
>>  The OC-Report-Type AVP (AVP code TBD5) is type of Unsigned64 and contains a 64 bit flags field of a request
>>  command's characteristics.
>> 
>>  The following characteristics are defined in this document:
>> 
>>  APPLICATION_ID_MATCH (0x0000000000000001)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  to those request commands with an Application-ID that matches the Application-Id of the OC-Report-Type AVP's
>>  encapsulating answer command.
>> 
>>  DESTINATION_HOST_PRESENT (0x0000000000000002)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  to those request commands containing a Destination-Host AVP.
>> 
>>  DESTINATION_HOST_MATCH (0x0000000000000004)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  To those request commands with an Destination-Host AVP that matches the Origin-Host of the OC-Report-Type AVP's
>>  encapsulating answer command.
>> 
>>  DESTINATION_HOST_ABSENT (0x0000000000000008)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  to those request commands not containing a Destination-Host AVP.
>> 
>>  DESTINATION_REALM_MATCH (0x0000000000000010)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  to those request commands with an Destination-Host AVP that matches the Origin-Host of the OC-Report-Type AVP's
>>  encapsulating answer command.
>> 
>>  Combinations other than 
>>  1) APPLICATION_ID_MATCH and DESTINATION_HOST_PRESENT and DESTINATION_HOST_MATCH
>>  and
>>  2) APPLICATION_ID_MATCH and DESTINATION_HOST_ABSENT and DESTINATION_REALM_MATCH
>>  require a mutually agreed extension.
>> 
>> 
>> 
>> 
>> One extension required by 3GPP applications is the Overload Mitigation Differentiation per client (see 3GPP TR 29.809 clause 6.4.7. To address this, a new value would be needed e.g.
>> 
>>  ORIGIN_HOST_MATCH (0x0000000000000020)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  to those request commands with an Origin-Host AVP that matches the Destination-Host of the OC-Report-Type AVP's
>>  encapsulating answer command.
>> 
>> With this extension the following additional combinations would be allowed:
>> 3) APPLICATION_ID_MATCH and DESTINATION_HOST_PRESENT and DESTINATION_HOST_MATCH and ORIGIN_HOST_MATCH
>> and
>> 4) APPLICATION_ID_MATCH and DESTINATION_HOST_ABSENT and DESTINATION_REALM_MATCH and ORIGIN_HOST_MATCH
>> 
>> Another potential extension is Diameter Agent Overload. To address this, a new value would be needed e.g.
>> 
>>  NEXT_HOP_MATCH (0x0000000000000040)
>> 
>>  When this flag is set by the overload reporting endpoint it means that the overload treatment should apply only
>>  to those request commands sent to the same next hop the OC-Report-Type AVP's encapsulating answer command was received from.
>> 
>> 
>> Best regards
>> Ulrich
>> 
>> 
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
> 
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime