Re: [Idr] Opsdir early review of draft-ietf-idr-sla-exchange-10

Joe Clarke <jclarke@cisco.com> Sun, 07 May 2017 21:53 UTC

Return-Path: <jclarke@cisco.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0AE7C126B7F; Sun, 7 May 2017 14:53:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level:
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 9qDG-ajqE2fv; Sun, 7 May 2017 14:53:26 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1B79F12009C; Sun, 7 May 2017 14:53:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8330; q=dns/txt; s=iport; t=1494194006; x=1495403606; h=from:subject:to:cc:references:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=AxM1amj0/11O9jS37mItZyVcdyQwDEhs6IRez8zdsqQ=; b=UugkxZtuAxm/YJXRh77TrXiYFzDzEm6sPJKiawIUS8/WaxvEGYFc2wGs 1VjWV7agbM+2c1SwvHy7dN/YH7SJxVOZ3Igac6uSldQEKDAbFJTaAChVY rmjTn8Cau1hEoXJdskWy0z+6HQVHl+cI/HWFxL9VL6f5E9GM8OOJ875ZF A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DNAAASlg9Z/5BdJa1cGQEBAQEBAQEBAQEBBwEBAQEBg1WPbpFUcpUAgg+GJAKEST8YAQIBAQEBAQEBayiFFQEBAQECAXkFCwsYLlcGDQgBAYoUCLIEil0BAQEBAQEBAQIBAQEBAQEBIYZfgV4rgjw0ikwBBJZmhxOKT4hJggSFPINDI4ZGiHyLQh84gQpPIRVGhHEDHIF/JIceK4IQAQEB
X-IronPort-AV: E=Sophos;i="5.38,305,1491264000"; d="scan'208";a="240503394"
Received: from rcdn-core-8.cisco.com ([173.37.93.144]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 May 2017 21:53:25 +0000
Received: from [10.118.87.89] (rtp-jclarke-nitro8.cisco.com [10.118.87.89]) by rcdn-core-8.cisco.com (8.14.5/8.14.5) with ESMTP id v47LrO98019739; Sun, 7 May 2017 21:53:24 GMT
From: Joe Clarke <jclarke@cisco.com>
To: Shitanshu Shah <shitanshu_shah@hotmail.com>
Cc: idr@ietf.org, draft-ietf-idr-sla-exchange.all@ietf.org
References: <149400246349.8370.5477015906856459639@ietfa.amsl.com> <BY2PR13MB078958C7E422077A8AD69DBCE5E90@BY2PR13MB0789.namprd13.prod.outlook.com>
Organization: Cisco
Message-ID: <804fa340-7cba-e27a-e115-f5e675948396@cisco.com>
Date: Sun, 07 May 2017 17:53:24 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.1.0
MIME-Version: 1.0
In-Reply-To: <BY2PR13MB078958C7E422077A8AD69DBCE5E90@BY2PR13MB0789.namprd13.prod.outlook.com>
Content-Type: text/plain; charset="windows-1252"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/jx8yA8okel3vrGjJDQaYVgVFJr4>
Subject: Re: [Idr] Opsdir early review of draft-ietf-idr-sla-exchange-10
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 07 May 2017 21:53:28 -0000

[Correcting typo for idr@]

Thank you for your reply, Shitanshu.

Re-adding authors and WG.  Please see my inline comments below.

On 5/7/17 13:29, Shitanshu Shah wrote:
> 
> I think this draft would benefit from some examples that show what
> some practical QoS policies would look like that convey the required
> classes within the maximum BGP message size (that is, in section 7 add
> more specific examples of what policies may look like in the ADVERTISE
> messages).
> 
> ##svshah, The moment we get into defining QoS policies, it gets into
> vendor specifics. The draft purposefully, as one of its motivation,
> wants to stay away from vendor specifics in SLA exchange. Is there
> anything in specific you have in mind without getting into
> implementation or vendor specifics?

I thought the purpose of the draft was to provide a vendor-neutral way
of exchanging QoS/SLA policies.  What I was specifically asking for is
an example of what the fields within the packets may look like for a
given exchange.  That is, take some of the IPFIX parameters and specify
a specific example exchange of attributes.  I don't see how doing this
would be vendor-specific.

> 
> 
>   What do the authors feel typical uses of this would look
> like from the UPDATE message perspective?  What kind of processing
> overhead can one typically expect if a router, for example, will be
> the QoS Attribute Speaker and SLA Consumer?
> 
> ##svshah, one possible implementation can be is to asynchronously
> enqueue/dequeue messages from QoS Attribute Speaker to actual QoS
> functional component and thus limiting inline processing overhead to
> simply forming or parsing of QoS Attribute messages. Parsing of messages
> would be function of scale and frequency of SLA policy updates in a
> use-case. Not sure if this answers your question?

My overall point was that I feel some text should be added to the draft
to help an operator know what they might expect from added overhead.
Given that there are operators as authors of this draft, perhaps there
are recommendations to implementors of what operators expect for the
overhead involved with this capability.

> 
> 
> 
> Below are some specific per-section questions and issues:
> 
> Section 2:
> 
> You state that a BGP Speaker need not be a QoS Attribute Speaker, but
> even if the QoS data is opaque to the BGP Speaker, it would still need
> to know that the QoS Attribute Speaker exists and there is data to be
> added to the UPDATE.  So why the two entities don't need to be
> co-resident in the same process, a BGP Speaker needs to be QoS aware
> to some extent in order for this exchange to work.
> 
> ##svshah, The intention is to have a logical separation, that defines
> functional responsibility separation, between BGP Speaker and QoS
> Attribute Speaker. It does not necessarily mandate them to be in a
> separate process. With appropriate modularity, they can reside in a same
> process for a given implementation.

I completely understand that.  My point was that a BGP Speaker does need
to be _aware_ of a QoS Attribute Speaker.

> 
> 
> 
> Additionally, why are SLA Producer and Consumer broken out whereas QoS
> and BGP just have "speakers?"  For consistency, maybe you just state
> that there exists an SLA-aware QoS Attribute Speaker.
> 
> ##svshah, Producer and Consumer are broken out to explicitly define
> function of QoS Attribute Speaker at the node that is creating and
> sending a message vs at the node that is receiving and consuming a message.

Understood.  I just thought it was odd to specifically list those two
when you could have done the same for QoS Attribute Speaker.  This isn't
a big deal, mainly semantics, but I wanted to point it out.

> For SLA ID, you state:
> 
> The SLA ID applies to aggregate traffic to prefixes for a given
> AFI/SAFI that share the same Source AS and SLA ID.
> 
> The SLA ID applies to aggregate traffic that shares the same SLA ID?
> This seems circular to me.  I'm not really clear on how I would
> allocate an SLA ID and how I align that with the intended QoS
> policies.
> 
> ##svshah, Taking an example, what it means to suggest is that if a
> Source AS first had advertised an SLA with SLA ID s1 for prefix x.x.x.x.
> And then later some time if same Source AS advertises SLA ID s1 for
> prefix x.x.y.y then SLA for ID s1 is applicable to the aggregate traffic
> x.x.x.x+x.x.y.y

Got it.  This is the kind of thing adding a specific example of the
packet contents would help clarify.  Still, I think the wording is
confusing.  Perhaps you want to say something like:

Using a common SLA ID allows traffic with a given AFI/SAFI from
different prefixes to be treated as an aggregate.

> 
> 
> Would the intent of having a 0-length SLA Content be to remove the
> policy for the given prefixes?  I'm not clear exactly as to that use
> case.
> 
> ##svshah, We provide a provision of removing SLA content if there need
> to be. I personally do not have any specific use-case where SLA to be
> removed once established. May be a QOS SLA Producer implement
> modification in two steps which removes followed by an addition?

It could be that one AS no longer trusts another in terms of SLA.  In
any event, what is the intent of having a 0-length SLA Content?

> I'm confused a bit as to how the Destination AS List works.
> Initially, I thought this would only be set by the sending AS to
> indicate to which external ASes the content applies.  However, each
> QoS Attribute Speaker can update the Destination AS List.  In Sections
> 4.1.2, 5.1 and 5.2 you attempt to address this, but it is still not
> clear what kind of updating or trimming of the Destination AS list
> should be done (and in Section 5.2 you allude to rules to trim the
> Destination AS List, but I did not see those rules).  This could be
> clarified with an example of what can happen at various hops in the
> network.
> 
> ##svshah, ok. we will take a look at to address it.

Thanks.

> You state:
> 
> Any Traffic Class Element advertised in the QoS Attribute only
> applies to the advertised AFI/SAFI NLRI within the BGP UPDATE
> message the QoS Attribute is contained in.
> 
> However, if I understand correctly, I could specify IPFIX attributes
> of sourceIPv6Prefix and/or destinationIPv6Prefix that does not line up
> with the NLRIs, would that not constitute an error?
> 
> ##svshah, we do not define that as an error. This is a QoS Producer
> defined SLA and if content of produced SLA is no-op or how meaningful it
> is, is completely scope of QOS SLA Producer. The SLA exchange mechanism
> does not need to read SLA content to validate meaning of the SLA content.

But given your text that if my QoS Attribute traffic class definition
uses prefixes that are out of range from the NLRI, that would be an error?

> Section 3.3.2.2:
> 
> Why have such a huge range for length here?  I can specify that the
> number of bytes to specify the amount of L2 overhead to use is 255.
> Why not advise that length should be 4, and then use an IEEE FP number
> like you did for the TSPEC?  At the very least, I think this should be
> reined in a bit.
> 
> ##svshah, sure. Infact this field is changed based on comments/feed-back
> from David's review. And in the new definition of that field, we
> have/will take care of as per your suggestion.

Thanks.

> 
> Section 5.2
> 
> What I did not see is what the actual SLA Consumer should do after it
> processes the SLA Content.  I realize this can delve into
> implementation details, but perhaps it's worth mentioning that the SLA
> Consumer can use protocols like NETCONF or RESTCONF to configure the
> policies on the necessary interfaces.
> 
> ##svshah, yeah, as you state it, this would get into implementation
> details. Besides netconf/restconf, infact implementations may be in the
> NOS itself (it does not necessarily need netconf/restconf interface)
> just like it can be in the case of flow-spec implementations.

Can you add a small bit of text to this effect?  To me, I read through
this whole draft and was surprised there wasn't any direct mention of
what is done with the processed SLA.

Thanks.

Joe