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

Tom Herbert <tom@herbertland.com> Tue, 07 May 2019 14:18 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 2F52F12023C for <spring@ietfa.amsl.com>; Tue, 7 May 2019 07:18:10 -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=ham 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 jLpSKRd0a9hh for <spring@ietfa.amsl.com>; Tue, 7 May 2019 07:18:06 -0700 (PDT)
Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) (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 0966A120157 for <spring@ietf.org>; Tue, 7 May 2019 07:17:55 -0700 (PDT)
Received: by mail-qt1-x830.google.com with SMTP id f24so8762573qtk.11 for <spring@ietf.org>; Tue, 07 May 2019 07:17:54 -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:content-transfer-encoding; bh=Wd63eKNWvtf53OawPZOJP5oayUS/F1ikoFXFoUyr568=; b=nzLm/fhv/QVwXqKg/3pBCBn6ySRxRTuosaLuzHh8jZ3f24XmGQJzzcZRU/JrK2Kh3E hxdfQdj2xtGhIhCpynvTUjN7hhqwcIozvb+cnTuWohwB4JHbdkmjukwrSmq6uSRZMT9l 5+DFgOQFDcsxC/Ya97fw132y3LSsWHJOVKwDRWSSAr5udR/dbrubOKA0fWSkHzve5HHL 9S7esBRGC6sEU/sFqBpJo2IxkDXbUkI7Qei+Gn+ylcK1rIclzufQlky62cMoPDBYbrRE 5g0eI5Yt5JrTsXZymDOd9i5SsBhELYNxQUe3rNbErXl7pT9RFUftR0NitfsFK5Igqt/p wBDA==
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:content-transfer-encoding; bh=Wd63eKNWvtf53OawPZOJP5oayUS/F1ikoFXFoUyr568=; b=rucQ8ovS8pUxW5rpttNQejPl5vWvx/3Je7bIR7HL02jkBg6f2MYISRWoqDO24YsOwO HWMG2rfRP4CdnmfUkqcfLDiEycdBV5QSovx17BitqcDQMJ0ZxRFPXw2ambglYK8mPEcg eQGBpO0e7+vXjj3nkky0qlhC8ididgvYwYDD8a4HHghceWYs0HTzN8j0CpqmG5M3OOcd LPgZ/T3vO20NUMpQblSy8BpeaiClUR3ROSL+Xaa8fVejjNW3uhsJWkz5KclK7cPJnSaR v2wlhCE6dzTcGB5k9UKVV3cFzX8NrfDLapZJIbMGNCaAuZsDYoamE+8CSOcafRtg+NUf giTQ==
X-Gm-Message-State: APjAAAXL+uOIZPCbL3XAjCBHAGCCRUVhi1Uy2XFyA8ylD2wjErT6DG+9 pp3Vn725wF4caGqxNHuHapgcjZAwcw+M4tpt/knRNw==
X-Google-Smtp-Source: APXvYqy/mJk7r7LR0iFajFRvOArUH5eW2XlPpgv1shDikt+d/6JYT/mb5+pQsakWmUBKaX53c/hGHQoRngfSu9I86O4=
X-Received: by 2002:aed:2196:: with SMTP id l22mr27324446qtc.226.1557238673995; Tue, 07 May 2019 07:17:53 -0700 (PDT)
MIME-Version: 1.0
References: <BYAPR05MB4245988C3A47C3665BD91172AE300@BYAPR05MB4245.namprd05.prod.outlook.com> <AA81898A-9E6C-4AD5-9629-4BA283378A79@cisco.com> <6e954124-675f-f97d-dc7b-f64b4141c8b8@joelhalpern.com> <CAO42Z2ymJ-hUSL+M0Qrb=4S9BUHms0LOG-awqEMxnC+ANynA8A@mail.gmail.com>
In-Reply-To: <CAO42Z2ymJ-hUSL+M0Qrb=4S9BUHms0LOG-awqEMxnC+ANynA8A@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Tue, 07 May 2019 07:17:42 -0700
Message-ID: <CALx6S36xAouXEO5xXHcgLX_DBg1fLzH8phrqaVcTA_PQf8DKRA@mail.gmail.com>
To: Mark Smith <markzzzsmith@gmail.com>
Cc: "Joel M. Halpern" <jmh@joelhalpern.com>, SPRING WG <spring@ietf.org>, 6man WG <ipv6@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/97AYy7Ox9nEXAb8GR3HCiqGPoSE>
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: Tue, 07 May 2019 14:18:13 -0000

On Tue, May 7, 2019 at 7:05 AM Mark Smith <markzzzsmith@gmail.com> wrote:
>
>
>
> On Tue., 7 May 2019, 23:39 Joel M. Halpern, <jmh@joelhalpern.com> wrote:
>>
>> That is not what Next-Header means.
>> Even with this explanation, it is clear that 59 is NOT the right value
>> for the next header.
>
>
> If the SID value isn't a reserved for this purpose, permanent and globally unique value, how would a troubleshooting tool like Wireshark know to decode the Ethernet packet after the no next header?
>
> Any capex cost savings from not encoding this information in the packet will be eliminated by the opex costs of increased time to resolve faults and the corresponding negative reputation with customers consequences.
>
> The more obvious it is how something works, the quicker and easier it is to fix when it breaks. This is the really the principle of least astonishment.
>
> https://en.m.wikipedia.org/wiki/Principle_of_least_astonishment?wprov=sfla1
>
There are already many IP protocols that allow encpasulation of non-IP
protocols. The aforementioned GRE and EtherIP, but also MPLS also (as
well as UDP variants of these in GRE/UDP, MPLS/UDP).

If this is just encapsulating Ethernet then the correct type is
EtherIP "EtherIP: Tunneling Ethernet Frames in IP Datagrams"
(RFC3378). EtherIP has a two byte encapsulation header, but really its
primary purpose is to align the Ethernet payload (e.g. it could be an
IP protocol) to four bytes as stated in the RFC "The 16-bit header
field provides memory alignment advantages in some implementation
environments." AFAICT lignment is still relevant on


> Regards,
> Mark
>
>
>>
>> Yours,
>> Joel
>>
>> On 5/7/19 3:08 AM, Pablo Camarillo (pcamaril) wrote:
>> > Hi Ron,
>> >
>> > We use the next header value 59 to identify at the receiver that there is no other kind of Internet Protocol beneath to be processed.
>> > Note that we are *not* using 59 to identify the fact that it is an ethernet header (i.e. other non Internet-Protocols would also use the 59 to identify that no further IP header processing has to be performed). The SID identifies that an Ethernet header follows the IPv6 extension headers.
>> >
>> > Thanks,
>> > Pablo.
>> >
>> > -----Original Message-----
>> > From: ipv6 <ipv6-bounces@ietf.org> on behalf of Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>
>> > Date: Monday, 6 May 2019 at 02:48
>> > To: SPRING WG <spring@ietf.org>, 6man WG <ipv6@ietf.org>
>> > Subject: SRv6 Network Programming: ENH = 59
>> >
>> >      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?
>> >
>> >                                                                Ron
>> >
>> >
>> >      Juniper Internal
>> >
>> >      --------------------------------------------------------------------
>> >      IETF IPv6 working group mailing list
>> >      ipv6@ietf.org
>> >      Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>> >      --------------------------------------------------------------------
>> >
>> >
>> >
>> > _______________________________________________
>> > spring mailing list
>> > spring@ietf.org
>> > https://www.ietf.org/mailman/listinfo/spring
>> >
>>
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org
>> Administrative Requests: https://www..ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------
>
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------