Re: I-D Action: draft-voyer-6man-extension-header-insertion-02.txt

"C. M. Heard" <heard@pobox.com> Sat, 02 December 2017 19:30 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 098AD128B27 for <ipv6@ietfa.amsl.com>; Sat, 2 Dec 2017 11:30:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.189
X-Spam-Level:
X-Spam-Status: No, score=-2.189 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, 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 NnT2-wEh2Ipn for <ipv6@ietfa.amsl.com>; Sat, 2 Dec 2017 11:30:21 -0800 (PST)
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 94EF51271DF for <ipv6@ietf.org>; Sat, 2 Dec 2017 11:30:21 -0800 (PST)
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 045EEB559A for <ipv6@ietf.org>; Sat, 2 Dec 2017 14:30:20 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :from:date:message-id:subject:to:cc:content-type; s=sasl; bh=VNT nfj382wJNh/FlnkJM3TTS/rE=; b=njMXYYaGU+2AuxBnYLN+1EHe96wMCnCiBp1 h2q/REuJFlBSJpJU/KMzxbKhcxLRudD2f2awPjy4j/vKDKzGuEWKugngdrkgyDeB sBjmIRNIX3kqYNq4zUUTX/9C8SWlnIo+JSqLAWCg/rGHHVnALgQ2U5W4rmVnLTqr odr4bRDI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :from:date:message-id:subject:to:cc:content-type; q=dns; s=sasl; b= f4Hgv8ceck4N3JfexE19w67/qY0yKFu44tGkQy91O/GdB/hrKbAZrD6JdltriU+L rJs96G950gHO7K3us2MvBEMp5tOXGYfDk/jwItxOxtCttg8l4K8hts8cfr6SbElu Ew0kusVS/MFl+2GWciErOzLmnQSA4FaW761tXoICYRo=
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id F01EBB5599 for <ipv6@ietf.org>; Sat, 2 Dec 2017 14:30:19 -0500 (EST)
Received: from mail-qk0-f174.google.com (unknown [209.85.220.174]) (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 7D5D4B5595 for <ipv6@ietf.org>; Sat, 2 Dec 2017 14:30:19 -0500 (EST)
Received: by mail-qk0-f174.google.com with SMTP id u184so17109231qkd.6 for <ipv6@ietf.org>; Sat, 02 Dec 2017 11:30:19 -0800 (PST)
X-Gm-Message-State: AKGB3mLcQarPDI5Q3+08JMvlbXtipsU/GkN0dA3oxzponb/s3zbRVa8v 4PSM6TwjUzUYzxLnpg3RPE+m3ca6jqJRKMILdwE=
X-Google-Smtp-Source: AGs4zMay/8axuHndSoYdjrcvfPfu/BLRn3gYiDnm0Fl6asL+9AWiMWFbKsYPrr0y77x+egNkbsnseylPPTACpyRlxXI=
X-Received: by 10.55.153.3 with SMTP id b3mr14187825qke.230.1512243018982; Sat, 02 Dec 2017 11:30:18 -0800 (PST)
MIME-Version: 1.0
Received: by 10.140.86.239 with HTTP; Sat, 2 Dec 2017 11:29:58 -0800 (PST)
From: "C. M. Heard" <heard@pobox.com>
Date: Sat, 02 Dec 2017 11:29:58 -0800
X-Gmail-Original-Message-ID: <CACL_3VGxvuXh-Gb5k2OrU=ZiiHGPg-h9h7ubX_B5LVasMFiJCg@mail.gmail.com>
Message-ID: <CACL_3VGxvuXh-Gb5k2OrU=ZiiHGPg-h9h7ubX_B5LVasMFiJCg@mail.gmail.com>
Subject: Re: I-D Action: draft-voyer-6man-extension-header-insertion-02.txt
To: 6man <ipv6@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c07d556f5ed10055f60838e"
X-Pobox-Relay-ID: 3B6FCC26-D797-11E7-A4FD-575F0C78B957-06080547!pb-smtp2.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/UDXUN90K9DU4XaEzLg5sTggLE24>
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: Sat, 02 Dec 2017 19:30:24 -0000

On Sat, 2 Dec 2017 08:15:04 +0100, Stefano Salsano wrote:
> with the first tunneling operation you create a new packet that originates
> in your SR domain.
>
> We definitely want it, so the further SR insertion will only be applied to
> such packets (and hosts outside the domain will not receive unexpected
> ICMP...) and we believe that it is worth paying the tunneling overhead
here.
>
> We think that for further operations that require adding of SRH
information
> to such packets originating in your SR domain, the SR insertion is more
> efficient than tunnelling into a new packet.
>
> This is both from the point of view of the packet size (and increase of
> packet headers size) and from the point of view of the cost of packet
> manipulation operations.


Thank you for a direct and clear explanation of why SR header insertion is
seen to be advantageous, and when. Performing encapsulation at domain
boundaries should ensure that ICMP messages caused by SR headers don't go
to nodes that are not part of the domain.


> There can be scenarios in which you have more than one such operation to
be
> applied to the packet, let us assume two. If you go for tunnelling you
have
> the first encapsulation, then two more IPv6-in-IPv6 encapsulation in the
> same packet, for a total of 3 encapsulations. If you go for tunneling + SR
> insertion you only have the first encapsulation and then "simple" mangling
> of SRH header.


One of the questions that occurs to me is what happens if conditions arise
at a node within the SR domain that mandate the insertion of an SR header
when one is already present. This could occur in the fast reroute scenario
of
https://tools.ietf.org/html/draft-voyer-6man-extension-header-insertion-02
- section-3
<https://tools.ietf.org/html/draft-voyer-6man-extension-header-insertion-02#section-3>
where node 2 has inserted a SR header owing to loss of the link 2-to-3,
assuming that we have a somewhat richer topology such as the one shown bel
ow:


        (--- Source Domain ---)
        (                     )
    A---( 1-----2-----3-----9 )---B
        (       |     |       )
        (       4-----5       )

        (       |     |       )

        (       6-----7       )

(---------------------)


If node 4 detects failure of link 4-to-5, would that trigger insertion
of a second SRH? If so, that would violate the recommendations in
https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-07 -
section-3.2
<https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-07#section-3.2>
.
This situation would not arise if encapsulation were used instead of header
insertion.

One possible answer for this scenario might simply be that it is OK to have
multiple SR headers within one packet. RFC 8200 mandates strictly sequential
processing of extension headers and also mandates that if a routing header
is
expired (i.e., has Segments Left equal to zero) then the receiving node must
proceed to the next header. So if the SRH inserted by node 4 appears before
the one inserted by node 2, then everything should work, assuming that if a
node processes an unexpired routing header it just forwards the packet and
does not proceed to the next header. RFC 8200 does not say this explicitly,
but it is implied by the header ordering recommendations in Section 4.1.
Note that this answer would require a change to the SRH draft.

What I am really trying to get at is not to advocate for one position or
another, but rather to encourage the proponents of header insertion to
consider, and document, corner cases such as these. That will help assure
everyone on both sides of the debate that things have been thought through.

Mike Heard