Re: [spring] Erik Kline's Discuss on draft-ietf-spring-sr-replication-segment-15: (with DISCUSS and COMMENT)
Rishabh Parekh <rishabhp@gmail.com> Mon, 31 July 2023 20:09 UTC
Return-Path: <rishabhp@gmail.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 CEFD1C14CE5D; Mon, 31 Jul 2023 13:09:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lS-_Pu-EZuBg; Mon, 31 Jul 2023 13:09:12 -0700 (PDT)
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 58E54C14CE29; Mon, 31 Jul 2023 13:09:12 -0700 (PDT)
Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-314172bac25so4363319f8f.3; Mon, 31 Jul 2023 13:09:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690834151; x=1691438951; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ooP5rt6g+2wtCU8LpuoVGmPghB/qYe1W2r5ZeL7OlOQ=; b=eg/nxEEGarfKcIimXngRE5C4cS5Q2QEnXoFSDwBYzY6f7ZyG5SyLjsHfg/ATo5T8md l6URgQ9BfRlOOQlGuLAuUgIOfw59pawqX3C0RbU13RtZvV03+xmmMJg6b6kMJA8+9abp 4K+2fMdGcX0sImrj2z4M6CNWEvInejmLFgnpU2EpXIj6E9sP1m6s3eYzE1u/NNI7mcK2 IjBs+ZphpgCcCvOEKdVjfHRKSP130JpAplyd43uzWBq2wYc/YPDcuxqjgmULuyHvw9ek RydOWLVb0NB40e2/ppjPoafUdZ4JY4OwuQh54SWkPEVEfj1uGjlT6KcCwGAauS1L4Dj0 113A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690834151; x=1691438951; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ooP5rt6g+2wtCU8LpuoVGmPghB/qYe1W2r5ZeL7OlOQ=; b=TMk1r4s3CHU3b79g6BZTnu+pw6rbCpUBLBT5EueiFGwOqmDvZYKLuZbHe5IVKP2kyv QyTRdhq9r8oxAYoWwvux5wS9VLxjSlSV3dtSgB9RQDBrf/qRFbKXF+zrZ8XOhZspSjwZ RwGqEsdDtoq0srWD1iGvNr6wEjbZ/JnIbFJC9YVfdBRNkBnF6r51NtZnQmhntwRJ/A8Z 66lxQaz8xgsI3geaMaNGGCAHsXPS4/grzU5F7V6BNG5vs4LCR69eTS9AOyjQGllFYx9H kDNyX8FLsdUPQ0BNUFDgrm/dRC86NXCT2a57blJ4YzFlLAHExPM0bjbwq/UCGFWWHmm+ TLxA==
X-Gm-Message-State: ABy/qLZKlhXCgrifcZeh7I5QYl4wQCLFhEscIQt1bgIXeaL6Myquc8Oh wDmAS82lFMPiiZ5FZDJJM5SvUVxnZsuK8zIcb3M=
X-Google-Smtp-Source: APBJJlFCUwzt65Lauu9hisv+v0x1zX6H4CY/5a0QsiDRkNQVEsUMdsklNVJbgrz7YLWMgsUj2WWMsAq0fTZFEn7Gsqc=
X-Received: by 2002:adf:e407:0:b0:317:643a:4fa7 with SMTP id g7-20020adfe407000000b00317643a4fa7mr617846wrm.26.1690834150494; Mon, 31 Jul 2023 13:09:10 -0700 (PDT)
MIME-Version: 1.0
References: <168860667289.19183.2704582314663959018@ietfa.amsl.com> <CABjMoXaa00pfJg7v1gDQAPkOAF3bvZPFQBq6-=UbWdt+T30oGg@mail.gmail.com>
In-Reply-To: <CABjMoXaa00pfJg7v1gDQAPkOAF3bvZPFQBq6-=UbWdt+T30oGg@mail.gmail.com>
From: Rishabh Parekh <rishabhp@gmail.com>
Date: Mon, 31 Jul 2023 13:08:59 -0700
Message-ID: <CABjMoXYBFJk30HF4UBCYJGeDWMJahGPtXMtoGOrNftCvrwQLkA@mail.gmail.com>
To: Erik Kline <ek.ietf@gmail.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-spring-sr-replication-segment@ietf.org, spring-chairs@ietf.org, spring@ietf.org, mankamis@cisco.com
Content-Type: multipart/alternative; boundary="000000000000ea1a470601ce0025"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/RZFcIvyRyMaHkmN4hb7yx_Ac4XE>
Subject: Re: [spring] Erik Kline's Discuss on draft-ietf-spring-sr-replication-segment-15: (with DISCUSS and COMMENT)
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.39
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, 31 Jul 2023 20:09:16 -0000
Erik, I had responded earlier to your DISCUSS comments. I hope you have had a chance to look at it. The latest revision of draft addresses your other COMMENTS. Please review, -Rishabh On Mon, Jul 10, 2023 at 11:30 AM Rishabh Parekh <rishabhp@gmail.com> wrote: > Erik, > Thanks for the review. Comments inline @ [RP]. > > On Wed, Jul 5, 2023 at 6:24 PM Erik Kline via Datatracker < > noreply@ietf.org> wrote: > >> Erik Kline has entered the following ballot position for >> draft-ietf-spring-sr-replication-segment-15: Discuss >> >> .... >> >> ---------------------------------------------------------------------- >> DISCUSS: >> ---------------------------------------------------------------------- >> >> # Internet AD comments for draft-ietf-spring-sr-replication-segment-15 >> CC @ekline >> >> * comment syntax: >> - https://github.com/mnot/ietf-comments/blob/main/format.md >> >> * "Handling Ballot Positions": >> - >> https://ietf.org/about/groups/iesg/statements/handling-ballot-positions/ >> >> ## Discuss >> >> ### S2.2.1 >> >> * I think there's some clarification required about what a Replication SID >> does if Segments Left is > 0. >> >> I can't see where Segments Left is decremented prior to packet >> duplication >> and so it looks like Replicate() would effectively H.Encaps[.Red] >> packets >> with an (inner) SRH that still points to the Replication SID? >> > > [RP] Unlike most other SRv6 behaviors, a Replication node does not process > the SRH (except at a Leaf node where a Context SID may be present to > provide context for packet processing). A Replication node has Replication > state associated with the Replication SID (in incoming packet) from which > it gets the list of branches and then for each branch, it replaces the IPv6 > destination address replicated packet copy with the Replication SID of the > downstream node. Hence, a Replication does not decrement Segments Left (if > present in a SRH). > > * At S20, if Segments Left is still > 0 (even after whatever S16 is >> supposed >> to be doing), why would you discard all of the extension headers? >> > > [RP] This is similar to say End.DT4 behavior in Section 4.7 RFC 8986 where > a node with local End.DT4 SID decapsulates the outer IPv6 header (and > extension headers) to process the inner payload. Similarly, an upstream > Replication node (or Root of replication segment) encapsulates a payload in > IPv6 header and possibly extension headers and a Leaf or Bud node removes > the outer IPv6 encapsulation and extension headers to process the payload. > Please note this document does not specify use of IPv6 extension headers, > but a future document extending Replication segment may do so. > > >> >> I think the S14-S21 stuff is trying to say "if this Replication node is >> a leaf or a bud include it in the Replication List". If that's true I >> suspect there are clearer ways to express that; you could just redefine >> the replication list inside Replicate() and let implementers figure out >> how to apply optimizations. >> > > [RP] I hope my above reply clarifies that S14-S21 is just describing the > decapsulation action on Leaf/Bud nodes. > > >> >> ### A.2.1 >> >> * Please clarify which source address R6 uses to formulate the Echo Reply. >> >> I'm a little unclear on the mental model here. The generation of ICMP >> errors is prohibited because the Replication SID is analogized to a >> multicast address in this context. >> >> Pinging a multicast address is of course fine, but the echo requester >> knows >> to expect the source address of replies to be any unicast address. I'm >> assuming a requester needs to be modified to know that echo replies >> cannot >> come from the Replication SID in this case? >> >> Or is the Replication SID intended to be the source address of Echo >> Replies >> here, as if it's some kind of conceptual "unicast whenever we want but >> also >> multicast whenever say" kind of address? >> > > [RP] The source address used in Echo Reply is the Replication SID of the > responder. Pinging a replication SID is similar to pinging any other SRv6 > SID as described in Sections 2.2, A.1.2 of RFC 9259. Note the Replication > SID is like other SRv6 SIDS with LOCATOR:FUNCTION:ARG format. The LOCATOR > is an IPv6 unicast prefix and the FUNCTION has the SID value. So the > Replication SID is itself an IPv6 unicast address and thus it can (actually > MUST) be used as the source address of Echo Reply according to Section 4.2 > of ICMPv6 RFC 4443. > > >> >> ---------------------------------------------------------------------- >> COMMENT: >> ---------------------------------------------------------------------- >> >> # Internet AD comments for draft-ietf-spring-sr-replication-segment-15 >> CC @ekline >> >> * comment syntax: >> - https://github.com/mnot/ietf-comments/blob/main/format.md >> >> * "Handling Ballot Positions": >> - >> https://ietf.org/about/groups/iesg/statements/handling-ballot-positions/ >> >> ## Comments >> >> ### S2/S2.2 >> >> * Given that Replicate() is implemented in terms of encapsulation in >> another >> SRH it's probably good to cite some text about the MTU considerations >> for >> operators. Probably the usual "size your MTU big enough or expect >> trouble" >> type of advice is really all that can be said. >> >> [RP] Note that SRH is not mandatory or even necessary for Replication > SID, since the unicast locator prefix of downstream Replication SID can > take a packet directly (on IGP shortest path) to the downstream node. SRH > is only required, as described in second paragraph of Section 2.2, if a > replicated packet has to be steered on a specific path (not the IGP > shortest path) to the downstream node. This is done using H.Encaps.Red > which adds the SRH. However, your point about MTU consideration for this > particular case is valid. I will add text in Section 2.2 about this. > > ### S2/S6 >> >> * It seems like nothing in the control plane representation information >> can >> prevent a chain of replication SIDs forming a loop. It should probably >> be >> noted that this can occur, looping and replicating packets until the >> Hop Limit stops it, if there is no function elsewhere that prevents the >> formation of loops when setting up the control plane (not necessarily a >> problem when a PCE is programming things, but in the "provisioned >> locally >> on a node" case it might be easier to make a mistake). >> > > [RP] Agreed. I will add text in Section 2 about potential looping and how > MPLS TTL/IPv6 Hop Limit can break the loop. But I think this is equally > applicable to other SRv6 behaviors like End/End.X. One can craft an SRH > that can cause a packet to loop between a few nodes till either Segment > List is exhausted or IPv6 Hop Limit is reached. > > >> ## Nits >> >> ### S1.1 >> >> * s/IPV6/IPv6/ >> >> ### S2.2 >> >> * s/pen-ultimate/penultimate/ >> >> >> [RP] Will fix. > > >> >> _______________________________________________ >> spring mailing list >> spring@ietf.org >> https://www.ietf.org/mailman/listinfo/spring >> >
- [spring] Erik Kline's Discuss on draft-ietf-sprin… Erik Kline via Datatracker
- Re: [spring] Erik Kline's Discuss on draft-ietf-s… Rishabh Parekh
- Re: [spring] Erik Kline's Discuss on draft-ietf-s… Rishabh Parekh
- Re: [spring] Erik Kline's Discuss on draft-ietf-s… Erik Kline
- Re: [spring] Erik Kline's Discuss on draft-ietf-s… Rishabh Parekh