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

Joe Clarke <jclarke@cisco.com> Thu, 27 April 2017 21:58 UTC

Return-Path: <jclarke@cisco.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 A4C5B129B9E for <sfc@ietfa.amsl.com>; Thu, 27 Apr 2017 14:58:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.502
X-Spam-Level:
X-Spam-Status: No, score=-14.502 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, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 ycY_GlFa18J4 for <sfc@ietfa.amsl.com>; Thu, 27 Apr 2017 14:58:26 -0700 (PDT)
Received: from rcdn-iport-8.cisco.com (rcdn-iport-8.cisco.com [173.37.86.79]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 81D81129462 for <sfc@ietf.org>; Thu, 27 Apr 2017 14:55:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6379; q=dns/txt; s=iport; t=1493330140; x=1494539740; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=Wn6kOZF65ujaJf8zYmVPEInRPmDagNlZyDURluA3v5w=; b=gwB6aRTE05Nfhme7Z7LZejjqLw5tbk4bxsBFhOoaMW1zVV58pWbm5bdL +55LujUYY6RALqvGDtbz/YtzG7SHOytHQZTr+rPt0uGXYxcmVkl9L4QQ4 Rp3/UdAEyTOzJi3pSoIGd6ypS9J8RGz4P1wNjna8G+9Su/6oUO+gUr4Su k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DNAABkaAJZ/4MNJK1cGQEBAQEBAQEBAQEBBwEBAQEBgyorYYEMjgCRS5Vsgg8hC4IdAYNaAoQjPxgBAgEBAQEBAQFrKIUVAQEBAQIBAQEwATsbCxEEAQEBJwcnHwkIBgEMBgIBAYoRCA6wTIsEAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAWGVIIJgm+EMREBhgEBBIlClA6TDIIChTeDQoUmgT2IdIszHzh/C04hFUSHDCQ1AYZegi4BAQE
X-IronPort-AV: E=Sophos;i="5.37,385,1488844800"; d="scan'208";a="236777169"
Received: from alln-core-1.cisco.com ([173.36.13.131]) by rcdn-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 27 Apr 2017 21:55:39 +0000
Received: from [10.24.249.90] ([10.24.249.90]) by alln-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v3RLtZLR032455; Thu, 27 Apr 2017 21:55:36 GMT
To: "Joel M. Halpern" <jmh@joelhalpern.com>, Ron Parker <Ron_Parker@affirmednetworks.com>, Dave Dolson <ddolson@sandvine.com>, James N Guichard <james.n.guichard@huawei.com>, "sfc@ietf.org" <sfc@ietf.org>
References: <BF1BE6D99B52F84AB9B48B7CF6F17DA3DD5F8E@SJCEML701-CHM.china.huawei.com> <CDF2F015F4429F458815ED2A6C2B6B0B83991FDC@MBX021-W3-CA-2.exch021.domain.local> <E8355113905631478EFF04F5AA706E98705BB593@wtl-exchp-1.sandvine.com> <CDF2F015F4429F458815ED2A6C2B6B0B839920AD@MBX021-W3-CA-2.exch021.domain.local> <0e91eb10-2259-0056-98ee-2de3d2e25ddf@joelhalpern.com>
From: Joe Clarke <jclarke@cisco.com>
Organization: Cisco
Message-ID: <3e94276c-88ae-8a09-cf4b-7538748a3513@cisco.com>
Date: Thu, 27 Apr 2017 17:55:34 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.0.1
MIME-Version: 1.0
In-Reply-To: <0e91eb10-2259-0056-98ee-2de3d2e25ddf@joelhalpern.com>
Content-Type: text/plain; charset="windows-1252"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/cXuw7SGUMKISAUojsQinXzH9Pj4>
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: Thu, 27 Apr 2017 21:58:28 -0000

On 4/27/17 16:37, Joel M. Halpern wrote:
> That alternative was discussed.  It also works.
> However, with that alternative, if the Initial classifier is an old
> system (not RFC compliant), we will not get any protection from the TTL.
> If we take this (admittedly slightly odd) approach to decrementing the
> TTL, then even though we do not recommend it, things still work with an
> initial classifier that generates a TTL of 0.
> 
> It is thus more robust, so the WG selected it in discussion atht
> einterim adn on the list.

Thanks, Joel.  I know it was discussed, but reading the final text, I
wonder if this is just building technical debt into the protocol from
the beginning.

While this makes sense today, will it be as obvious (or as needed) in a
year?  In two?

Ron's text does seem clearer at the expense of the backward compat
explicitness.

Joe

> 
> Yours,
> Joel
> 
> On 4/27/17 4:05 PM, Ron Parker wrote:
>> Thanks, Dave.    Do you think it is possible to combine that backward
>> compatibility with the simpler (to me) concept of testing for a packet
>> that arrives with TTL=1 and conditioning behavior on whether the SFF is
>> the terminating SFF of the path?
>>
>>
>>
>>    Ron
>>
>>
>>
>>
>>
>> *From:* Dave Dolson [mailto:ddolson@sandvine.com]
>> *Sent:* Thursday, April 27, 2017 4:03 PM
>> *To:* Ron Parker <Ron_Parker@affirmednetworks.com>; James N Guichard
>> <james.n.guichard@huawei.com>; sfc@ietf.org
>> *Subject:* RE: TTL field within the NSH base header
>>
>>
>>
>> Ron,
>>
>> Decrementing from zero to reach 63, and checking for zero after
>> decrementing provides a degree of backwards compatibility with the prior
>> header format.
>>
>> This permits packets on the wire to have 0 in the bits that were
>> previously “reserved”.
>>
>>
>>
>> -Dave
>>
>>
>>
>>
>>
>> *From:*sfc [mailto:sfc-bounces@ietf.org] *On Behalf Of *Ron Parker
>> *Sent:* Thursday, April 27, 2017 3:21 PM
>> *To:* James N Guichard; sfc@ietf.org <mailto:sfc@ietf.org>
>> *Subject:* Re: [sfc] TTL field within the NSH base header
>>
>>
>>
>> I had to really think about the language around decrementing by 1 from 0
>> and reaching 63.   This would only occur in an error scenario where a
>> preceding SFF misbehaved, wouldn’t it?   Why are we insistent that the
>> test for 0 happen after decrement, thereby creating this problem.     I
>> suspect that this has been already discussed and I apologize if I missed
>> it, but if the language were simplified to say an SFF that receives an
>> NSH with TTL=1 shall not forward it to another SFF (e.g., allowing it to
>> engage its local SF instances, still).   Otherwise, it must decrement by
>> 1 before forwarding to another SFF.
>>
>>
>>
>> An exact wording along these lines might be something like:
>>
>>
>>
>> TTL: Service plane time-to-live. An SFF MUST test the TTL before
>> forwarding to another SFF for a given Service Function Chain.  If the
>> received TTL value is 1, the SFF MUST drop packets that would otherwise
>> have been forwarded to another SFF, but SHALL send such packets to
>> attached service functions if the SFF terminates the Service Function
>> Chain.   If the TTL value is greater than 1, the SFF must decrement the
>> TTL by 1 before forwarding to another SFF.   The default for originating
>> an NSH packet is a TTL value of 63.
>>
>>
>>
>>
>>
>>
>>
>> *From:* sfc [mailto:sfc-bounces@ietf.org] *On Behalf Of *James N Guichard
>> *Sent:* Thursday, April 27, 2017 2:54 PM
>> *To:* sfc@ietf.org <mailto:sfc@ietf.org>
>> *Subject:* [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
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> sfc mailing list
>> sfc@ietf.org
>> https://www.ietf.org/mailman/listinfo/sfc
>>
> 
> _______________________________________________
> sfc mailing list
> sfc@ietf.org
> https://www.ietf.org/mailman/listinfo/sfc