[pim] John Scudder's No Objection on draft-ietf-pim-assert-packing-10: (with COMMENT)
John Scudder via Datatracker <noreply@ietf.org> Mon, 20 March 2023 21:18 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: pim@ietf.org
Delivered-To: pim@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 44C04C17B326; Mon, 20 Mar 2023 14:18:24 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: John Scudder via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-pim-assert-packing@ietf.org, pim-chairs@ietf.org, pim@ietf.org, stig@venaas.com, aretana.ietf@gmail.com, stig@venaas.com
X-Test-IDTracker: no
X-IETF-IDTracker: 9.15.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: John Scudder <jgs@juniper.net>
Message-ID: <167934710407.14208.12413404562308830318@ietfa.amsl.com>
Date: Mon, 20 Mar 2023 14:18:24 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/pim/Lk7_PSvJtFVzwCflCqeZGsG8TgA>
Subject: [pim] John Scudder's No Objection on draft-ietf-pim-assert-packing-10: (with COMMENT)
X-BeenThere: pim@ietf.org
X-Mailman-Version: 2.1.39
List-Id: Protocol Independent Multicast <pim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pim>, <mailto:pim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pim/>
List-Post: <mailto:pim@ietf.org>
List-Help: <mailto:pim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pim>, <mailto:pim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Mar 2023 21:18:24 -0000
John Scudder has entered the following ballot position for draft-ietf-pim-assert-packing-10: No Objection When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ for more information about how to handle DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-pim-assert-packing/ ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- # John Scudder, RTG AD, comments for candidate draft-ietf-pim-assert-packing-11 commit fc9d64f CC @jgscudder ## COMMENTS (And some nits mixed in, marked as such.) Thanks for addressing my earlier DISCUSS! I have a few residual comments, only one of which I think is problematic (my comment on §3.3.1.1). Although I hope you'll address that comment, I'm not keeping it as a DISCUSS point. ### Section 3.3.1 When using assert packing, the regular [RFC7761] Assert message encoding with A=0 and P=0 is still allowed to be sent. Routers are free to choose which PackedAssert message format they send. Do you mean "free to choose which Assert message format they send"? ### Section 3.3.1 * Implementations SHOULD be able to indicate to the operator (such as through a YANG model) how many Assert and PackedAssert messages were sent/received and how many assert records where sent/ received. Nit: where -> were ### Section 3.3.1 * Implementations that introduce support for PackedAsserts after support for Asserts SHOULD support configuration that disables PackedAssert operations. I get what you are trying to do here, mainly because you explained it in email. Let me suggest some different wording. Maybe something like, * A configuration option SHOULD be available to disable PackedAssert operations. An exception exists for implementations that do not have any native support for legacy Assert operations, these implementations MAY omit the configuration option. ### Section 3.3.1.1 I'm still having difficulty following this section, sorry. Asserts/PackedAsserts in this case are scheduled for serialization with highest priority, such that they bypass any potentially earlier scheduled other packets. I guess this means, maintain a queue with at least two priority levels, with the high priority being reserved for reception-triggered assert records. (I know in your email you expressed allergy to the word "queue" but that's exactly what it seems like you're describing, without using the word.) When there is no such Assert/PackedAssert message scheduled for or being serialized, The "such" is a point of difficulty here -- its referent seems to be "earlier scheduled other packets" which are eligible to be bypassed. Or does it mean reception-triggered asserts? I think you can fix this problem by spelling it out instead of indirecting through "such". the router immediately serializes an Assert or PackedAssert message without further assert packing. I'm also wondering what exactly you intend by "immediately serializes". Control plane software I'm familiar with lives up in userspace and uses the socket interface to push stuff in the direction of the network; for the messages to get written out to the wire it's not uncommon for several additional layers to be involved, different processors, a router backplane which itself may look like a network interface, etc. I think/hope you just intend that the control plane software should manage the order in which it writes things to the socket interface, but your use of phrases like "the router... serializes" makes it smell a little like you think this tuning is going to be applied all the way down to writing the packet to the wire. If there are one or more reception triggered Assert/PackedAssert messages already serializing and/or scheduled to be serialized on the outgoing interface, ... the concern continues with the above. In cases I'm familiar with, I don't have that level of detail available to me about the interface queues when I'm sitting up in the routing daemon. then the router can use the time until the last of those messages will have finished serializing for PIM processing of further conditions that may result in additional reception triggered assert records as well as packing of these assert records without introducing additional delay. But no matter what the paradigm is I still don't get what the fragment above is telling me. The best guess I have right now (but it is not a very strong guess) is that you're saying, during the time a message is being written to the wire, we can aggregate records, according to priority order, into the next-in-line message buffer. Although of course, I don't know the details of every control plane implementation, I find it somewhat difficult to believe that this level of optimization will ever see the light of day. More colloquially, maybe what you're saying is, "please pack the buffers as full as can be done without inducing unnecessary latency"? And putting all my guesses on this point together, maybe what this subsection is saying is, "reception-triggered asserts should be prioritized above other asserts; when constructing messages to send, please pack the buffers as full as can be done without inducing unnecessary latency"? Also, nit: I would use a hyphen in "reception-triggered" since the two words are being used together as an adjective. Similarly in 3.3.1.2, "timer expiry-triggered". ### Section 3.3.1.3 Nit, subsectons -> subsections Nit, be achieve -> be achieved ### Section 3.3.1.5 Nit, througput -> throughput ### Section 6 I guess it may be so obvious as to not need spelling out, but greenfield PackedAssert-only implementations (bullet 5 of §3.1.1) would be rendered useless if placed on a LAN with a legacy Assert-only implementation, because of the MUST in the first bullet of §3.3.1: * When any PIM routers on the LAN have not signaled support for Assert Packing, implementations MUST send only Asserts and MUST NOT send PackedAsserts under any condition. I wonder if this (the ability to completely silence such an implementation by advertising non-support for PackedAssert) represents an interesting enough attack that it's worth calling out in the Security Considerations? Perhaps this is already captured in some of the underlying spec SecCons, but I'm not sure. ## Notes This review is in the ["IETF Comments" Markdown format][ICMF], You can use the [`ietf-comments` tool][ICT] to automatically convert this review into individual GitHub issues. [ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md [ICT]: https://github.com/mnot/ietf-comments
- [pim] John Scudder's No Objection on draft-ietf-p… John Scudder via Datatracker
- Re: [pim] John Scudder's No Objection on draft-ie… Toerless Eckert
- Re: [pim] John Scudder's No Objection on draft-ie… John Scudder
- Re: [pim] John Scudder's No Objection on draft-ie… Toerless Eckert
- Re: [pim] John Scudder's No Objection on draft-ie… Toerless Eckert