Re: [sfc] WG Last call - Hierarchical SFC

"Adrian Farrel" <adrian@olddog.co.uk> Tue, 14 March 2017 19:43 UTC

Return-Path: <adrian@olddog.co.uk>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 933A2129A9D for <sfc@ietfa.amsl.com>; Tue, 14 Mar 2017 12:43:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.72
X-Spam-Level:
X-Spam-Status: No, score=-0.72 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
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 T3dA8zChiwPV for <sfc@ietfa.amsl.com>; Tue, 14 Mar 2017 12:43:26 -0700 (PDT)
Received: from asmtp3.iomartmail.com (asmtp3.iomartmail.com [62.128.201.159]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 43A21129A72 for <sfc@ietf.org>; Tue, 14 Mar 2017 12:43:04 -0700 (PDT)
Received: from asmtp3.iomartmail.com (localhost.localdomain [127.0.0.1]) by asmtp3.iomartmail.com (8.13.8/8.13.8) with ESMTP id v2EJh1B8024028; Tue, 14 Mar 2017 19:43:01 GMT
Received: from 950129200 ([176.241.251.4]) (authenticated bits=0) by asmtp3.iomartmail.com (8.13.8/8.13.8) with ESMTP id v2EJgufh023949 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 14 Mar 2017 19:43:01 GMT
Reply-To: adrian@olddog.co.uk
From: Adrian Farrel <adrian@olddog.co.uk>
To: "'Joel M. Halpern'" <jmh@joelhalpern.com>, sfc@ietf.org
References: <b565a81a-ced0-e4dd-5c0f-951814aa0246@joelhalpern.com>
In-Reply-To: <b565a81a-ced0-e4dd-5c0f-951814aa0246@joelhalpern.com>
Date: Tue, 14 Mar 2017 19:42:58 -0000
Message-ID: <056c01d29cfb$3275c8f0$97615ad0$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQEofRGfDIay+LW5FAE2aWoNuD+K+qLo+8NA
Content-Language: en-gb
X-TM-AS-MML: disable
X-TM-AS-Product-Ver: IMSS-7.1.0.1679-8.1.0.1062-22942.001
X-TM-AS-Result: No--8.667-10.0-31-10
X-imss-scan-details: No--8.667-10.0-31-10
X-TMASE-MatchedRID: H0/uSqZo4D5fsB4HYR80Zp21GZGE81yG+pkYmVlzZ8uKvtIv3yXJCfkU my1Y1jH8mJwWfVMno2LmVl4D8eu/xAcSBA/LYDihsyNb+yeIRAoZMrfQmeij5Qzvg1/q1MH2Wq8 3kQ8NcpAPWUkB5Hp/uWsVIHEKo/MpJtllgBC70fm7vYqkCS0dLzFFLhGUD8AWnSPw4pGdVDyRZ+ gzTRpU1W/s2eocV1AZATCK3iz0XmW1UAN2vPuTMhes/RxhysDbQa2sDHLkQ07sUpOz15WOuMNUZ qLXyeOu1OXJbkTuIUDQShZCC3qtX/B0BomJXTnpf598+KnsMOg4gG1vqBBN+K/FMdJb10vOZ5pY gzoki0OqxScIF8+D9uomZxSR0RE+g1bTfeKwz7DPmshbRFtLmFK6+0HOVoSoV6KWY8jugmWRpyv nn7VRvzpObK2FRWL14xfvBf6ttd/LIr1irshncjDfgfM3Zc/R7+pIlQkyFUqen0qBdy7fjEMn3S PMGgugPdJs51vPe8l+AmSEJ+YYOdcUNjoF7YuVy18e5+drKgYbTwzYj2zQut2VQFX+cuxS5YcOu ccmINGAtLwzDtz37HhN6S2cQldPYAmall7++5RHFWsq1vzd1H0tCKdnhB58vqq8s2MNhPB9j2Gw zTE3vSq2rl3dzGQ1Y7IgXGzIUjRo7PI2iLDVlgU7GFPFBEpm13t8o06KH70aDfyusftuAw==
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/gTgi9vMc6aWJjWWXa0XBzSe1iUg>
Subject: Re: [sfc] WG Last call - Hierarchical SFC
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Mar 2017 19:43:30 -0000

All,

I'm not very excited by hSFC. So far we haven't been able to come up
with examples of very long chains and while they may one day be found
it seems premature to do work on hSFC. I do agree that the use cases
shown can be solved with hSFC, but I also don't see use cases as 
insoluble using other approaches.

So please take this as a "publish it if you must" level of support :-)

But anyway, here are a few comments from reading the latest revision.

Cheers,
Adrian

Seven authors will probably give the AD heartburn.

---

I'm surprised to see this last called when it has normative references
to one document that the still needs work before it can go to a second
WG last call, and another document that the WG is debating abandoning.

---

The introduction contains the reasonable note...
      Note: in this document, the notion of the "path" of a packet is
      the series of SF instances traversed by a packet.  The means of
      delivering packets between SFs (i.e., the forwarding mechanisms
      enforced in the underlying network) are not relevant to the
      discussion.
Why, then, does the document go on to discuss SFFs?

---

We were explicitly told in the WG that an SFF cannot make assumptions 
based on the transport tunnel used to deliver a packet to the SFF.

3.1.1 seems to be counter to this.

I would be happy to hear that 3.1.1 is a valid approach, but if so then
the WG needs to agree that an SFF *can* make determinations based on the
transport tunnel. In particular, it can tell whether a packet has 
arrived from another SFF, from an SF, or from a classifier.

---

It is all very well for section 3.1 to describe 5 perfectly achievable
approaches to hSFC, but in order to achieve interop, the head and tail
ends of a lower layer SFC need to use the same mechanism. That means
that the mechanism either has to be determined through the control plane
or exposed by examination of the data plane. Furthermore, the 
implication is that all implementations have to support all five 
mechanisms.

Saying that this document "sets expectations for control planes" is
all very well, but by keeping so many options and punting on the details
you are making it unlikely that a workable solution will be 
standardised.

Following the principle that "options are bad" can't we manage to cut
this list down to just one method (or worst case, two)?

Why do we need five mechanisms?

(I note that option 3 is "free" with reclassification, while option 4
is already defined in the NSH spec.)

---

Section 9.2 seems to be out of date.
Indeed, some of the hSFC approaches here include "reclassification" in 
a way that would stop the SI being used to detect loops. So we need to
invoke the TTL. But how will the TTL be used? Will the lower layer SPF
inherit the TTL from the higher layer, or will it reset it? Will the
higher layer SFP be updated according to the TTL of the lower layer?
Can two lower layer SFPs be stitched together without a "hop" in the 
higher layer?

More work needed on loops, I think.

> -----Original Message-----
> From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Joel M. Halpern
> Sent: 14 March 2017 18:30
> To: sfc@ietf.org
> Subject: [sfc] WG Last call - Hierarchical SFC
> 
> This is a last call for:
> https://tools.ietf.org/html/draft-ietf-sfc-hierarchical-02
> 
> Please respond to the list as to whether you see problems with this, you
> think it is done, or any other input for the WG.
> 
> Due to the run up to the IETF, we will let this run until April 7.