Re: [Dime] OVLI: comments to 4.6

"Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com> Mon, 09 December 2013 12:24 UTC

Return-Path: <ulrich.wiehe@nsn.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 057401AE268 for <dime@ietfa.amsl.com>; Mon, 9 Dec 2013 04:24:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5] 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 wOSSABPsHALp for <dime@ietfa.amsl.com>; Mon, 9 Dec 2013 04:24:44 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) by ietfa.amsl.com (Postfix) with ESMTP id 2171D1ADF67 for <dime@ietf.org>; Mon, 9 Dec 2013 04:24:43 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.12.11.20060308/8.12.11) with ESMTP id rB9COZND005888 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 9 Dec 2013 13:24:35 +0100
Received: from DEMUHTC001.nsn-intra.net ([10.159.42.32]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id rB9COYcq011495 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 9 Dec 2013 13:24:34 +0100
Received: from DEMUHTC010.nsn-intra.net (10.159.42.41) by DEMUHTC001.nsn-intra.net (10.159.42.32) with Microsoft SMTP Server (TLS) id 14.3.123.3; Mon, 9 Dec 2013 13:24:34 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.152]) by DEMUHTC010.nsn-intra.net ([10.159.42.41]) with mapi id 14.03.0123.003; Mon, 9 Dec 2013 13:24:34 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: "ext Nirav Salot (nsalot)" <nsalot@cisco.com>, ext Jouni <jouni.nospam@gmail.com>
Thread-Topic: [Dime] OVLI: comments to 4.6
Thread-Index: Ac7yfC5RbFsL+gV9TT6AJTwE2Xmtw///9WMA///VCNCAAY5MAP/8pa7Q
Date: Mon, 09 Dec 2013 12:24:34 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D90006681519E00D@DEMUMBX014.nsn-intra.net>
References: <5BCBA1FC2B7F0B4C9D935572D90006681519DCBC@DEMUMBX014.nsn-intra.net> <6950EE6B-689E-47A1-88AA-1A67C47BC82E@gmail.com> <5BCBA1FC2B7F0B4C9D935572D90006681519DD4D@DEMUMBX014.nsn-intra.net> <A9CA33BB78081F478946E4F34BF9AAA014D2977C@xmb-rcd-x10.cisco.com>
In-Reply-To: <A9CA33BB78081F478946E4F34BF9AAA014D2977C@xmb-rcd-x10.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.159.42.112]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 8668
X-purgate-ID: 151667::1386591875-000030AF-0892D4CE/0-0/0-0
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: Mon, 09 Dec 2013 12:24:48 -0000

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