Re: I-D Action: draft-smith-6man-in-flight-eh-insertion-harmful-00.txt

Gyan Mishra <hayabusagsm@gmail.com> Sun, 13 October 2019 16:03 UTC

Return-Path: <hayabusagsm@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28677120074 for <ipv6@ietfa.amsl.com>; Sun, 13 Oct 2019 09:03:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 FVWegHQsMCLJ for <ipv6@ietfa.amsl.com>; Sun, 13 Oct 2019 09:03:53 -0700 (PDT)
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B8ECB12000F for <ipv6@ietf.org>; Sun, 13 Oct 2019 09:03:52 -0700 (PDT)
Received: by mail-qk1-x736.google.com with SMTP id z67so13549745qkb.12 for <ipv6@ietf.org>; Sun, 13 Oct 2019 09:03:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:date:subject:message-id :cc:to; bh=wvGoCnCLSt2lcDoAD1+h1fIHG20/RIqrFAAR/uXPmKU=; b=XT632HQz38JUu+AIMo33CaUkiDDdihqXJp2eD5mL9+5cY821HX+Bjaly1bHzrffyJr ZEYIiOm35Y6xbpglNlcoQyvxD1V97QxuGUCNbMWLwA/xIB2Zwm37mQpga1bLlCz6a5r4 PrXkiCnNPSYQOnHA0JiAGN+DPlyOmJOYOSv0J8tjjg7yKWbuD79S1r7GEJlv04jd1vbj aPqPnSii7f7sG6470fobdBTrfthhMgk3oyllP7rGJ6vBQ88wJkfjPoNlWtasU0LY+qtm wQZ/YeA8x+BL2WYg6SIn4LW/SBj6jza7jLHXdh6faTr5Wxg/r9Rf32w0D9GaLFpe0mlj kwcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version:date :subject:message-id:cc:to; bh=wvGoCnCLSt2lcDoAD1+h1fIHG20/RIqrFAAR/uXPmKU=; b=tYg5YX9sbsyPQESf+nfQUPGiW9W0FN1JRsb09t5Pk4iqM3wDFnN4RvFG6i6rUem3II vf4krp/Da1QXgiZ8jkoqKKNyuCLf1g04OGBVH/CZo+4WSg+UsoTKsW9YTQAHbPri8IGg VHg/XsNjXZRGLO2iURd7RVwLkgV64J4yZm17Go/xbXtMMG0A/3MminP8vBOVPsCFAJdU OnFYyS4P8bmnIsjR/QCD371RA91V6pZKs1vfQNEZB7PFxdQLwCMEoVgWWzUCxyxri7Mm 95BXE9fT9Rux1UhRpMC2CpjqYtHR3bDEHlxymqlNLCdfF3LEAkdoFuIcAvBgJ6LpdITp YmLw==
X-Gm-Message-State: APjAAAVUZ7S9pbA10tp12+3dL4cBqocfOq75xIKUDSjj/8/uWOtdCGAr ltJ51jtiLwp8gsDOnc/0g4wt8WER
X-Google-Smtp-Source: APXvYqzi9FuD67wpoQCh66AMsIYUHXcAJfMrXD33GcNMoFEimjZEcdRlUE4Pw3iEtTs6hkT51oQjuw==
X-Received: by 2002:a37:4b4f:: with SMTP id y76mr26145804qka.147.1570982631438; Sun, 13 Oct 2019 09:03:51 -0700 (PDT)
Received: from [192.168.1.221] (pool-96-231-151-173.washdc.fios.verizon.net. [96.231.151.173]) by smtp.gmail.com with ESMTPSA id t199sm6714721qke.36.2019.10.13.09.03.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 13 Oct 2019 09:03:50 -0700 (PDT)
From: Gyan Mishra <hayabusagsm@gmail.com>
X-Google-Original-From: Gyan Mishra <hayabusaGSM@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-7F84FA8C-D4DF-4F5D-961A-D0E312E9F1AC"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
Date: Sun, 13 Oct 2019 12:03:50 -0400
Subject: Re: I-D Action: draft-smith-6man-in-flight-eh-insertion-harmful-00.txt
Message-Id: <79F13DA9-2B14-4885-B0E4-272EFB0E25FC@gmail.com>
Cc: Nick Hilliard <nick@foobar.org>, Brian E Carpenter <brian.e.carpenter@gmail.com>, 6man <ipv6@ietf.org>
To: Gyan Mishra <hayabusagsm@gmail.com>
X-Mailer: iPhone Mail (16G102)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/fVffpDBXYL5gbj6WGxetQUSI8HA>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Oct 2019 16:03:56 -0000

Mark

In tried to add this comment in-line but does not look like it came through. 

See below 

Comparing MPLS in flight label insertion to SRv6 in flight EH insertion below:

We will use the Service Provider scenario for SRv6 to compare apples to apples use case since SRv6 has a much wider scope as it pertains to IPv6 data plane traffic engineering capabilities.

Typical SP mpls core / SRv6 core with L3 VPN services CEs attached.

So for both scenarios the the packet originates from the customer network.

CE - customer edge originating packet 
PE1 - ingress PE device performing label imposition or EH insertion for SRH header 
P2 - LDP Remote LFA PLR node/path protection 
Performs LDP tunneling to PQ node by inserting MPLS label for FRR link and node protection. For SRv6 Ti-LFA PLR node performs EH SRH header insertion for the “LFA” backup protected path during a link or node failure 
P3 - PQ node tunnel for R-LFA 
P4 - egress P performing MPLS PHP pop implicit null value 3 or SRv6 PSP SRH segment pop and removal of SRH EH header type 4
PE2 - egress PE label disposition of bottom of stack L3 VPN  labels for MPLS use case

CE - PE1 - P1 - P2 - P3 - P4 - PE2 - CE

So in both cases the MPLS LDP or SRv6 domain the MPLS PE does in flight label imposition similar to SRv6 on the same ingress PE SRv6 does in flight SRv6 EH SRH Routing header type 4 insertion.

So in both cases the MPLS LDP or SRv6 domain the MPLS P2 “IP FRR PLR node”  does in flight label imposition similar to SRv6 on the same  P2 node SRv6 does in flight SRv6 EH SRH Routing header type 4 insertion as well for Ti-LFA 50ms FRR link and node protection.

So basically both MPLS and SRv6 perform in flight insertion of a header mpls 4 byte shim for mpls scenario and SRv6 EH SRH Routing header type 4 influencing the packet.

The major difference with mpls and why that in flight label insertion has never been an issue is that MPLS is considered “Layer 2 1/2” due to the label stack being placed between the L2 link layer header and the L3 header.  So impact to routing related to mpls shim not being removed or security implications don’t exist since in the mpls core you are not IP routing you are “label switching” so forwarding plane is at that “layer 2 1/2” swapping the local label with remote label along the LSP path to FEC destination.

With SRv6 since the EH headers are all inserted after the IPv6 header and before the transport header their are MAJOR security implications with EH headers not being removed as the EH headers are part of the L3 routing functionality.

One other major impact to EH insertion in flight with IPv6 is that SRv6 can be used ubiquitously in almost any scenario where traffic engineering is required.

With mpls the downside but from a security perspective upside as why mpls label imposition insertion in flight is not impacting is that with mpls state has to be maintained hop by hop for mpls data plane forwarding plane with either LDP or TE topmost label so mpls forwarding plane due to this “mpls state” LFIB dependency cannot exist outside of the mpls domain the egress P must to a PHP or if Default implicit null mpls label value type 3 is used or explicit null where the label is preserved on the egress P and popped on the egress PE along with the entire label stack is popped “label disposition” so the egress PE on the PE-CE link can forward as native IP packet.


RFC R-LFA used with MPLS LDP IP FRR

https://datatracker.ietf.org/doc/rfc7490/

What I think needs to change and we need to discuss with Spring folks is on the PLR node doing the 2nd EH insertion for Ti-LFA  to achieve link and node protection 50ms failover they need to do another IPV6 header encapsulation.

So the ingress PE in SRv6 domain would add the 1st outer layer IPv6 header but then on the Ti-LFA node now we would require from a 6MAN RFC 8200 a 2nd IPv6 encapsulation and the FRR steering would be done through the PQ node via the 2nd encapsulation and and the PQ node would remove the 2nd encapsulation which would contain the SRH Ti-LFA SID list for the traffic engineered path.

In the Voyer draft addressing EH insertion we should also have them make a bore that Ti-LFA would not exist in every scenario using SRV6 due to the ubiquitous use cases of SRv6 so that 2nd encapsulation would only be required wherever the 2nd or I guess even 3rd or every time an EH SRH type 4 routing header is added for that matter a IPv6 encapsulation is required to satisfy IPv6.

Regards 

Gyan


Sent from my iPhone

> On Oct 13, 2019, at 11:59 AM, Gyan Mishra <hayabusagsm@gmail.com> wrote:
> 
> Mark
> 
> Few comments on the draft in-line and also comparison of MPLS label insertio=
> n to SRV6 EH insertion.
> 
> Sent from my iPhone
> 
>> On Oct 13, 2019, at 6:25 AM, Nick Hilliard <nick@foobar.org> wrote:
>> =20
>> Brian E Carpenter wrote on 13/10/2019 01:36:
>>> The packet is too dumb to know anything ;-). My question is how each
>>> node it traverses knows. Indeed, Mark's draft