[mpls] Responding to comments in the WG adoption poll for draft-vainshtein-mpls-gal-tc-ttl-handling

Alexander Vainshtein <Alexander.Vainshtein@ecitele.com> Tue, 13 October 2015 15:11 UTC

Return-Path: <Alexander.Vainshtein@ecitele.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 922BB1B3394 for <mpls@ietfa.amsl.com>; Tue, 13 Oct 2015 08:11:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.301
X-Spam-Level:
X-Spam-Status: No, score=-1.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_66=0.6, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=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 pfZsZswZct2Z for <mpls@ietfa.amsl.com>; Tue, 13 Oct 2015 08:11:09 -0700 (PDT)
Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3on0782.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe04::782]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 649BF1B3280 for <mpls@ietf.org>; Tue, 13 Oct 2015 08:11:08 -0700 (PDT)
Received: from DB3PR03MB0780.eurprd03.prod.outlook.com (10.161.55.12) by DB3PR03MB0779.eurprd03.prod.outlook.com (10.161.55.11) with Microsoft SMTP Server (TLS) id 15.1.293.16; Tue, 13 Oct 2015 15:10:56 +0000
Received: from DB3PR03MB0780.eurprd03.prod.outlook.com ([10.161.55.12]) by DB3PR03MB0780.eurprd03.prod.outlook.com ([10.161.55.12]) with mapi id 15.01.0293.007; Tue, 13 Oct 2015 15:10:56 +0000
From: Alexander Vainshtein <Alexander.Vainshtein@ecitele.com>
To: "Stewart Bryant (stbryant@cisco.com)" <stbryant@cisco.com>, "Bocci, Matthew (Matthew) (matthew.bocci@alcatel-lucent.com)" <matthew.bocci@alcatel-lucent.com>, "Andrew G. Malis (agmalis@gmail.com)" <agmalis@gmail.com>
Thread-Topic: Responding to comments in the WG adoption poll for draft-vainshtein-mpls-gal-tc-ttl-handling
Thread-Index: AdEFyVk8oAE6DorlSvORcvlcy5oXZg==
Date: Tue, 13 Oct 2015 15:10:56 +0000
Message-ID: <DB3PR03MB07805452C19E1FA5C76776229D300@DB3PR03MB0780.eurprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Vainshtein@ecitele.com;
x-originating-ip: [147.234.56.21]
x-microsoft-exchange-diagnostics: 1; DB3PR03MB0779; 5:iLw4btUNqCTxiqZahr2wJgKXYKd45EjIHkhA2WJfEwulg8bQvs8lCshTAB+BaWqDXCgbB8KUirVxFQuA9XLDg8LM0fzENlJmBbqyZhZ3GtBIwAppDuPz14MaOJfIYbSCacTshHTYX11f+L1mkRU7VQ==; 24:nwvFakhHgK4lhbIqsMJc5Ah9Gy1uoQebaSeNlrEO4kMgp9/ZsXTGc4Ko8gggi5QaDpzs7IERo3LL+tjbayJsQCq4350eLfQCHtx6l4dh4rE=; 20:PQXFdyoyiIm3yXc3vdNUioYQf0JZyQiNRIh5dOp7YQnR8fZQ3j11DzBzkiWNEs9Y1ZpYvVzoyLKAJu2drmbIsg==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB3PR03MB0779;
x-microsoft-antispam-prvs: <DB3PR03MB07796370FC6DF475A1AC022C9D300@DB3PR03MB0779.eurprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(279101305709854)(108003899814671);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001); SRVR:DB3PR03MB0779; BCL:0; PCL:0; RULEID:; SRVR:DB3PR03MB0779;
x-forefront-prvs: 07283408BE
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(252514010)(199003)(189002)(51444003)(81156007)(33656002)(87936001)(5001960100002)(122556002)(54356999)(106356001)(77096005)(19609705001)(97736004)(15975445007)(102836002)(5001770100001)(19580395003)(19580405001)(189998001)(19300405004)(230783001)(10400500002)(101416001)(40100003)(50986999)(74316001)(5004730100002)(105586002)(46102003)(5002640100001)(16236675004)(5008740100001)(11100500001)(2900100001)(229853001)(19617315012)(19625215002)(76576001)(64706001)(5007970100001)(92566002)(5003600100002)(66066001)(86362001)(7059030); DIR:OUT; SFP:1102; SCL:1; SRVR:DB3PR03MB0779; H:DB3PR03MB0780.eurprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: ecitele.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_DB3PR03MB07805452C19E1FA5C76776229D300DB3PR03MB0780eurp_"
MIME-Version: 1.0
X-OriginatorOrg: ecitele.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2015 15:10:56.4880 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2c514a61-08de-4519-b4c0-921fef62c42a
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR03MB0779
Archived-At: <http://mailarchive.ietf.org/arch/msg/mpls/zJk6EbN-jYcVXt5-r8IKV67CevM>
Cc: "Ross Callon (rcallon@juniper.net)" <rcallon@juniper.net>, "mpls@ietf.org" <mpls@ietf.org>
Subject: [mpls] Responding to comments in the WG adoption poll for draft-vainshtein-mpls-gal-tc-ttl-handling
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Oct 2015 15:11:14 -0000

Stewart, Andy, Matthew and all,
I would like to respond to the comments received so far in the adoption poll for draft-vainshtein-mpls-gal-tc-ttl-handling, and I would like to do it in one email.

First of all I'd like to thank Andy for his  support:).

The rest of my mail deals with comments from  Stewart (here<https://www.ietf.org/mail-archive/web/mpls/current/msg14874.html>) and Matthew (here<https://www.ietf.org/mail-archive/web/mpls/current/msg14875.html>). I apologize in advance for a rather long email, but I think that some explanations are required.

One point that I'd like to make is that the text quoted in Stewarts' comment (and presumably causing his concerns) comes from an earlier (-01) version of the draft but does not exist in the -03 version<https://tools.ietf.org/html/draft-vainshtein-mpls-gal-tc-ttl-handling-03> of the draft (for which adoption has been requested by the authors).
The current text says:

   When this LSE becomes the top entry in the label stack (because the
   previous label has been popped) some receiving implementations have
   attempted to interpret the TC and TTL fields.  In particular, packets
   with an LSE that contains the GAL with TTL set to one can be trapped
   to the generic (slow) MPLS exception handler with appropriate rate
   limiting before the GAL is noticed (which would otherwise result in
   trapping the packet to a fast OAM handler).  The resultant poor
   performance in handling TTL of one could be seen as a poor
   implementation choice, but it does not violate RFC 5586<https://tools.ietf.org/html/rfc5586>.

I assume that Stewart's conclusion "Any system that behaves as above is not complying with the base MPLS specifications" has been correct with regard to the old text (which erroneously mentioned setting TTL in the GAL LSE to 0), but I do not see that implementations described in the new text would violate any base MPLS specifications. Do I miss something?

My next point is about Matthew's comment that mentions "changing the recommended TTL value to work around a specific implementation". Actually RFC 5586<https://tools.ietf.org/html/rfc5586> does not recommend any specific TTL value to be set in the GAL LSE, it just says that this value MUST NOT be set to 0.

Next, when it comes to preventing "buggy implementations forwarding packets when the GAL is exposed" by setting the TTL value to 1 in the GAL LSE: this is definitely worth discussion. From my POV this discussion could be done after adoption, but, at least the draft in its current form does not prevent setting TTL to 1 even if it RECOMMENDS a different default.

Regarding yet another Stewarts' comment, namely that "that label (Sasha: GAL) is never supposed to be forwarded so the problem (Sasha: which TTL value to set in the GAL LSE) should never arise" - from my POV this is not quite correct. In modern systems packets that are not supposed to be forwarded (for whatever reason) could be processed by not just by SW but also by HW accelerators (e.g., for fast OAM). Failure to differentiate between these two cases would mean that two standard-compliant implementations are de-facto not interoperable. The ultimate objective of the draft is to eliminate (or at least to minimize) the possibility of such conflicts by filling in what I see as gaps in the 5586.

Last but not least, Stewart has asked about behavior of implementations that encounter some other special purpose labels, specially mentioning Entropy Label Indicator (ELI) defined in RFC 6790<https://tools.ietf.org/html/rfc6790> and Extended Special Purpose Label indicator (XL)  defined in RFC 7274<https://tools.ietf.org/html/rfc7274>.
I have checked both these documents, and from my POV RFC 6790 unambiguously defines the behavior related to TC and TTL in LSE containing ELI and EL  in Sections 4.1 and 4.2.
Quoting from Section 4.1 "Egress LSR":

   When processing the final tunnel termination,

   Y (Sasha: the egress LSR for the tunnel) MAY enqueue the packet based on that tunnel TL's

   or ELI's TC value and MAY use the tunnel TL's or ELI's TTL to compute the

   TTL of the remaining packet header.  The EL's TTL MUST be ignored.

Quoting from Section 4.2 "Ingress LSR":

       If Y has indicated that it can process ELs for the tunnel,

       push <TL, ELI, EL> onto the packet.

       X (Sasha: the ingress LSR for the tunnel)SHOULD put the same

       TTL and TC fields for the ELI as it does for TL.

       X MAY choose different values for the TTL and TC

       fields if it is known that the ELI will not be exposed as the top

       label at any point along the LSP (as may happen in cases where

       PHP is used and the ELI and EL are not stripped at the

       penultimate hop (see Section 4.4<https://tools.ietf.org/html/rfc6790#section-4.4>).  The BoS bit for the ELI MUST

       be zero (i.e., BoS is not set).  The TTL for the EL MUST be zero

       to ensure that it is not used inadvertently for forwarding.  The

       TC for the EL may be any value.  The BoS bit for the EL depends

       on whether or not there are more labels in the label stack.


RFC 7224 does not explicitly mention how the TTL and/or TC in the LSE containing XL, but it says that "The XL only assigns special meaning to L" (Sasha: the next label in the stack). To me this can only be interpreted as a requirement for the LSR that exposes the XL to ignore TC and TTL values in the corresponding LSE even if 2119 language is not used. So I do not see (at least at this moment) any need in extending the draft for the "general" case, since GAL is the only special purpose label for which handling of TC and TTL fields by the receiver is not clearly defined.

Hopefully these notes would be useful and help to resolve your concerns regarding adoption of the draft.
Of course, once the draft is adopted, the WG could resolve any remaining (or newly identified) issues.

Regards,
Sasha










Regards,
Sasha

Office: +972-39266302
Cell:      +972-549266302
Email:   Alexander.Vainshtein@ecitele.com