Re: [bess] Alvaro Retana's Discuss on draft-ietf-bess-srv6-services-10: (with DISCUSS and COMMENT)

Alvaro Retana <aretana.ietf@gmail.com> Thu, 17 February 2022 19:00 UTC

Return-Path: <aretana.ietf@gmail.com>
X-Original-To: bess@ietfa.amsl.com
Delivered-To: bess@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EB7C73A0F47; Thu, 17 Feb 2022 11:00:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g41q8jNTI-Et; Thu, 17 Feb 2022 11:00:52 -0800 (PST)
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) (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 877653A0F42; Thu, 17 Feb 2022 11:00:51 -0800 (PST)
Received: by mail-ed1-x533.google.com with SMTP id m17so11284217edc.13; Thu, 17 Feb 2022 11:00:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc:content-transfer-encoding; bh=0iQPwys31i2soqstKuc6srux+Hx+E0Qsi0mJ1/SkzfY=; b=ZvHpDQT0WzGeDVv+1rOVMQkdg/y9GqFeASnNJ+AhFoziKOMSwm6Yio0w3w4z1lHctZ cl0KUNjktx05zXSjVB0BRtPhsseppChh0xJJ4PXGtqrdMX6VPD8snjOVQWx9G/cjsfey bP6uPbFu/cDLoKk9N95xBix21Q1pJpLuGPE26MV42gyyKl+JUQLlYCUtneQsLqPzyBlK k5dTLhsiQxrqh4xTyNH9ZXkLgjVZN4bUq3kQMj2LWlyWfrZ7xYfYxxch+uRq+CJTt2Zf LjyL/o3f9DeIUUUH4CnBaZw63iFlY+kE9AIIHOK7W2d0Boy2Kb6+NTnIkQ7J+ehiLFYv u89w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc:content-transfer-encoding; bh=0iQPwys31i2soqstKuc6srux+Hx+E0Qsi0mJ1/SkzfY=; b=mKsIyVCNRZMyPrQpIqXbmlOFhLSQc42xmnFu80ujtySOf2d+VyLNdu+6r2cF6Bo2Md 9YUFNUcgbSCCmIbV7dgrpOlivQbXuFk639kSG3Ido2wE8GsQxpZeD6mf6AbDwng/XX7M tYPUgntbUtuFd2VIMjmewuQOKDCy76glpbceZFyASH4bJmxuhjcLqTOCOTAHGOIlqL1l FLDalGH2NkR1ExYYhpnOLucnHMnUoBeL0BLSd9xx+xLEDxAlht/SJ/Pj1eYsTGrU/iZb pQ/pOftM81lGri2T28m2hmKeB1Xnbtzzzf+wXP5DaSBSHNcWm3U0wkpJrJ9cVSE6lfns CyPw==
X-Gm-Message-State: AOAM530QINXdRk5w6YS/gemCyOQjH+Zw/8HrTdHy8z9ACAbst/VFy4Ki szAYBdK4FHWNgOOWlmvV1DJaIEUMCRPQuxXy+Rw=
X-Google-Smtp-Source: ABdhPJyfavmXTPRzngUPQEtzeR1xVfwbdWiG+/Xe0Sp0/KPxcEQJxr4zzd/xUgXtYlPxpvdnOfUZa8HYpyyuf25ZWHE=
X-Received: by 2002:a05:6402:2694:b0:411:f0b1:7f90 with SMTP id w20-20020a056402269400b00411f0b17f90mr4327010edd.398.1645124449549; Thu, 17 Feb 2022 11:00:49 -0800 (PST)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Thu, 17 Feb 2022 11:00:48 -0800
From: Alvaro Retana <aretana.ietf@gmail.com>
In-Reply-To: <CAH6gdPzvdae5sGOS982OLdQbYv-qGBnC9BwF_LePhTjaUW+Ghg@mail.gmail.com>
References: <164494796487.31930.7636138656008278664@ietfa.amsl.com> <CAH6gdPzvdae5sGOS982OLdQbYv-qGBnC9BwF_LePhTjaUW+Ghg@mail.gmail.com>
MIME-Version: 1.0
Date: Thu, 17 Feb 2022 11:00:48 -0800
Message-ID: <CAMMESsw+28voyO-4prcNVh+d4y6r7wANQV8Qw0RVCrdcRHqOyQ@mail.gmail.com>
To: Ketan Talaulikar <ketant.ietf@gmail.com>
Cc: bess-chairs@ietf.org, draft-ietf-bess-srv6-services@ietf.org, The IESG <iesg@ietf.org>, BESS <bess@ietf.org>, "Bocci, Matthew (Nokia - GB)" <matthew.bocci@nokia.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/UJmU03mGsEAer6oWSfeDdLjGWpM>
Subject: Re: [bess] Alvaro Retana's Discuss on draft-ietf-bess-srv6-services-10: (with DISCUSS and COMMENT)
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bess>, <mailto:bess-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess/>
List-Post: <mailto:bess@ietf.org>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bess>, <mailto:bess-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Feb 2022 19:00:54 -0000

On February 16, 2022 at 1:28:43 PM, Ketan Talaulikar wrote:


Ketan:

Hi!


> > ----------------------------------------------------------------------
> > DISCUSS:
> > ----------------------------------------------------------------------
> >
> > I am balloting DISCUSS because the document underspecifies the use of
> > Endpoint Behaviors. As a result, it is unclear when they should be checked,
> > enforced, or needed. Details follow.
> >
> >
> > The descriptions of the TLVs in §2 say (twice) that the "SRv6 Endpoint
> > behaviors which MAY be encoded, but not limited to, are...etc."
> >
> > The text above ends with "etc." which means there are other possible
> > behaviors. That's not a great use of normative language, even if optional.
>
> KT> Agree. We have removed the "etc".

Ok.  Given the rest of the text, I think that "MAY" is just expressing
a fact, not a normative action: s/MAY/may


> > My initial instinct was to ask you to be specific, BUT...
> >
> > The description of the SRv6 SID Information Sub-TLV (§3.1) says that "an
> > unrecognized endpoint behavior MUST NOT be considered invalid", which seems
> > to mean that any behavior is ok, AND...
> >
> > There's no validation specified, except for the description of the SRv6 SID
> > Structure Sub-Sub-TLV (§3.2.1), where it says that the "Argument length
> > MUST be set to 0 for SIDs where the Argument is not applicable". AND...
> >
> > Several of the service descriptions in §5/§6 say that "The SRv6 Endpoint
> > behavior of the SRv6 SID is entirely up to the originator of the
> > advertisement. In practice, the SRv6 Endpoint behavior is..."
> >
> >
> > The result is that any endpoint behavior (even unrecognized) can be used,
> > while also requiring a specific setting for the argument length in some
> > cases.
> >
> > How can the argument length be validated if the endpoint behavior is
> > unknown?
>
> KT> The argument length cannot be validated unless the endpoint behavior is
> known. The ingress PE needs to actually write the ARG part of the SID into
> the SRv6 SID advertised by the egress PE when sending packets for that
> service to the egress PE. Therefore, knowing that the behavior involves
> argument and validating the argument length is important. We have clarified
> this in the text.

I see that the text in -11 now says this:

   Arguments may be generally applicable for SIDs of only specific SRv6
   Endpoint behaviors (e.g., End.DT2M) and therefore the Argument length
   MUST be set to 0 for SIDs where the Argument is not applicable.  A
   receiver is unable to validate the applicability of arguments for
   SRv6 Endpoint behaviors that are unknown to it and hence MUST ignore
   SRv6 SIDs with arguments (indicated by non-zero argument length) with
   unknown endpoint behaviors.

That works for me.  It addresses the cases when the Behavior is
unknown -- the questions below are about known and expected Behaviors.



> > Clearly (from looking at rfc8986), not all endpoint behaviors apply to the
> > services defined in this document. Should a receiver accept any endpoint
> > behavior? What should a receiver do if a known but unrelated behavior (End,
> > for example) is received?
> >
> > What should the receiver do if the endpoint behavior is known and
> > applicable, but the attribute length is not set correctly?
>
> KT> Could you clarify which attribute length you are referring to?

Sorry, I meant the argument... :-(


> > For any specific service (IPv4 VPN Over SRv6 Core, for example, to pick
> > one), should the behaviors used "in practice" be enforced? What if
> > different behavior is advertised? Can it safely be ignored?



...
> > ----------------------------------------------------------------------
> > COMMENT:
> > ----------------------------------------------------------------------
...

Just one comment:


...
> > (8) §5:
> >
> > The SRv6 Service SID SHOULD be routable within the AS of the egress
> > PE and serves the dual purpose of providing reachability between
> > ingress PE and egress PE while also encoding the SRv6 Endpoint
> > behavior.
> >
> > Is it ever ok for the SID to not be routable? If so, when? The "purpose of
> > providing reachability" requires the SID to be routable. IOW, why is this
> > behavior recommended and not required?
>
> KT> An SRv6 SID may not be routable across multiple IGP domains within a
> provider network when routes are not leaked. There can be other mechanisms
> like SR Policies (or other forms of tunneling) that provide reachability. In
> other scenarios, due to local policy, the resolution may be desired over an
> SR Policy instead of the best-effort reachability provided by IGPs.

If there's a route over a tunnel/SR Policy/whatever, I consider that
routable. I am not just thinking about IGP-learned routes.  The case
that concerns me is when the ingress PE doesn't have a route at all
(which is possible with the SHOULD).  If a route should always exist
(from any source) then it looks like the text should indicate a
requirement and not a recommendation.


Thanks for addressing my other comments.

Alvaro.