Re: [sfc] TTL field within the NSH base header

James N Guichard <james.n.guichard@huawei.com> Mon, 01 May 2017 14:24 UTC

Return-Path: <james.n.guichard@huawei.com>
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 07EBC129BF3 for <sfc@ietfa.amsl.com>; Mon, 1 May 2017 07:24:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.52
X-Spam-Level:
X-Spam-Status: No, score=-1.52 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 Mi3Rt1iFPhiG for <sfc@ietfa.amsl.com>; Mon, 1 May 2017 07:24:19 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 438B612944C for <sfc@ietf.org>; Mon, 1 May 2017 07:22:26 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml701-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DMB46809; Mon, 01 May 2017 14:22:23 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by lhreml701-cah.china.huawei.com (10.201.108.42) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 1 May 2017 15:22:22 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML702-CHM.china.huawei.com ([169.254.4.233]) with mapi id 14.03.0235.001; Mon, 1 May 2017 07:22:19 -0700
From: James N Guichard <james.n.guichard@huawei.com>
To: "mohamed.boucadair@orange.com" <mohamed.boucadair@orange.com>, Dave Dolson <ddolson@sandvine.com>, "sfc@ietf.org" <sfc@ietf.org>
Thread-Topic: TTL field within the NSH base header
Thread-Index: AdK/h0bahW5bvXGwSoCeYu3QIaIxxgAl9XdgAAMaEWAAADpXIACWaNtA
Date: Mon, 01 May 2017 14:22:18 +0000
Message-ID: <BF1BE6D99B52F84AB9B48B7CF6F17DA3DD6993@SJCEML701-CHM.china.huawei.com>
References: <BF1BE6D99B52F84AB9B48B7CF6F17DA3DD5F8E@SJCEML701-CHM.china.huawei.com> <787AE7BB302AE849A7480A190F8B933009E5E3B9@OPEXCNORMAD.corporate.adroot.infra.ftgroup> <E8355113905631478EFF04F5AA706E98705BD0A0@wtl-exchp-1.sandvine.com> <787AE7BB302AE849A7480A190F8B933009E5E4BD@OPEXCNORMAD.corporate.adroot.infra.ftgroup>
In-Reply-To: <787AE7BB302AE849A7480A190F8B933009E5E4BD@OPEXCNORMAD.corporate.adroot.infra.ftgroup>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.47.144.158]
Content-Type: multipart/alternative; boundary="_000_BF1BE6D99B52F84AB9B48B7CF6F17DA3DD6993SJCEML701CHMchina_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090201.590744A0.006B, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 7cea878183dedd45c6fda095929d4ae9
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/kzKXQBwPprZiLfj8j_faL3bLZt8>
Subject: Re: [sfc] TTL field within the NSH base header
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: Mon, 01 May 2017 14:24:24 -0000

I don't understand this sentence as if an SFF is terminating a service chain then it *wont* be forwarding the packets to attached SFs; Shouldn't this sentence read "SFFs that terminate a service chain MUST forward the packet even if SHL is decremented to 0" ?

Jim

From: mohamed.boucadair@orange.com [mailto:mohamed.boucadair@orange.com]
Sent: Friday, April 28, 2017 10:38 AM
To: Dave Dolson <ddolson@sandvine.com>; James N Guichard <james.n.guichard@huawei.com>; sfc@ietf.org
Subject: RE: TTL field within the NSH base header

Re-,

I see SHL as a means to prevent SFF loops. There is no value in deleting a packet after an SFF decrement the SHL to 0, but that packet is to be passed to SFs that are attached to this SFF. The packet will be forwarded after stripping the NSH header; no risk for SFF loops out there. No?

Cheers,
Med

De : Dave Dolson [mailto:ddolson@sandvine.com]
Envoyé : vendredi 28 avril 2017 16:29
À : BOUCADAIR Mohamed IMT/OLN; James N Guichard; sfc@ietf.org<mailto:sfc@ietf.org>
Objet : RE: TTL field within the NSH base header

Med,

"SFFs that terminate a service chain MUST forward the packet to attached SFs even if SHL is decremented to 0."
I don't think this is right.
If TTL/SHL is decremented to 0, this must not be forwarded as NSH.
I see that *receiving* a packet with SHL=1 can result in chain termination, i.e., NSH decapsulation. But not forwarding as NSH with SHL=0.

-Dave


From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>
Sent: Friday, April 28, 2017 9:36 AM
To: James N Guichard; sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] TTL field within the NSH base header

Hi Jim, all,

I have the following comments :

·         Change "TTL" to "SFF Hop Limit (SHL)" because this field is not about a time to live but about a limit of SFF hops to be crossed.

·         I don't understand what is meant by "testing".

·         I suggest to make this change to cover the following points:

o   SHL should be configurable by the control plane.

o   Packets can be forwarded to SFs even if SHL is decremented to 0 for the terminating SFF.

o   I don't think it is a good idea to include "Decrementing by a value of 1 from 0 shall result in a TTL value of 63" because this will lead to a broken mechanism.

OLD:
TTL: Service plane time-to-live. An SFF MUST decrement the TTL by a value of 1 for all NSH packets it receives. Decrementing by a value of 1 from 0 shall result in a TTL value of 63. The default for originating an NSH packet is a TTL value of 63. The decrement SHALL occur before testing for 0. After decrement, if the TTL is 0, the NSH packet MUST NOT be forwarded.

NEW:
SHL (SFF Hop Limit): Indicates the maximum SFF hops for a service chain. The initial SHL value SHOULD be configurable via the control plane; the configured initial value can be specific to a chain or all chains. If no initial value is explicitly provided, the default initial SHL value 63 MUST be used. Each SFF involved in forwarding an NSH packet MUST decrement SHL value by 1. The packet MUST NOT be forwarded to a next hop SFF if SHL is decremented to zero. SFFs that terminate a service chain MUST forward the packet to attached SFs even if SHL is decremented to 0.

Thank you.

Cheers,
Med

De : sfc [mailto:sfc-bounces@ietf.org] De la part de James N Guichard
Envoyé : jeudi 27 avril 2017 20:54
À : sfc@ietf.org<mailto:sfc@ietf.org>
Objet : [sfc] TTL field within the NSH base header

Dear WG:

Having reviewed all of the email discussion on the mailing list it appears to the chairs that we have consensus to add a TTL field to the NSH base header. We would like to propose the following changes:

Section 3.2:
Update figure 2 as follows:

     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Ver|O|R|    TTL    |   Length  |R|R|R|R|MD Type| Next Protocol |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Add the following text after figure 2:

TTL: Service plane time-to-live. An SFF MUST decrement the TTL by a value of 1 for all NSH packets it receives. Decrementing by a value of 1 from 0 shall result in a TTL value of 63. The default for originating an NSH packet is a TTL value of 63. The decrement SHALL occur before testing for 0. After decrement, if the TTL is 0, the NSH packet MUST NOT be forwarded.

Section 3.4:
Update figure 4 to reflect the new base header format as per section 3.2 base header.

Section 3.5:
Update figure 5 to reflect the new base header format as per section 3.2 base header.

Section 12.2.1:
Current text is as follows:

   There are ten bits at the beginning of the NSH Base Header.  New bits
   are assigned via Standards Action [RFC5226].

   Bits 0-1 - Version
   Bit 2 - OAM (O bit)
   Bit 3 - Critical TLV (C bit)
   Bits 4-9 - Reserved

Replace entire text as follows:

   There are eight reserved bits in the NSH Base Header. New bits
   are assigned via Standards Action [RFC5226].

   Bits 0-1 - Version
   Bit 2 - OAM (O bit)
   Bit 3 - Reserved
   Bits 16-19 - Reserved

Section 12.2.3:
Current text has the MD-type as 8-bit values.

Update text for this section and table 1 to reflect 4-bit values *not* 8-bit values.

Please review carefully and indicate support for these changes (or any changes to the suggested text).

Thanks,

Jim & Joel