Re: [Idr] Benjamin Kaduk's Discuss on draft-ietf-idr-tunnel-encaps-20: (with DISCUSS and COMMENT)

Benjamin Kaduk <kaduk@mit.edu> Mon, 11 January 2021 22:58 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A7E2D3A14F5; Mon, 11 Jan 2021 14:58:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.92
X-Spam-Level:
X-Spam-Status: No, score=-1.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 IxNP1PYk7B6s; Mon, 11 Jan 2021 14:58:18 -0800 (PST)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4C5D63A14F4; Mon, 11 Jan 2021 14:58:17 -0800 (PST)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 10BMw9lq009280 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 11 Jan 2021 17:58:13 -0500
Date: Mon, 11 Jan 2021 14:58:08 -0800
From: Benjamin Kaduk <kaduk@mit.edu>
To: John Scudder <jgs@juniper.net>
Cc: The IESG <iesg@ietf.org>, "draft-ietf-idr-tunnel-encaps@ietf.org" <draft-ietf-idr-tunnel-encaps@ietf.org>, "idr-chairs@ietf.org" <idr-chairs@ietf.org>, "idr@ietf.org" <idr@ietf.org>, "aretana.ietf@gmail.com" <aretana.ietf@gmail.com>, Hares Susan <shares@ndzh.com>
Message-ID: <20210111225808.GJ161@kduck.mit.edu>
References: <160684669488.21585.5180075052177708759@ietfa.amsl.com> <9456ACB8-D843-41CD-9178-DBA0EA1D8EA7@juniper.net> <20201204050806.GR64351@kduck.mit.edu> <57157343-384E-4939-AE9E-580D9A308E27@juniper.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <57157343-384E-4939-AE9E-580D9A308E27@juniper.net>
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/Uv5F7mrD-qBNWdpeukuk24Wqm4Q>
Subject: Re: [Idr] Benjamin Kaduk's Discuss on draft-ietf-idr-tunnel-encaps-20: (with DISCUSS and COMMENT)
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jan 2021 22:58:20 -0000

Hi John,

Sorry for the delayed reply; I managed to get in a nice relaxing holiday
vacation, but with formal telechats on either side of it I neglected my
inbox...

Thank you for digging into and writing up the subtleties involved here.
I agree with your overall assessment and plan, and will go clear my Discuss
shortly.  I might consider having the §3.7 text read no implication that
the prefix-SID for the advertised prefix is the same as seen by the BGP
speaker that originated the sub-TLV and the BGP speaker that received it"
to talk even less about "Segment Routing domains" in that location, but I
am not 100% confident that would be accurate, so please use your judgment.

Thanks again,

Ben

On Fri, Dec 11, 2020 at 03:43:36PM +0000, John Scudder wrote:
>    Hi Ben,
>    In this reply I'll just address your open Discuss:
> 
>      On Dec 4, 2020, at 12:08 AM, Benjamin Kaduk <kaduk@mit.edu> wrote:
> 
>          ----------------------------------------------------------------------
>          DISCUSS:
>          ----------------------------------------------------------------------
> 
>          I support Erik's discuss.
> 
>          I see that Roman has already suggested adding normative language
>          regarding the limitation to a single administrative domain (in
>          addition
>          to the "MUST filter by default for EBGP sessions"), which I agree
>          with.
>          However, I think there is an additional consideration regarding the
>          limitation of use to a single administrative domain, wherein the
>          domain
>          of use for the tunnel encapsulation attribute may diverge from the
>          domain of use of segment routing, that seems to place this document
>          in
>          conflict with the requirements of RFC 8402.  In particular,
>          RFC 8402 says, for SR-MPLS and SRv6, that boundary routers "MUST
>          filter
>          any external traffic", and additionally for SRv6 that "explicit
>          routing
>          information MUST NOT be leaked through the boundaries of the
>          administrered domain".  In S:3.7 of this document, though, we find
>          that
>          for the Prefix-SID sub-TLV, "the receiving BGP speaker need not even
>          be
>          in the same Segment Routing Domain as the tunnel's egress endpoint,
>          and
>          there is no implication that the prefix-SID for the advertised
>          prefix is
>          the same in the Segment Routing domains of the BGP speaker that
>          originated the sub-TLV and the BGP speaker that received it", which
>          seems to suggest violation of the RFC 8402 requirement.  I think we
>          need
>          to have greater clarity on what relationship is actually intended
>          between the SR domain and the tunnel encapsulation usage domain, and
>          if
>          they are to diverge, we need to both somehow rectify this behavior
>          with
>          RFC 8402 and to very clearly document how the 8402-mandated
>          filtering at
>          the SR domain boundary is supposed to happen when the boundary
>          includes
>          tunneled traffic.
> 
>        We'll respond to this later, I need to discuss it with my coauthors
>        and didn't want to hold up the rest of the response any longer than I
>        have.
> 
>      Sounds good.  I am not surprised that this one is going to require more
>      discussion; it seems like a tricky task to figure out the right thing to
>      do.
> 
>    We did a review of RFC 8402's definition of an "SR domain". Here's 8402,
>    from the Terminology section, emphasis added:
> 
>     Segment Routing domain (SR domain): the set of nodes participating in
>     the source-based routing model.  These nodes may be connected to the
>     same physical infrastructure (e.g., a Service Provider's network).
>     They may as well be remotely connected to each other (e.g., an
>     enterprise VPN or an overlay).  If multiple protocol instances are
>     deployed, the SR domain most commonly includes all of the protocol
>     instances in a network.  However, some deployments may wish to
>     subdivide the network into multiple SR domains, each of which
>     includes one or more protocol instances.  It is expected that all
>     nodes in an SR domain are managed by the same administrative entity.
> 
>    Other parts of 8402 imply other properties of an SR domain. One is that
>    all the participating routers share a Prefix-SID namespace (this is my
>    interpretation, not the wording of 8402), another is the text in Section
>    8.1 you quote above, about filtering external traffic.
>    The text that bothered you in tunnel-encaps ("need not even be in the same
>    Segment Routing Domain") was directed only toward the namespace aspect:
>    the two ends of the tunnel may be using different prefix-SID namespaces.
>    But as we see above, the namespace isn't a defining attribute of the SR
>    domain. So, I think the best way forward is to strike the offending text
>    from tunnel-encaps. The paragraph stands just as well (arguably better)
>    without it:
> 
>     The Prefix-SID sub-TLV has slightly different semantics than the
>     Prefix-SID attribute.  When the Prefix-SID attribute is attached to a
>     given route, the BGP speaker that originally attached the attribute
>     is expected to be in the same Segment Routing domain as the BGP
>     speakers who receive the route with the attached attribute.  The
>     Label-Index tells the receiving BGP speakers what the prefix-SID is
>     for the advertised prefix in that Segment Routing domain.  When the
> 
>     Prefix-SID sub-TLV is used, the receiving BGP speaker need not even
> 
>     be in the same Segment Routing Domain as the tunnel's egress
>     endpoint, and there is no implication that the prefix-SID for the
>     advertised prefix is the same in the Segment Routing domains of the
>     BGP speaker that originated the sub-TLV and the BGP speaker that
>     received it.
> 
>    We'd also add something like the following to the Security Considerations
>    section:
> 
>     RFC 8402 specifies that "SR domain boundary routers MUST filter any
>     external traffic" ([RFC 8402] Section 8.1). For these purposes,
>     traffic introduced into a SR domain using the Prefix-SID sub-TLV lies
>     within the SR domain, even though the prefix-SIDs used by the routers
>     at the two ends of the tunnel may be different, as discussed in
>     Section 3.7. This implies that the duty to filter external traffic
>     extends to all routers participating in such tunnels.
> 
>  What do you think?
>  Thanks,
>  -John