[Dime] OC-Supported features and application specific flags

"TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com> Wed, 26 March 2014 18:35 UTC

Return-Path: <jean-jacques.trottin@alcatel-lucent.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 8CF2C1A0388 for <dime@ietfa.amsl.com>; Wed, 26 Mar 2014 11:35:07 -0700 (PDT)
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 E-MvOB_uXUw9 for <dime@ietfa.amsl.com>; Wed, 26 Mar 2014 11:35:04 -0700 (PDT)
Received: from hoemail1.alcatel.com (hoemail1.alcatel.com [192.160.6.148]) by ietfa.amsl.com (Postfix) with ESMTP id 792721A036F for <dime@ietf.org>; Wed, 26 Mar 2014 11:35:01 -0700 (PDT)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (h135-239-2-122.lucent.com [135.239.2.122]) by hoemail1.alcatel.com (8.13.8/IER-o) with ESMTP id s2QIYvhH013161 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 26 Mar 2014 13:34:59 -0500 (CDT)
Received: from FR711WXCHHUB01.zeu.alcatel-lucent.com (fr711wxchhub01.zeu.alcatel-lucent.com [135.239.2.111]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id s2QIYtKH010259 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 26 Mar 2014 19:34:55 +0100
Received: from FR712WXCHMBA12.zeu.alcatel-lucent.com ([169.254.8.152]) by FR711WXCHHUB01.zeu.alcatel-lucent.com ([135.239.2.111]) with mapi id 14.02.0247.003; Wed, 26 Mar 2014 19:34:55 +0100
From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
To: Jouni Korhonen <jouni.nospam@gmail.com>
Thread-Topic: [Dime] OC-Supported features and application specific flags
Thread-Index: AQHPSSIUS7l3Hdh/PEWe0bq9qK7pLg==
Date: Wed, 26 Mar 2014 18:34:54 +0000
Message-ID: <E194C2E18676714DACA9C3A2516265D20267AB04@FR712WXCHMBA12.zeu.alcatel-lucent.com>
References: <057.cca16f1268987a869c0055728f3d7793@trac.tools.ietf.org> <752FBBF3-DF13-4BCC-A613-E61D00038E2E@nostrum.com> <6A4050BC-908A-439C-BF41-2992CF0F58B6@gmail.com> <E25B5473-253C-44B8-BF99-5A2F86328E09@nostrum.com> <ED6F296B-F167-4007-87C3-DB8D75D35964@gmail.com> <512F9D8C-BE9B-4365-8D89-402AC0A81D99@nostrum.com> <53302397.7020006@usdonovans.com> <E194C2E18676714DACA9C3A2516265D202672B74@FR712WXCHMBA12.zeu.alcatel-lucent.com> <98C36821-0110-4A8C-9CFB-FDC2C1D88768@gmail.com>
In-Reply-To: <98C36821-0110-4A8C-9CFB-FDC2C1D88768@gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.40]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/jNAPrWvNU9rMLhWMyNd7UKWhR9M
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: [Dime] OC-Supported features and application specific flags
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: Wed, 26 Mar 2014 18:35:07 -0000

Hi Jouni

Thanks for your detailed answers about my questioning regarding the OC-features AVP  (I propose  to do another thread as not related to #48) 

About relays, I have not asked for relay to support DOIC, but Ben several times mentioned the relays that may act as a DOIC node . So I try to see consequences of this assuimption. From you answer, I think it should be clarified.

Then there are my questions about an application introducing new features, your answer is that new flags in the OC-features AVP must be declared to IANA. OK for this; I would think it should be written in the draft? 
Have we other possibilities: I think that in the OC-features AVP a part of the bit mask could be "common" meaning anew flag added in this part is declared to IANA. Another part is fully specific to an application, which is compatible with the fact that an OC-feature AVP (and its content) when sent  is always associated to a specific application. Other possibilities?

I currently have no religion on the way to do, only to have a way on how an application can add new feature bits without creating issues, and this way described in the draft. 

In 3GPP, there is the Supported-Features AVP of which the whole bit mask content  is fully specific to a Diameter application and this OK. This AVP may be understood by a Proxy DA application aware.

Best regards

JJacques 


  

-----Message d'origine-----
De : Jouni Korhonen [mailto:jouni.nospam@gmail.com] 
Envoyé : mardi 25 mars 2014 13:38
À : TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
Cc : dime@ietf.org
Objet : Re: [Dime] [dime] #48: Setting M-Bit gives wrong semantics


Hi,

On Mar 25, 2014, at 10:07 AM, "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com> wrote:

> Hi
>  
> Effectively we should be cautious with M bit for AVPS inside a grouped AVP such as OC-OLR AVP, and as Ben proposed, I am also rather in favour of not using the Mbit inside a DOC group AVP, including application specific AVPs.
>  
> In the thread discussion it  was mentioned the use of OC-feature and  also relay node that is application  independent.
>  
> Hereafter my  case:
>  
> After our IETF draft having become a RFC, IETF standardizes an extension,  which adds a new flag in OC-feature AVP. This extension is not specific to a Diameter application
> -          A  relay oonly supporting our IETF draft, will observe that OC-feature value does not fit to what it knows. I expect here that relay will do nothing about DOC as the meaning of the OC-OLR may be different of what it knows. OK? I als othink it applies to a proxy DA

I would expect the behaviour be like this.. otherwise there will be issues.

> -          If the relay supports the extension, it will recognize  the OC-feature value and will behave according this value. So OK. Should we have some text in the IETF draft?

By default relays should not even look into DOIC stuff.. since relays are only supposed to route requests. But we cannot prohibit some relay implementations doing "enhanced" processing on requests. For that part I think there is no need to say anything.

>  
> Now, this is a Diameter  application (eg a 3GPP one) that will define 
> an extension for its own use . Is this application is allowed to use 
> bits of OC-Features AVP to indicate this application specific feature 
> (or even algorithm). How to avoid the application to use the same bits 
> as future IETF extensions? Will we be driven to use

If you define a new application, you are still supposed to register your feature bits. Otherwise, there will be a mess. I see no reason why someone would like to go this road other than for the pleasure of having incompatibility issues to fight with..

> another OC-Application-Specific-Feature AVP, or have bits  in OC-Feature reserved for application specific extensions., or other?  A constraint is that  a relay (application unaware) should nevertheless  detect there is application specific extensions (without knowing their meaning) so to not do DOC actions.  

The process of registering a new feature flag is made so easy with IANA that there should not be a reason not to do so. Feature flags are not application specific per se, or that is how its use was designed to begin with. They could be but then relays definitely should not look into those..


>  
> I understand this is not directly linked to our immediate scope, but we may try  to be future proof allowing application specific extensions and Relay node supporting the generic DOC.

If you want to be on the safe ground, you do these things with proxies.

>  
> Do you agree on this potential issue? If yes may be to analyse what to add in the IETF draft to be future proof.

I agree there will be issues if someone deliberately starts doing weird stuff with relays and also fooling around with feature flags.. We are already on the edge with feature flags in general, since they allow adding new functionality to applications without doing how Diameter was designed to do that - getting a new application-id.

- Jouni


>  
> Best regards
>  
> JJacques
>   
>  
> De : DiME [mailto:dime-bounces@ietf.org] De la part de Steve Donovan 
> Envoyé : lundi 24 mars 2014 13:23 À : dime@ietf.org Objet : Re: [Dime] 
> [dime] #48: Setting M-Bit gives wrong semantics
>  
> Do we have proposed wording to be included in the -02 version of the draft on this issue?
> 
> Steve
> 
> On 3/22/14 12:36 AM, Ben Campbell wrote:
>  
> On Mar 21, 2014, at 9:33 PM, Jouni Korhonen <jouni.nospam@gmail.com> wrote:
>  
>  
> Ben,
>  
> On Mar 22, 2014, at 2:44 AM, Ben Campbell <ben@nostrum.com> wrote:
>  
>  
> On Mar 21, 2014, at 12:43 PM, Jouni Korhonen <jouni.nospam@gmail.com> wrote:
>  
>  
> Consider the case of a Diameter _relay_ that supports DOIC. It is not aware of any application-specific rules about m-bits. It receives an OC-Supported-Features or an OC-OLR that has a mandatory AVP that it doesn't recognize. Logically, it should probably ignore the entire OC-Supported-Features or OC-OLR grouped-AVP. But it won't. Being a relay, it's not going to reject the message. Rather it's likely to try to apply the OC-Supported-Features or OC-OLR incorrectly.
>  
> RFC6733 also says that relays perform not do any application level 
> processing. If a relay supports DOIC and does something goofy that is 
> left for implementation, we should no care nor try to fix the 
> situation. The implementation is already bending the rules in that 
> case.
>  
> Hi Jouni,
>  
> I'm not talking about the case of the relay doing something goofy. Rather, I mean when a relay tries to perform basic DOIC processing of an OLR as described in the base DOIC spec, but ignores some extension AVP that changes the meaning of the OLR. It's not bending the rules so much as failing to recognize someone else changing the rules.
>  
> Ah, I see your point. But if one adds AVPs to the default algorithm 
> that change he behaviour and does not a) declare it as a new algorithm 
> or b) add a new supported feature flag, then that is a proprietary
> (broken) implementation. We cannot really protect against those..
>  
> I think that's reasonable. My original point was that extensions should not try to use the m-bit for that purpose. If they have something that is not backwards compatible, it needs to be negotiated in the feature vector.
>  
>  
> _______________________________________________
> 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