Re: [Dime] [dime] #29: OC-Sequence-Number in OC-Supported-Features

Steve Donovan <srdonovan@usdonovans.com> Mon, 10 February 2014 17:24 UTC

Return-Path: <srdonovan@usdonovans.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 4C41C1A0835 for <dime@ietfa.amsl.com>; Mon, 10 Feb 2014 09:24:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=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 1wSlG8-kltKK for <dime@ietfa.amsl.com>; Mon, 10 Feb 2014 09:24:30 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [66.117.0.129]) by ietfa.amsl.com (Postfix) with ESMTP id C70021A0406 for <dime@ietf.org>; Mon, 10 Feb 2014 09:24:30 -0800 (PST)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:57697 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1WCuZg-0006mR-Qh for dime@ietf.org; Mon, 10 Feb 2014 09:23:23 -0800
Message-ID: <52F90B46.4060708@usdonovans.com>
Date: Mon, 10 Feb 2014 11:24:22 -0600
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.3.0
MIME-Version: 1.0
To: dime@ietf.org
References: <074.f935b422e3c04ea6cc7d5a8fbf9fb3b3@trac.tools.ietf.org> <78300994-0C77-47B5-B28E-D03048916AF3@gmail.com>
In-Reply-To: <78300994-0C77-47B5-B28E-D03048916AF3@gmail.com>
Content-Type: multipart/alternative; boundary="------------010404000907080006000006"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
Subject: Re: [Dime] [dime] #29: OC-Sequence-Number in OC-Supported-Features
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, 10 Feb 2014 17:24:36 -0000

If we agree that the lifetime of the OC-Supported-Features capability
advertisement is a single transaction then the utility of the sequence
number is reduced. 

My reason for pushing for having the sequence number originally was
based on the assumption that the capability advertised by a reacting
node was semi permanent.  While there might be no earthly use, the
heavenly use was to decrease the work for reporting nodes needing to
parse the AVP on every request received. 

It is still the case that the OC-Supported-Features AVP contents will
almost never change.  The contents of the AVP will also become more
complex as new extensions are defined.  The value of the sequence number
is to allow a reporting node to save the advertisement and not parse the
full content of the AVP unless the sequence number changes. 

I still think there is enough value in the reduced work on a reporting
node to keep the sequence number.

Steve

On 2/7/14 2:01 AM, Jouni Korhonen wrote:
> Finally catching up with these.. see inline.
>
>
> On Feb 4, 2014, at 10:46 AM, dime issue tracker <trac+dime@trac.tools.ietf.org> wrote:
>
>> #29: OC-Sequence-Number in OC-Supported-Features
>>
>> According to the current definition of the OC-Supported-Features AVP in
>> the -01 draft, the OC-Supported-Features AVP contains an OC-Sequence-
>> Number AVP.
>> The author of this document believes that OC-Sequence-Number within OC-
>> Supported-Feature is  not needed, is useless and could be misleading and
>> therefore proposes to remove OC-Sequence-Number from OC-Supported-Feature.
>>
>> The -01 draft says in clause 4.1:
>>    The OC-Sequence-Number AVP is used to indicate whether the contents
>>    of the OC-Supported-Features AVP has changed since last time the node
>>    included the OC-Supported-Features AVP (see Section 4.4).  Although
>>    sending the OC-Sequence-Number AVP is mandatory in the OC-Supported-
>>    Features AVP, the receiving node MAY always choose to ignore the
>>    sequence number if it can determine the feature support changes
>>    otherwise.
>>
>> The text seems to imply that the reporting DOIC endpoint, when receiving
>> an application request message that contains an OC-Supported-Features AVP,
>> needs to determine whether a feature support change occured (either by
>> checking the value of the received sequence-number (probably) against a
>> stored value, or by other unspecified means). However,  this is not
>> correct. The reporting DOIC endpoint may  ignore the sequence-number even
>> if it cannot determine whether or not a feature support change occured:
>> The reporting DOIC endpoint simply takes the value of the OC-Feature-
>> Vector as received in the request  into account (if absent the default
>> value applies) when processing the request.  There is no need for the
>> reporting DOIC endpoint to know whether a previous request contained the
>> same or a different value in OC-Feature-Vector, i.e. whether there was a
>> recent change.
> This is true for the current default algorithm. May not be true in the
> future. Note, in IETF space versioning Diameter applications is not that
> straight forward as in 3GPP, thus I would rather have forward looking
> solution, even if that in places would mean "placeholder" AVPs.
>
>> It has been argued that the reporting DOIC endpoint may (optionally)
>> benefit from the presence of a Sequence-Number within OC-Supported-
>> Features: The reporting DOIC endpoint may have stored the Sequence-Number
>> and Feature-Vector as received in a previous request, and when receiving a
>> new request the reporting DOIC endpoint would compare the received
>> Sequence-Number from the new request  with the stored Sequence-Number;  If
>> they match (i.e. no change of supported features occured) the reporting
>> DOIC endpoint would ignore the received Feature-Vector from the new
>> request and use the stored Feature-Vector for further processing; if they
>> don't match (i.e. a change of supported features occured), the reporting
>> DOIC endpoint would update the stored Sequence-Number and Feature-Vector
>> with the received values from the new request and use the updated Feature-
>> Vector for further processing. While it is debatable whether the described
>> usecase is reasonable, the following issues have not been addressed:
>> In configurations where the client does not support DOIC, an agent (A1) on
>> a path from client to reporting DOIC endpoint (e.g. server) may take the
>> role of a reacting DOIC endpoint and insert an OC-Supported-Features AVP
>> in the (first) request message indicating its supported features.  A
>> subsequent request message sent from the same client to the same server
>> may take another path on which another agent (A2) takes the role of the
>> reacting DOIC endpoint. A2 then inserts an OC-Supported-Features AVP in
>> the subsequent request message indicating its supported features (which
>> may be different from A1's supported features but may have the same
>> sequence number).  Since the reporting DOIC endpoint (e.g.server) - when
> Since seq-no is NTP time, this would not happen, excluding cases
> where clocks either in A1 or A2 are wrong. But that is a different
> issue then..
>
>> receiving the subsequent request - cannot know whether the the reacting
>> DOIC endpoint that inserted the OC-Supported-Features AVP in the
>> subsequent request is identical to or different from the reacting DOIC
>> endpoint that inserted the OC-Supported-Features AVP in the first request,
> Right.
>
>> it may frequently occure that the reporting DOIC endpoint receives request
>> messages containing an OC-Supported-Features AVP with a Sequence-Number
>> valuelower than the stored value (which may be interpreted as error), or
>> equal to the stored value but with a different associated Feature Vector,
>> or higher than the stored value but unmodified Feature Vector.
> See the above comment on the NPT.
>
>> In summary, the Sequence-Number within OC-Supported-Features is of no
>> earthly use since the reporting DOIC endpoint cannot associate a received
>> Sequence-Number (within OC-Supported-Features) with the identity of the
>> reacting DOIC endpoint that sent the Sequence-Number.  Even when such
>> association was possible by enhancing the OC-Supported-Features AVP with
>> the Diameter Identity of the reacting DOIC endpoint that generated the
>> Sequence-Number,  it would still simply not be needed as the reporting
>> DOIC endpoint can base its processing on the received Feature-Vector
>> (rather than on a stored Feature Vector).
> I buy the reasoning for the lack of binding between the reacting node
> identity and the supported features AVP.
>
> However, we should not assume that _all_ implementations will behave
> as expected above i.e. not storing the feature vector.
>
>> It is therefore proposed to remove the OC-Sequence-Number AVP from the OC-
>> Supported Features AVP.
> I have no (more) strong view here. If folks are OK to remove
> the seq-no, so be it.
>
> - Jouni
>
>
>
>> -- 
>> ----------------------------------------------+--------------------------
>> Reporter:  lionel.morand@orange-ftgroup.com  |      Owner:  Ulrich Wiehe
>>     Type:  defect                            |     Status:  new
>> Priority:  major                             |  Milestone:
>> Component:  draft-docdt-dime-ovli             |    Version:  2.0
>> Severity:  Active WG Document                |   Keywords:
>> ----------------------------------------------+--------------------------
>>
>> Ticket URL: <http://trac.tools.ietf.org/wg/dime/trac/ticket/29>
>> dime <http://tools.ietf.org/wg/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
>