[spring] SRH scratch space (was Re: Question about SRv6 Insert function)

Erik Kline <ek.ietf@gmail.com> Tue, 10 December 2019 20:10 UTC

Return-Path: <ek.ietf@gmail.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id C513B120A76; Tue, 10 Dec 2019 12:10:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id UJyfnpARcQCF; Tue, 10 Dec 2019 12:10:28 -0800 (PST)
Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) (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 EC760120A47; Tue, 10 Dec 2019 12:10:27 -0800 (PST)
Received: by mail-ed1-x541.google.com with SMTP id v16so17112884edy.6; Tue, 10 Dec 2019 12:10:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pBvE3xCDPW9Rj1xv1X2gAs51YlbibdHbJqXdyj5KtIM=; b=h3Ew+yiDgpccCxLBQw7nU93T6wwG3LWwTjndXxRD913LPdt4QhrFvf7cyadkuGqUza ncTHw341bxeqwZLLch2oCKtyUr1S1ZOAPA5opMYHVzfv2sVI10AiCkZyYEwwJg98GFlS RZ5J8E2JNJilAlp/oj60vUryAIEuQcwUOkURxW/laTpm6GTrJQj1dP/ib9Y5jzSlKoFc VbzdnXH/fuhVkTUUB3Jjo7NM+9DRoOodL0NKJ0Cf7KaLsx0i52B1yHu2bJDl2V0meaz5 qRx4ytmFjAwy8yP2kn3u8EcURRO+yKaCNlpyJ2QCY78BiwG4xaphrB/BMJe6a4YcSHht 7geA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pBvE3xCDPW9Rj1xv1X2gAs51YlbibdHbJqXdyj5KtIM=; b=r2gSfZe+1hSsBUCu1wdSlN9wbx32ugIAf2VFm9t/sEyqph6eAlEt22XUJoAPmccki/ 1I2icKA+CErUZ9WBsbbXmlXSCgcPS17pP9aFBiCDm26mh0QdExzVr8749rtDd/X+74KY s+ZWJ7WeCZ2PrVfTthwzHnIDETJ1M1AM3AZVM6TdGLPmzLnH+H5zB8zJKdCdsTAbV2KD sdanxtxsZZAQjaR+dcNA4DesMdvh8OmkwLCGpXhbxEWzFKj7VpBZLb3Ur+MGFbXFxaVM U8iOxvSdswbri2Xc9bShzqFv1de2pvVOd6V8ucX1CmEjFE0xs8FEwwez9XXjvxeN5zYv k1hw==
X-Gm-Message-State: APjAAAVNVJ+pyz2chCt6cbFJt+ngrlM52n7WQAr4ynRWgB8Tt4BBMF4V wW2Uy1Mmepg9WrI1ZjIrLKwFcdTXU2kJFxj2WxE=
X-Google-Smtp-Source: APXvYqwTX8r0rEj0M+qR5eLKcp3a3qMClnzOhs6xKR7RHmngEDGfd6FeQy/sk6wgDiquwQ/UTBctpCT3Bgg/cHOX4vc=
X-Received: by 2002:a50:dacd:: with SMTP id s13mr41789266edj.194.1576008626514; Tue, 10 Dec 2019 12:10:26 -0800 (PST)
MIME-Version: 1.0
References: <HK0PR03MB3970C6DCC635E7CD802D65FDFCBD0@HK0PR03MB3970.apcprd03.prod.outlook.com> <BYAPR05MB54636A2332FED916A26A6F14AEBD0@BYAPR05MB5463.namprd05.prod.outlook.com> <3e31873a-278a-2154-0e71-4d820bba323d@gont.com.ar> <4012D854-2F10-4476-951D-FFFE73C5083C@gmail.com> <cb2f56f8-acdc-d68d-0878-9609cb3d7b1b@gont.com.ar> <28214_1567694772_5D711FB4_28214_238_1_53C29892C857584299CBF5D05346208A48BFA9F3@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <129bbb32-0f14-b799-430c-8f76fb6b1279@gont.com.ar> <1824_1575998223_5DEFD30F_1824_112_1_53C29892C857584299CBF5D05346208A48D24EBD@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <4384c08a-65f5-dbfb-85c7-8365feba9662@gmail.com> <CAOj+MME1+JXth8m4U_E5R6VLvurVR_y_DQvOBy7JmGxHZp7T=Q@mail.gmail.com>
In-Reply-To: <CAOj+MME1+JXth8m4U_E5R6VLvurVR_y_DQvOBy7JmGxHZp7T=Q@mail.gmail.com>
From: Erik Kline <ek.ietf@gmail.com>
Date: Tue, 10 Dec 2019 12:10:15 -0800
Message-ID: <CAMGpriV8BFjOed_-QJYEZc_BANvEuc1hRgYjSdaVUYygVzPj+Q@mail.gmail.com>
To: Suresh Krishnan <suresh.krishnan@gmail.com>
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>, Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>, "spring@ietf.org" <spring@ietf.org>, "6man@ietf.org" <6man@ietf.org>, draft-voyer-6man-extension-header-insertion <draft-voyer-6man-extension-header-insertion@ietf.org>, Fernando Gont <fernando@gont.com.ar>, Robert Raszuk <robert@raszuk.net>, draft-ietf-spring-srv6-network-programming <draft-ietf-spring-srv6-network-programming@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000058aef305995f1ab1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/XTOBT-xQaEclAlpwDC7ltEW5SFY>
Subject: [spring] SRH scratch space (was Re: Question about SRv6 Insert function)
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Dec 2019 20:10:31 -0000

My apologies for raising something that might have already been discussed a
rejected, but I'm finding it non-trivial to track this wide-ranging
discussion across multiple mailing lists.

Regardless of how SRv6 works now (using header insertion, as Darren said in
Singapore), I'm wondering if it would suffice to say that the ingress
encapsulation node could/should pad the SRH with an operationally
determined amount of extra space to allow for header re-writing.

This would effectively turn the SRH into a scratch space could be specified
as able to be re-written by SR-aware nodes along the path.

For example, if the ingress router new the SR domain's carefully curated
path MTU, it could pad out the SRH to some fraction of that, a la:

    {segments_left=2, last_entry=5, [sr_rtr_3, sr_rtr_2, sr_rtr_1, ::0,
::0, ::0]}

then permit intermediate SR routers to rewrite all of that scratch space
for router insertion/deletion as needed.  For example, if sr_rtr_1 needs to
route around sr_rtr_2 via sr_rtr_4 and sr_rtr_5 it could rewrite this as:

    {segments_left=2, last_entry=5, [sr_rtr_3, sr_rtr_5, sr_rtr_4,
sr_rtr_1, ::0, ::0]}

If there's no scratch space left with which to fiddle then generate an ICMP
error to the ingress router (ICMP source address selection aside).  The
rules for examining this header scratch space in the returned ICMP error
might need to be suitably lax.

I'm unsure of how this would interact with the HMAC bits, but overall, if
this could work then perhaps we don't need to worry about insertion anymore.

Yes, there's more overhead on each packet, but that should be tunable by
the operator based on things like (1) operational path mtu in the SR
domain, (2) operationally acceptable padding overhead, (3) expected space
required for adding routers for re-routing or whatever...

On Tue, Dec 10, 2019 at 11:45 AM Robert Raszuk <robert@raszuk.net> wrote:

> Brian,
> > Situation has changed since this email: the network programming draft
>> has now removed text related to SRH insertion.
>> > Please comment on the text if you see text related to SRH insertion.
>> For example:
>> https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-8.2
>> Why would draft-voyer-6man-extension-header-insertion exists if the SRH
>> proponents do not intend to perform SRH insertion?
> What Bruno is describing is the new situation after removal of SRH
> insertion at non SR midpoints from NP draft under last call..
> Section 8.2 is referring to SRH insertion at the SR encapsulation node
> (for example ingress to the domain).
> draft-voyer-6man-extension-header-insertion  is progressing as recommended
> to relax the RFC8200 restricting EH insertion at any arbitrary node - not
> necessarily segment endpoint.
> Regards,
> R.
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------