Re: Questions / comments regarding draft-voyer-6man-extension-header-insertion (was: Proposed revised Extension Header text for rfc2460bis)

"C. M. Heard" <heard@pobox.com> Wed, 24 May 2017 16:46 UTC

Return-Path: <heard@pobox.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 1E90B12EB2F for <ipv6@ietfa.amsl.com>; Wed, 24 May 2017 09:46:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.8
X-Spam-Level:
X-Spam-Status: No, score=-0.8 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.com; domainkeys=pass (1024-bit key) header.from=heard@pobox.com header.d=pobox.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 R1OtJHbwHIGl for <ipv6@ietfa.amsl.com>; Wed, 24 May 2017 09:46:26 -0700 (PDT)
Received: from sasl.smtp.pobox.com (pb-smtp2.pobox.com [64.147.108.71]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DCE1D129B9E for <6man@ietf.org>; Wed, 24 May 2017 09:46:25 -0700 (PDT)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id D2B918107A for <6man@ietf.org>; Wed, 24 May 2017 12:46:22 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; s=sasl; bh=Mz1iVOCaAA9Ve24kD8WmGRja7G0=; b=CAGBU4 yTJr3W6dl48HqZ8n0/BtzdIjzeJ1YcT0O6zYkdGmRHuGXQYoS8sF3XB9BdaNFSY8 Fwif1TFicMEGnYVf4Ke/FduOHVcv0mWdxVBQX/hCxSr4EzM8L0QmIQvbfus2Wz9f gEu1qQsg6On49Ju2sZXcvmF3QRcdQEtw0igms=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; q=dns; s=sasl; b=RtjMwl5GPhrD2wdj3a2aPY46Htf+iCvW Alnrc/o+Bkkxzo0VTbygTWTepnBHaLpdwn2NABGTsCWT1UAceAfH/dHSQ07LCC75 emUgHEGyN1aohSZbUy9+AaJngttQl1WSKO1rCCwveS4lZa+X/D4RVGGQd3Vfp8r5 1XqQ2toWuRw=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id CBC9A81079 for <6man@ietf.org>; Wed, 24 May 2017 12:46:22 -0400 (EDT)
Received: from mail-qk0-f178.google.com (unknown [209.85.220.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 5482381076 for <6man@ietf.org>; Wed, 24 May 2017 12:46:22 -0400 (EDT)
Received: by mail-qk0-f178.google.com with SMTP id u75so158035779qka.3 for <6man@ietf.org>; Wed, 24 May 2017 09:46:21 -0700 (PDT)
X-Gm-Message-State: AODbwcAMLZcLFxQLFhgK3aV51Z75nz6n9BmXPJTes4o2+Cwy2iCOjnja EZWcI28LCDwhZehOrKsoqBt3ANgSXQ==
X-Received: by 10.55.143.198 with SMTP id r189mr30507131qkd.150.1495644381343; Wed, 24 May 2017 09:46:21 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.22.72 with HTTP; Wed, 24 May 2017 09:46:00 -0700 (PDT)
In-Reply-To: <A944FA0F-C13E-4F15-8921-42501D0294C6@bell.ca>
References: <CACL_3VG92R8e+A26qvir=EEiusJ47z6GudvMdzoz3=yYS4mMLQ@mail.gmail.com> <A944FA0F-C13E-4F15-8921-42501D0294C6@bell.ca>
From: "C. M. Heard" <heard@pobox.com>
Date: Wed, 24 May 2017 09:46:00 -0700
X-Gmail-Original-Message-ID: <CACL_3VFZPyfud0W=akA_K8ECbsTPjb470MgtUUXf8ojpvJNkgg@mail.gmail.com>
Message-ID: <CACL_3VFZPyfud0W=akA_K8ECbsTPjb470MgtUUXf8ojpvJNkgg@mail.gmail.com>
Subject: Re: Questions / comments regarding draft-voyer-6man-extension-header-insertion (was: Proposed revised Extension Header text for rfc2460bis)
To: "Voyer, Daniel" <daniel.voyer@bell.ca>
Cc: Robert Raszuk <robert@raszuk.net>, 6MAN <6man@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c081f920f7623055047d89e"
X-Pobox-Relay-ID: 84B647EA-40A0-11E7-A922-61520C78B957-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/_K1L8WVbgf6VJHIJlsBwwYHx3KE>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 24 May 2017 16:46:28 -0000

On Fri, May 5, 2017 at 2:14 PM, Voyer, Daniel <daniel.voyer@bell.ca> wrote:
> Note that draft-voyer-6man-extension-header-insertion has been written
> with the purpose to illustrate _one_ evident use-case where header
> insertion is useful, not harmful and very beneficial. The intent of
> the draft is not to come with a complete set of solutions on how you
> can insert and update a source route path for a given packet.
>
> The first step towards header insertion, is to clearly document the
> practical, operational use-case where it is required (used) and safe.
[ ... ]
> As illustrated in the draft, the statement "Node 1 originates a packet
> P1 destined to 9 (SA=1, DA=9)” refers to the action the ingress node
> of the source domain consisting of encapsulating the incoming packet
> (i.e.: the packet entering in the source domain) into an outer header
> with SA=himself (i.e., node 1) and DA=egress node (i.e., node-9). This
> means that all packet transiting through the source domain are in fact
> encapsulated/tunneled through it.
>
> In this case, the shape of the new packet is:
>         SA=1, DA=9
>         SA=x, DA=y (i.e., the original SA/DA addresses)
>         payload
>
> Now, the packet travels from node-1 to node-9 and arrives in node-2.
> Assume that node-2 activated TI-LFA (IPFRR) where a backup path is
> pre-computed and installed into fib so that in case of interface 2to3
> fails, the traffic follows the 50ms convergence rules or better(SRTE).
> Upon failure of interface 2to3, the packet is rerouted to node-4 with
> the following SRH inserted:
>
>         SA=1, DA=5    (DA is now set as the first segment)
>         SRH=(5, 9)
>         SA=x, DA=y    (i.e., the original SA/DA addresses)
>         payload
> i.e., packet now has an SRH inserted by node-2 (transit node).
> Ref.: few paper about TI-LFA:
>
http://www.tmcnet.com/tmc/whitepapers/documents/whitepapers/2015/11524-fast-reroute-with-segment-routing-extending-fast-reroute.pdf
>
http://www.segment-routing.net/tutorials/2016-09-27-topology-independent-lfa-ti-lfa/
>
> When the packet reaches node-9, it is decapsulated which means both
> outer header and SRH are removed.

Thank you for providing the explanation and the links to the white papers.
That very much helps to understand the use case that is presented, and in
particular how any ICMP error messages related to the SRH can be confined
to the SR domain. You may wish to consider including part or all of that
information in the next version of the draft. That being said, I still have
some comments and questions.

First, it still is not clear to me why it is considered decisively
advantageous to add the outer IPv6 header at the ingress to the SR domain
(node 1) and then insert the SRH at the intermediate that detects the link
failure (node 2) instead of just doing the encapsulation at the
intermediate node itself. An explanation would help. If it requires
consideration of other use cases to make that case, you may want to consider
adding one or more of those use cases to the draft.

Second, suppose that a second link failure is detected at node 4 (see
https://tools.ietf.org/html/draft-voyer-6man-extension-header-insertion-00#section-3
).
If that triggers SRH insertion because of fast reroute, then there will
be two SRH's in the packet, which would make it malformed. To avoid this
problem, it seems to me that node 4 would need to rebuild the existing SRH,
encapsulate the packet in another outer IPv6 header, or else drop the
packet.
By analogy with how fast protection switching works in transport NEs, I
understand that protecting agains multiple link failures may be out of
scope,
but even so, multiple link failures should not result in malformed packets.

Looking forward to further discussion.

Mike Heard