Re: [Dime] OC-Supported Feature AVP
Jouni Korhonen <jouni.nospam@gmail.com> Mon, 16 December 2013 12:49 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 1ED0C1AE306 for <dime@ietfa.amsl.com>; Mon, 16 Dec 2013 04:49:46 -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 bDyVxlKh80r6 for <dime@ietfa.amsl.com>; Mon, 16 Dec 2013 04:49:41 -0800 (PST)
Received: from mail-bk0-x232.google.com (mail-bk0-x232.google.com [IPv6:2a00:1450:4008:c01::232]) by ietfa.amsl.com (Postfix) with ESMTP id 9F4DA1AE2FC for <dime@ietf.org>; Mon, 16 Dec 2013 04:49:40 -0800 (PST)
Received: by mail-bk0-f50.google.com with SMTP id e11so2270344bkh.23 for <dime@ietf.org>; Mon, 16 Dec 2013 04:49:39 -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=JB4urTBXNQ7MlWTJcDBjHo5sJvorkEwwgDWXUXiVN1U=; b=mycFHgH8UhsvBhipFVJjquTBUxPzdpjgn9w76bV6py+oGQFRPIOANFBS/D3lApxciV fHq9hBVFVbUIC4ZvjNKYzednkNvQTjeKDAn3IOvWJv7bLMCdqabV1akjlR4Kp8p4kOZ3 0YsCI5YwwsrpLAPoU4QRaU3L6rRh+Qm3aeejVGIu3HX/B0Kun/dgUPeceWG0u/5kwYIi 8dt6KulhiDkY/5TZFkjsXoHw9XMIRLBN2kni0pdaCh38lbwNVpuSw8Nm9l8R/ulso4w+ ooG7FxYMw8F0ERdmHldELDZtKlRqOpiBHB2Oe8fe8D+Ej1Bhh7/FwXtLgLCOPN0Fl28u EeKQ==
X-Received: by 10.204.164.145 with SMTP id e17mr343594bky.136.1387198179326; Mon, 16 Dec 2013 04:49:39 -0800 (PST)
Received: from ?IPv6:2001:6e8:480:60:64c0:5aab:1f68:f80c? ([2001:6e8:480:60:64c0:5aab:1f68:f80c]) by mx.google.com with ESMTPSA id dg4sm10489666bkc.10.2013.12.16.04.49.35 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 16 Dec 2013 04:49:35 -0800 (PST)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Jouni Korhonen <jouni.nospam@gmail.com>
In-Reply-To: <E194C2E18676714DACA9C3A2516265D201CB53EA@FR712WXCHMBA12.zeu.alcatel-lucent.com>
Date: Mon, 16 Dec 2013 14:49:33 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <F6D9A5FF-422D-42DB-BD6A-7652FD68FFD0@gmail.com>
References: <E194C2E18676714DACA9C3A2516265D201CB53EA@FR712WXCHMBA12.zeu.alcatel-lucent.com>
To: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
X-Mailer: Apple Mail (2.1510)
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] OC-Supported Feature AVP
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, 16 Dec 2013 12:49:46 -0000
Hi, On Dec 13, 2013, at 3:44 PM, "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com> wrote: > Dear all > > When analysing the discussion of the sequence number in the OC-Supported-Features AVP , it has driven me to some other considerations regarding this feature negotiation that I hereafter present: it is a bit long but it raises a certain number of questions and then we have to draw some conclusion and adapt the text of the draft if needed > > A) Behaviours for sending the OC-Supported-Features AVP > Currently there is only one default algorithm. So the use of OC-Supported-Features AVP containing the OC-Feature-Vector is only to indicate the support of DOIC with the default algorithm, given that en entity not supporting DOIC will never sends the OC-Supported-Features AVP. > > This AVP in the future will allow to add new feature/capabilities . > > This AVP is needed initially to advertise the mutual capabilities between reacting and reporting node and when changes occur in the supported features (eg in general to add a new feature, but may be also to remove one). A sequence number was introduced to manage these changes, but this introduction is still under discussion (cf Ulrich’s mails questioning this point) > > Then there is the question about when the OC-Supported-Features AVP is sent. The current draft has related statements in 3.2 and 4.1 : > The several hereafter possible behaviors are compliant for me with 3.2 and 4.1 statements (are you sharing this reading?), we have to see if the draft allows all of them or if additional rules must be fulfilled: > > a) The reacting node sends the OC-Supported-Features AVP in each request and the reporting node sends back its own OC-Supported-Features AVP in each answer. > b) The reacting nodes initially sends its OC-Supported-Features AVP, but does not repeat it any more , until a change in the features to be advertised happens or after a node restart > c) Something intermediate, so when there is a change as in b) plus a periodic advertisement of the supported features although unchanged I would be strongly supporting a) type of behaviour specifically for Diameter applications that do not maintain state. b) or c) could work for applications that have a state on Diameter level. > > About a): > Steve, and I agree, indicated that the features are quite stable over time, and modifications will appear when a new feature is deployed (OAM case); I think it is also needed at restart. So there are very few events over the year where the advertisement is actually needed (have you others in mind?) . Now my questioning: why to permanently do such an exchange in each request/answer? I observe that this behavior is used in 3GPP where supported features are advertised in each request/answer, so we can apply the same principle, but I nevertheless raise the question. Because for applications that do not maintain state you typically need to send everything to express your intentions properly. As said earlier for certain types of applications you can drop AVPs once your intentions regarding behaviour have been made clear. > > About the sequence number: > o the receiving node has to open the sequence number AVP and checks if it has changed, given the value will change only a few times a year. A besides question, which value the seq number takes after a restart > o if we do not use the sequence number, the receiving node has to open the OC-feature-Vector AVP and see if it has changed, so I do not see much difference with the above > o the sequence number has the property to be equal or to increase in order to detect an eventual change of the order of the messages and avoid to come back to a previous value of the feature-vector. But further messages will all be with the new feature-vector, so the right result. I am not sure that the seq number bring a value for the transient period when the supported feature is modified. So question: can we suppress the seq number in this a) behaviour? IMHO the above is good reasoning/analysis why not use seqnum in OC-Supported-Features. My counter argument has been (and still is) whether we could have a situation where the OC-Feature-Vector remain unchanged but some additional AVPs related to the supported features would change? At the moment I do not have a valid use case in mind, specifically outside 3GPP context, but could those arise? In that case just looking into OC-Feature-Vector would not tell the difference but you would need to parse the whole OC-Supported-Features. > In this a ) behaviour, if the OC-Supported-Features AVP is no more present in a message (and in later messages) , it would be interpreted that DOIC is no more supported . ( so different from the b) or c) case) > > About b): this is the other extreme use case compared to a). > Here in practice all the messages will not contain an OC-Supported-Features AVP (except in the rare cases of a change or after a restart), So the absence of this AVP in a message does not mean that DOIC is not supported. Capability negotiation happens once and remain valid until a change. At restart or when a change a reacting node sends an OC-Supported-Features AVP in a request, and wait for an OC-Supported-Features AVP in the answer; if nothing, it means the reporting node is not supporting DOIC. If the answer is lost the reacting node may repeat the request or use another one with its OC Supported-feature AVP. > > If the change occurs in the reporting node, it cannot wait for a request coming from the reacting node with an OC Supported-feature AVP, (as it will never come if no change at the reacting node side), so the reporting node should advertise the OC Supported-feature AVP in answers (although the corresponding request do not contain this AVP). I think this behavior is currently allowed by the draft text, do you agree?. To secure a bit more, the reacting node may then send a request with its own OC Supported-feature AVP, acting as an acknowledgement to the reporting node. The reporting node may repeat if needed or to be more secure. > There may be some corner cases to investigate more, but I currently stop here. > > In this use case, I do not see a need for a sequence number . > > Do you think such an approach is applicable? it will save many checks compared to a). > > About c): it is the same principle as in b) but with some periodic “refresh” that may make the a) approach still more secure. But not sure it is actually needed. > > So do you think the draft should allow these different behaviors or only mandate one? > Then do you think we need a sequence number for the OC-Supported-Features AVP? > > > B) Another point also related to the OC-Supported-Features AVP and OC-Feature-Vector: > > For example a node can use the default mechanism and in addition support extensions (eg the APN or the session group examples). I would think extensions should be advertized by the reacting node , otherwise the server does not know if it can use an extension or not, and a server should avoid to send OLRs that the client will not understand . > So here we may have a set of extensions compatible with the default mechanism > > The other example is “exclusive” or not compatible features, for example Traffic reduction %control and rate control. I do not consider a reporting node will use both with a reacting node. A reacting node , even if it supports both does not want to mix throttling based on % traffic and throttling on rate control with the same reporting node. But the current text does not say anything about which feature is selected . > I remember that in our initial discussions, the reacting node was advertising its features / capabilities and the reporting node was selecting the ones it wants to use. Should not we come back to this rule? or I would love to come back to this rule where the reporting node picks up one common feature. Now the text just mandates that at least one feature must be common on both side (and be advertised by both). This does not preclude reporting node implementations to do the "select one common feature" though. They can advertise back only the one selected but they do not have to.. they can add more information on will. IMHO this complicates implementations. For example if both ends have three common (and advertised) features, the reacting node must be prepared to receive OLRs on any of those for the same reporting node in parallel (why would the reporting node do so, no idea, but it could based on the spec). > do you consider that when we will introduce new features , we will introduce statements to indicate rules on their presence in OC-Feature-Vector. Personnaly, I think the advertisement followed by selection was a good approach. Views on this? Agree. - Jouni > > I have described this B part here, as it may have some interaction with the A part. > > Best regards > > JJacques > > > > > > _______________________________________________ > DiME mailing list > DiME@ietf.org > https://www.ietf.org/mailman/listinfo/dime
- [Dime] OC-Supported Feature AVP TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
- Re: [Dime] OC-Supported Feature AVP Jouni Korhonen
- Re: [Dime] OC-Supported Feature AVP Steve Donovan
- Re: [Dime] OC-Supported Feature AVP Ben Campbell
- Re: [Dime] OC-Supported Feature AVP Wiehe, Ulrich (NSN - DE/Munich)