Re: [spring] SRv6 Network Programming: ENH = 59

Tom Herbert <tom@herbertland.com> Mon, 06 May 2019 15:50 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD6201200B9 for <spring@ietfa.amsl.com>; Mon, 6 May 2019 08:50:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.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 C3pZzJO0gAhr for <spring@ietfa.amsl.com>; Mon, 6 May 2019 08:50:50 -0700 (PDT)
Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com [IPv6:2607:f8b0:4864:20::82c]) (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 D9A671201EF for <spring@ietf.org>; Mon, 6 May 2019 08:50:49 -0700 (PDT)
Received: by mail-qt1-x82c.google.com with SMTP id f24so4831204qtk.11 for <spring@ietf.org>; Mon, 06 May 2019 08:50:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Cqsn19VWoW+ToVHeGK0cM4kYun8ATG9Apj/iGjx6fF4=; b=rPUoH5OZv+JrlnXdMx2YAHJbzrskY6IFRYYeZxOStGh34zhr9hW8V1PzuuMjpAVxmy EXB7katl6vZ3FfZwS4VHyF9Luun2j2exMtd7ROnarzElteBMhHlx6PhI+i7vk5g0s5FS f0AgBm5xihz4WE37tjhJMdbCYSm/DU8Pp3xOUyuldBrVTuda6SWDw3d+uxo6HHsbStPF aS8x3sdByI/uRRIBfNtfr43eBqqrEgOv7oLZsSf+9O9OK289WwzIjGa/f8G+i0040Tgc QN2kBbYCGvM+egcwT/Xa4pfv4GZHyrzrfPC5wF3k5gAxTeoVN7ZoHV6aGglGgZtOevwf ZkOg==
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=Cqsn19VWoW+ToVHeGK0cM4kYun8ATG9Apj/iGjx6fF4=; b=QH7ZqVVwfSINGRTwBHimCmflIuB+rPO+AV77ZH9vCZvWuk4zDczJRuggWue9tZNiqT q/v2IQEi1/Stv+G78iu4gEwPDHpwybq2t3bwtk8kjoJ69LxdwvDrOU7M0A9cDkBiFlAW COrLLmb4Mvt9eY8bK4seztmIPIYI8FKDh3YXWM3VPOwQwbN5Y8d6v1O7+lOquVHzG3d9 jIPVr4biEspVLfvjhoXlj4eRmeyBRIOhTjGW8pkv8e8HQw0TS9pgi9BlUBK+HhDe8XtM cWhqiGZ/npLgRikDhuyYDQISMwM/kevmVJy2nyyLvVT4wkDZrqgDkYsTZIZMyGy9yiD1 tPDw==
X-Gm-Message-State: APjAAAUDQrZY6grQAYrstAIyDke0dDap3Gg2iH5llRqsOBNIFPYldEV2 kzCP5qYEquRq0LZGYWVaUkEMSZFBDwOBaDdohmgMYw==
X-Google-Smtp-Source: APXvYqxB61mNWvLQjzKpB9Dgm+4+7PZu/K0V8nwKCfm8mKQFEDafdca8Eq/3flkAiVJUHBBfIJLJWMyGI2YS3KnIdzQ=
X-Received: by 2002:ac8:66c2:: with SMTP id m2mr22177895qtp.189.1557157848765; Mon, 06 May 2019 08:50:48 -0700 (PDT)
MIME-Version: 1.0
References: <BYAPR05MB4245988C3A47C3665BD91172AE300@BYAPR05MB4245.namprd05.prod.outlook.com> <CALx6S358r54Z7U_GM88PnTDmd503BAjE6-ff9CDpjyAY4Cq_sg@mail.gmail.com> <16253F7987E4F346823E305D08F9115AAB88504C@nkgeml514-mbx.china.huawei.com> <CAO42Z2yyNWexuc9KYjQo_PqT6JKjVYkxj2u4kzn8ZKai7NLsVA@mail.gmail.com> <BYAPR05MB4245E70F5064B9A0B7454D1FAE300@BYAPR05MB4245.namprd05.prod.outlook.com> <CALx6S34P7Vu9hpZRnW=CPVBk_NBptWzEi0vGJFh1EYtsuQaacg@mail.gmail.com> <BYAPR05MB4245402278BD3CA69629B7BBAE300@BYAPR05MB4245.namprd05.prod.outlook.com>
In-Reply-To: <BYAPR05MB4245402278BD3CA69629B7BBAE300@BYAPR05MB4245.namprd05.prod.outlook.com>
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 06 May 2019 08:50:40 -0700
Message-ID: <CALx6S34cCjLsC8T4fL81gsKqkGhS6zE-PBhVzh1A2vZpW+uHyA@mail.gmail.com>
To: Ron Bonica <rbonica@juniper.net>
Cc: Mark Smith <markzzzsmith@gmail.com>, Xiejingrong <xiejingrong@huawei.com>, SPRING WG <spring@ietf.org>, 6man <ipv6@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/ILyatl5wX9Jp2J5IH4Gl1-qn_D8>
Subject: Re: [spring] SRv6 Network Programming: ENH = 59
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: Mon, 06 May 2019 15:51:00 -0000

On Mon, May 6, 2019 at 7:26 AM Ron Bonica <rbonica@juniper.net> wrote:
>
> Tom,
>
> Likewise, how painful would it be to allocate a new next-hop type?
>
Ron,

Relative to using an existing protocol number it is painful. If this
is an assigned Internet protocol number then the implication is that
it can be used as next header value of any protocol, not just the
narrow use case of segment routing. That requires changes to host
implementation, middelbox and routers (e.g will packets containing the
new protocol number even be forwarded?), tooling, security, etc. Also,
as I pointed out, if this breaks the traditional four byte aligment of
IP protocols then that will adversely impact performance on some CPU
architectures (definitely has been a problem on SPARC, some uncommon
cases in x86, and it looks like it might be an issue for ARM also).
The performance hit can be substantial especially if a software trap
must be taken on every unaligned access.

Tom

>                                                       Ron
>
>
>
> Juniper Internal
>
> > -----Original Message-----
> > From: Tom Herbert <tom@herbertland.com>
> > Sent: Sunday, May 5, 2019 11:10 PM
> > To: Ron Bonica <rbonica@juniper.net>
> > Cc: Mark Smith <markzzzsmith@gmail.com>; Xiejingrong
> > <xiejingrong@huawei.com>; SPRING WG <spring@ietf.org>; 6man
> > <ipv6@ietf.org>
> > Subject: Re: [spring] SRv6 Network Programming: ENH = 59
> >
> > On Sun, May 5, 2019 at 7:49 PM Ron Bonica <rbonica@juniper.net> wrote:
> > >
> > > Mark,
> > >
> > > As the header chain (including encapsulations) get longer, the packet
> > becomes less ASIC friendly.
> > >
> > Ron,
> >
> > I'm dubious that just a two byte header for EtherIP or four byte header will be
> > a problem especially in light of the fact that segment routing header is already
> > adding significantly to packet overhead with an arbitrary list of sixteen byte
> > quantities.
> >
> > Tom
> >
> > > Allocating a new Next Header value for Ethernet may be less painful than
> > introducing a new encapsulation.
> > >
> > >                                                        Ron
> > >
> > >
> > >
> > > Juniper Internal
> > >
> > > > -----Original Message-----
> > > > From: Mark Smith <markzzzsmith@gmail.com>
> > > > Sent: Sunday, May 5, 2019 9:37 PM
> > > > To: Xiejingrong <xiejingrong@huawei.com>
> > > > Cc: Tom Herbert <tom@herbertland.com>; Ron Bonica
> > > > <rbonica@juniper.net>; SPRING WG <spring@ietf.org>; 6man
> > > > <ipv6@ietf.org>
> > > > Subject: Re: [spring] SRv6 Network Programming: ENH = 59
> > > >
> > > > On Mon, 6 May 2019 at 11:15, Xiejingrong <xiejingrong@huawei.com>
> > > > wrote:
> > > > >
> > > > > Hi Tom,
> > > > >
> > > > >
> > > > >
> > > > > Number 97 is a choice but it has 2 bytes wasting.
> > > > >
> > > > >
> > > >
> > > > It seems strange to me that as bandwidth is constantly getting
> > > > cheaper, people seem to be trying harder and harder to use less of it.
> > > > The trade-off is increased code complexity and CPU at each of the
> > > > hops at the end of the links.
> > > >
> > > > It is has been my understanding that bandwidth has been getting
> > > > cheaper faster than CPU for quite a number of years, has that flipped
> > around?
> > > >
> > > >
> > > > >
> > > > > Jingrong
> > > > >
> > > > >
> > > > >
> > > > > From: ipv6 [mailto:ipv6-bounces@ietf.org] On Behalf Of Tom Herbert
> > > > > Sent: Monday, May 06, 2019 9:11 AM
> > > > > To: Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>
> > > > > Cc: SPRING WG <spring@ietf.org>; 6man <ipv6@ietf.org>
> > > > > Subject: Re: SRv6 Network Programming: ENH = 59
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Sun, May 5, 2019, 5:47 PM Ron Bonica
> > > > <rbonica=40juniper.net@dmarc.ietf.org> wrote:
> > > > >
> > > > > Folks,
> > > > >
> > > > > According to Section 4.4 of
> > > > > draft-ietf-spring-srv6-network-programming-00,
> > > > when processing the End.DX2 SID, the Next Header must be equal to 59.
> > > > Otherwise, the packet will be dropped.
> > > > >
> > > > > In the words of the draft, "We conveniently reuse the next-header
> > > > > value 59
> > > > allocated to IPv6 No Next Header [RFC8200].  When the SID
> > > > corresponds to function End.DX2 and the Next-Header value is 59, we
> > > > know that an Ethernet frame is in the payload without any further
> > header."
> > > > >
> > > > > According to Section 4.7 RFC 8200, " The value 59 in the Next
> > > > > Header field of
> > > > an IPv6 header or any  extension header indicates that there is
> > > > nothing following that header.  If the Payload Length field of the
> > > > IPv6 header indicates the presence of octets past the end of a
> > > > header whose Next Header field contains 59, those octets must be
> > > > ignored and passed on unchanged if the packet is forwarded."
> > > > >
> > > > > Does the WG think that it is a good idea to reuse the Next Header value
> > 59?
> > > > Or would it be better to allocate a new Next Header value that
> > > > represents Ethernet?
> > > > >
> > > > >
> > > > >
> > > > > Tom,
> > > > >
> > > > >
> > > > >
> > > > > There's already ETHERIP number (97). Why not use that?
> > > > >
> > > > >
> > > > >
> > > > > Tom
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >                                                           Ron
> > > > >
> > > > >
> > > > > Juniper Internal
> > > > >
> > > > > ------------------------------------------------------------------
> > > > > -- IETF IPv6 working group mailing list ipv6@ietf.org
> > > > > Administrative Requests:
> > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_
> > > > > mail
> > > > > man_listinfo_ipv6&d=DwIFaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-
> > > > ndb3voDTXcWzo
> > > > > CI&r=Fch9FQ82sir-BoLx84hKuKwl-
> > > > AWF2EfpHcAwrDThKP8&m=c3_vQkaWUv9VrZu2hHe
> > > > > xkrpuWDPuNaF_aDmPsT-
> > > > K5v4&s=xMl4vY3Oo9yoWumPFQIkAs4LDEgbsazb28zbejhHM9w
> > > > > &e=
> > > > > ------------------------------------------------------------------
> > > > > --
> > > > >
> > > > > _______________________________________________
> > > > > spring mailing list
> > > > > spring@ietf.org
> > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_
> > > > > mail
> > > > > man_listinfo_spring&d=DwIFaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-
> > > > ndb3voDTXcW
> > > > > zoCI&r=Fch9FQ82sir-BoLx84hKuKwl-
> > > > AWF2EfpHcAwrDThKP8&m=c3_vQkaWUv9VrZu2h
> > > > > HexkrpuWDPuNaF_aDmPsT-
> > > > K5v4&s=yCRyw1w61_gizFeEYqfNsMjzIFPqI1pSUdqeNS6nQ
> > > > > o0&e=