Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09
Renato Westphal <renato@opensourcerouting.org> Mon, 24 January 2022 21:59 UTC
Return-Path: <renato@opensourcerouting.org>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C8CE13A1132 for <mpls@ietfa.amsl.com>; Mon, 24 Jan 2022 13:59:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=opensourcerouting-org.20210112.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 U_TaX9qW60H3 for <mpls@ietfa.amsl.com>; Mon, 24 Jan 2022 13:59:26 -0800 (PST)
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) (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 F1F753A1134 for <mpls@ietf.org>; Mon, 24 Jan 2022 13:59:25 -0800 (PST)
Received: by mail-ej1-x631.google.com with SMTP id o12so25304112eju.13 for <mpls@ietf.org>; Mon, 24 Jan 2022 13:59:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=opensourcerouting-org.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Q6XcEvPmwtqf3nQGKKdp7tULTnDp9uPnZj5GaZRV6nY=; b=Vtm4igZKvTlCs3B+/atkxp0LdjavX0ZDU8RSY2OvUpbJ+XIEtI0bwIpwiqBnt1Ea9r RaHJQPPNpTeD9CD/eANKW0BxXENuZXRto2j+Lyhu4N9YxH0N9n6iEAlopUAXa1aFpesP RMCepdmGU6ODti3lK+4ksLBoo5/vIOa+Lk3qKHCP9pDHqOAE94kfNzJAxuIgHGLs5Z4D vLCUP0PvGeAn8k1FCyGXDY5aFwGystGltVhuQZ05L4gDhfkXvR1BQy5472oWW2AckWHW kQ5fHLJ8MurcM5ybTTZviX9tmsypwjLokQWXqH8aGTEwT88cBgL2chgg92SV2XQB7mmn AO0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Q6XcEvPmwtqf3nQGKKdp7tULTnDp9uPnZj5GaZRV6nY=; b=4KDmcfSTR42oyS4Z9fowaE7oTBblxLl3vF/03e7TuBPHUyYyQs5ipUqOMocum2RjBA FNhSyXyjfsxj6b50mKZtvdHQSxYK4uboWsslLz36Ud4u0Wyi+xV3usBvcqZKWx0dn2w6 NowFpUexUtHyeZbPYJtCQ/uyVq6Sd0leGWA9VEQ5ikc9Iat4QRVPrK+vkJCoey95qWdO wBjF+uGdxXi9ZDie18WNt7AQFXoX5iNyrYv3cQwXRz0j7T+PqSfL5FpWF+YkCvkgZpd3 x8IGwAfzl5XjhPixk1jsWvZpem+fKsTAd8YRBcTEduQ+UEkR36UvrpKUl3Zr/TL9jHmz UhSw==
X-Gm-Message-State: AOAM532SgwXhqDPV1fEb9oOmCYzUNt6+O2ZTuhqq6GlmqAhMNosP9+jA t0wB4FNtc29YMkjLhaNCqikSQ+KrRm82NoJKZ9AEEA==
X-Google-Smtp-Source: ABdhPJzT+ie1Hot6qP5XdgjdFy/OGJYC/Gix1rCSzTsynOt4JMyrzezFB8eJvEoVNMpthX8CDJ3sLRfveCEWs07X82w=
X-Received: by 2002:a17:907:7244:: with SMTP id ds4mr6084200ejc.208.1643061563142; Mon, 24 Jan 2022 13:59:23 -0800 (PST)
MIME-Version: 1.0
References: <CAB6ZmXEzijShLEHkNQuhFchvpZ8GRTuzf=76WMxF-PqRX5xQeQ@mail.gmail.com> <66F8F012-E804-49CE-8890-4941CC10AB61@cisco.com>
In-Reply-To: <66F8F012-E804-49CE-8890-4941CC10AB61@cisco.com>
From: Renato Westphal <renato@opensourcerouting.org>
Date: Mon, 24 Jan 2022 18:59:11 -0300
Message-ID: <CAB6ZmXEtbS3ci_5QY97Gphzz2PAM27JGa-c3ZZmz24d0bNjpAw@mail.gmail.com>
To: "Rajiv Asati (rajiva)" <rajiva@cisco.com>
Cc: "draft-ietf-mpls-ldp-yang.all@ietf.org" <draft-ietf-mpls-ldp-yang.all@ietf.org>, "mpls@ietf.org" <mpls@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000d0da7405d65b144e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/79hkHvArVQoiqS10KERbbMjr2XU>
Subject: Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Jan 2022 21:59:32 -0000
Thank you for taking the time to answer my questions Rajiv. Please see my comments inline. Em qui., 20 de jan. de 2022 às 20:09, Rajiv Asati (rajiva) <rajiva@cisco.com> escreveu: > Hi Renato, > > > > Thanks for the feedback to the WG document. This really helps us to build > a solid spec. > > > > 1. You are right about adjacency configuration (RW) and adjacency state > (RO). The spec well covers all of those. > > > > The flag you referred to is defined as ReadOnly (RO) for operational > state, exactly as you pointed out, to capture the neighbor being active or > passive. Not for config. Hello-adjacencies below is a container, btw, that > includes both tx and rx adjacencies. > > > > | | | | +--ro hello-adjacencies > > | | | | | +--ro hello-adjacency* [adjacent-address] > > > > | | | +--ro flag* identityref > > < > > > > > container hello-adjacencies { > > … > > uses ldp:adjacency-state-attributes; > > > > Config (RW) for targeted neighbor covers what you suggested well - > > | +--rw targeted > > | +--rw hello-holdtime? uint16 > > | +--rw hello-interval? uint16 > > | +--rw hello-accept > > | | +--rw enabled? boolean > > | | +--rw ldp-ext:neighbor-list? neighbor-list-ref > Ack. If I understood correctly, an active adjacency means that hello messages are both being sent and received, whereas a passive adjacency is only receiving but not sending hellos (can only happen for targeted adjacencies). While a find the adjacency-flag descriptions a bit confusing, the distinction between active and passive adjacencies makes sense. > 2. Targeted neighbor is not bound to an interface (per RFC5036), so that > interface leaf you referred to is actually not part of targeted discovery > container, rather basic discovery container (which indeed allows for one or > more interfaces per neighbor). > > > > container hello-adjacencies { > > config false; > > description > > "Containing a list of Hello adjacencies."; > > . . . . . . > > leaf interface { > > type if:interface-ref; > > description "Interface for this adjacency."; > That leaf lies indirectly under the peer list: /ietf-routing:routing/control-plane-protocols/control-plane-protocol/ietf-mpls-ldp:mpls-ldp/peers/peer/address-families/ipv4/hello-adjacencies/hello-adjacency/interface That means it's present for both basic and extended adjacencies as far as I understand it. > 3. You are right that a neighbor can be discovered via both basic and > extended discovery. What you point out is well covered in the tree in two > distinct places – one for basic and the other for extended/targeted. Pls > see section 6.1 and figure 5. > > > > +--rw discovery > > +--rw interfaces > > | +--rw interface* [interface] > > | +--rw address-families > > | +--rw ipv4 > > | +--ro hello-adjacencies > > | +--ro hello-adjacencies* [adjacent-address] > > | +--ro adjacent-address > > | . . . . > > | . . . . > > +--rw targeted > > +--rw address-families > > +--rw ipv4 > > +--ro hello-adjacencies > > +--ro hello-adjacencies* > > | [local-address adjacent-address] > > +--ro local-address > > +--ro adjacent-address > > . . . . > > . . . . > The problem is that there's also a hello-adjacency list within the peer list. There interface and targeted adjacencies are displayed together, and their keys might collide and overlap one another. > Also, page#52 clarifies the following for local-address - > > > > leaf local-address { > > type inet:ipv4-address; > > description > > "The local address used as the source address to > > send targeted Hello messages. > > If the value is not specified, the > > transport-address is used as the source > > address."; > That's the description of the local-address configuration leaf for targeted neighbors. In my previous comment, I was referring to the local-address state leaf from lines 1167 and 1276. Upon further thought, I think those leafs descriptions are actually fine. It should only make sense to display the IP source address as the transport address would be the same for all adjacencies. > 4. Good point about a good “deployment” practice for different protocols > to leverage the same router-id. However, LDP protocol (RFC5036) specifies > LSR-ID and allows it to be different, if/as needed (independent of that, > one can choose different LSR ID for different VRFs on a node). > > > > Thankfully, the team agreed to keep the default along the line of what you > pointed. > > > Ack, thanks for the clarification. The fact that RFC5036 doesn't mandate the LSR-ID to use the Router-ID (for the first four bytes) is a good argument to preserve the lsr-id leaf. Regarding your second point, I think one should be able to use YANG schema mount to set different ietf-routing's Router-IDs for different VRFs. If it wasn't for that, all IGP models would need to have a router-id leaf as well (which they don't). > 5. Well, think of IPv6-only node, which unfortunately needs to have IPv4 > for OOB management access. That would result in LDP IPv4 AFI being enabled > by default, and hence, would need to be explicitly disabled via this > container. > > > > I will let my co-authors add further clarification. > > I think that makes sense for the ipv4 presence container within "global/address-families". For LDP neighbors, I can see no use for an "ipv4" presence container (instead of a regular container). > 6. Yes, it does apply. > > And that configuration will allow for the targeted adjacency to be > created for 1.1.1.1, but peering relationship will be denied. If the > intent is to not let the targeted adjacency be created, then policy could > be created to deny 1.1.1.1. > Ack. Thanks for the clarification! > Wrt custom hello/hold timers per targeted neighbors, AFAIK, RFC5036 > doesn’t specify that, nor do any of the implementations. > > Only custom hello/hold timers global config. > Ack. > 7. AFAIK, this is because of RFC5036 that specifies 5s to be the lowest > hello interval. 😊 > > > > https://datatracker.ietf.org/doc/html/rfc5036#section-3.5.2 > I couldn't find in that RFC section any reference to a minimum allowed hello interval. Could you precise which excerpt you're using as a reference? For what it's worth, I've seen numerous vendors supporting smaller hello interval and holdtime values. Also, maybe it would be a good idea to support infinite hold-time values (0xffff) as they are specified by RFC 5036. It doesn't seem like they are widely implemented though. > 8. Thanks for reviewing so diligently and pointing these typos out. > > Thankfully, our amazing RFC Editor team has fixed all of them (I just > checked their version) except interface’s counters (within the statistics > container), which I believe is correct (since it is about the node, not > about the peer). > I was referring to the statistics container within the peer-state-derived grouping [1]. There I think "interface’s counters" was a copy and paste error. I'm happy to know the other typos were already fixed :) [1] Full path to be precise: /ietf-routing:routing/control-plane-protocols/control-plane-protocol/ietf-mpls-ldp:mpls-ldp/peers/peer/statistics Regards, -- Renato Westphal
- [mpls] Review of draft-ietf-mpls-ldp-yang-09 Renato Westphal
- Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09 Erik Auerswald
- Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09 Rajiv Asati (rajiva)
- Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09 Renato Westphal
- Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09 Renato Westphal