Re: [netconf] Comments on draft-ietf-netconf-distributed-notif

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 21 July 2022 04:04 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DDD1EC13C524 for <netconf@ietfa.amsl.com>; Wed, 20 Jul 2022 21:04:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 1IRU-8cTdZdk for <netconf@ietfa.amsl.com>; Wed, 20 Jul 2022 21:04:16 -0700 (PDT)
Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) (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 74DF0C1595E6 for <netconf@ietf.org>; Wed, 20 Jul 2022 21:04:16 -0700 (PDT)
Received: by mail-pg1-x529.google.com with SMTP id o18so510368pgu.9 for <netconf@ietf.org>; Wed, 20 Jul 2022 21:04:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=4ttWPB2MrmfE+qrSGMpQTXa/TsBERXepA0BBHReoyCg=; b=C9zWBoRYIpaISf3+cf1tpzNbJKjU5jpZnKkzGsxGxvwjGOV9zIfF74LTm6gWhftSiK 1Af0oYqy9/wlW6ZmoPD0szi4ngD3MggEpcMvVLoEwrI+AWtBCIBRY/dEWDqBkrYAvfG3 asnthUk05JVkk1Vglua3cp7DzoDftrlKnLEALIwJKKtRko7lmqxAfTdPa2O051axdr11 QWp0BbmvBcEvrtlG5uRttNQlkAQp5jB1FFEYAtYySzs7DqeZz6831iZZ9fUsGLUVeOqx Sg+2GpCDl83CoplOgaUtope6lPyPErpn375ChwxjBGl9h4GoMGkDuv2gwT77fdaHy5r0 NGqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=4ttWPB2MrmfE+qrSGMpQTXa/TsBERXepA0BBHReoyCg=; b=sKfdT88rF60HOnaRPmblFQ4x822gXcXqkqSfl5njSqH0V3YsOT4Qgt3m1A83u123pm o9ElbqWzXjTn/1WUVctVWcsiElXL61HZS5fZDC7MVNzETzshyxco8mKjquN2r4VWK7rr Ja18T2YNS8KD+AWXLM0uMkdIgUC8QO0xJNsTh2AaGd8od2CZLEAOYUk3fqaVE7DQ3BHW Xk+Yc2iLykQfXwGKmnHCiZws3Ggmma1DNwTzF0r5+RodZb1bSfaddcjmry9c6gkBtiDv amF0Pql8dRUPW99+XbFHqM8SlAb+AbVm2fKap/NTkPvST/quBdgj1WSs35VMcg9ny4tn +ziA==
X-Gm-Message-State: AJIora/e2e6wCybpi7tmnpfc4rTSN8kwWq+hqvitWbthANjdLsBRhGm5 IMK2b2xgXn9xN8FSCOxNfrPUQPnKVHg=
X-Google-Smtp-Source: AGRyM1tVbeYqgs1NJ/RXUOy1bpmXuhy2haPyOqE/aioysYRxUBjM7ItqP7j/N4OGvXxm2uPwLtLdPg==
X-Received: by 2002:a63:1e14:0:b0:41a:77ee:acb3 with SMTP id e20-20020a631e14000000b0041a77eeacb3mr3321681pge.84.1658376255711; Wed, 20 Jul 2022 21:04:15 -0700 (PDT)
Received: from [192.168.1.56] (c-69-181-169-15.hsd1.ca.comcast.net. [69.181.169.15]) by smtp.gmail.com with ESMTPSA id p23-20020a1709027ed700b0016c0474fbd0sm393367plb.34.2022.07.20.21.04.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Jul 2022 21:04:15 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <89711268-F795-456E-BD40-22FC6FFB0AC4@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_C403B7B6-614D-44C3-ABF8-6AA361BD3D90"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
Date: Wed, 20 Jul 2022 21:04:14 -0700
In-Reply-To: <ZRAP278MB0176D391187ECD2C5A12467E89179@ZRAP278MB0176.CHEP278.PROD.OUTLOOK.COM>
Cc: netconf@ietf.org
To: Thomas.Graf@swisscom.com
References: <7DAEC2CC-BBBD-4469-B7DD-D71354C3C509@gmail.com> <ZRAP278MB0176FD65387738CB67C71B6989179@ZRAP278MB0176.CHEP278.PROD.OUTLOOK.COM> <4AEAC6B7-7BAC-4517-A18B-DB922293E997@gmail.com> <ZRAP278MB0176D391187ECD2C5A12467E89179@ZRAP278MB0176.CHEP278.PROD.OUTLOOK.COM>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/U-tnFDJcjz9TNDqT9psJjIrNw_Y>
Subject: Re: [netconf] Comments on draft-ietf-netconf-distributed-notif
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jul 2022 04:04:20 -0000

Hi Thomas,

I see that the authors have published an updated version of both the distributed-notif and udp-notif draft. But I believe the issues I raised in and after IETF 113 do not seem to have been addressed in the latest version of the drafts.

There were two asks. One was to show an example of how a notification would be setup between publisher and receiver. Note, this is different from establishing a subscription. In the example, you need to show how a publisher knows where to send a notification message, the transport parameters that need to configured, what data encoding is being used etc. I do not see such an example. BTW, the figure numbers are completely messed up

Figure 3: Fig. 4 "establish-subscription" Request

The second ask was around clarification of Observation Domain ID, and what happens to that ID if the transport is something other than UDP. Currently, Observation Domain ID is defined as follows. 



      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-----+-+-------+---------------+-------------------------------+
     | Ver |S|  MT   |  Header Len   |      Message Length           |
     +-----+-+-------+---------------+-------------------------------+
     |                    Observation-Domain-ID                      |
     +---------------------------------------------------------------+
     |                         Message-ID                            |
     +---------------------------------------------------------------+
     ~                          Options                              ~
     +---------------------------------------------------------------+

                 Figure 2: UDP-Notif Message Header Format


Per this figure, the Observation Domain ID is very much a part of the UDP-Notif Message Header. This header therefore is applicable when the transport is UDP.  However, per the draft, these notifications can be transported over other transports also. If the transport is TCP/HTTP or QUIC, can you specify what happens to this header, and how is Observation Domain ID carried in other transport formats?

Thanks

> On Mar 22, 2022, at 8:39 AM, Thomas.Graf@swisscom.com wrote:
> 
> Hi Mahesh,
> Is that the case? And does the following figure capture your point?
> Yes. Both correct.
> That is correct, and preferably an example for each type of transport supported.
> Ack. Will be addressed in the next version.
> [mj] What is your recommendation? If you believe the Observation Domain ID should be part of the message header, then your message header is different for different transports. If your recommendation is that it should be part of the notification, then you need to modify the message header in the UDP-Notif draft to move it out of the Message Header and show it as part of Notif Message.
> For protocols which share the same transport session and support segmentation, Observation Domain ID should be in the transport header so that the transport protocol doesn't need to inspect the upper layer. If segmentation support is not needed, then notification header would be a good choice.
>  
> Best wishes
> Thomas
>  
> From: Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> 
> Sent: Tuesday, March 22, 2022 3:36 PM
> To: Graf Thomas, INI-NET-TCZ-ZH1 <Thomas.Graf@swisscom.com <mailto:Thomas.Graf@swisscom.com>>
> Cc: netconf@ietf.org <mailto:netconf@ietf.org>
> Subject: Re: [netconf] Comments on draft-ietf-netconf-distributed-notif
>  
> Hi Thomas,
>  
> Thanks for your responses. Please see inline.
> 
> 
> On Mar 22, 2022, at 2:13 PM, <Thomas.Graf@swisscom.com <mailto:Thomas.Graf@swisscom.com>> <Thomas.Graf@swisscom.com <mailto:Thomas.Graf@swisscom.com>> wrote:
>  
> Hi Mahesh,
>  
> Section 3 of the document (https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif#section-3 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-netconf-distributed-notif%23section-3&data=04%7C01%7CThomas.Graf%40swisscom.com%7Ca8c3039756fa468dadbd08da0c116036%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637835566017125200%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=xiLrr7spyt%2BZI%2FvBi54UCkK1PVNnJRkQcupUr0XhcIo%3D&reserved=0>) describes the motivation. Being able to recognize lost and corrupt YANG notification messages when multiple publisher process sharing the same transport session properties.
>  
> Section 8 (https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif#section-8 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-netconf-distributed-notif%23section-8&data=04%7C01%7CThomas.Graf%40swisscom.com%7Ca8c3039756fa468dadbd08da0c116036%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637835566017125200%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=fH71Cdoru%2FE2QsQyBr%2BYeaRO8SS7lYfa8%2Fj7S%2BfV4hw%3D&reserved=0>) describes the differences between draft-ietf-netconf-udp-notif and draft-ietf-netconf-https-notif.
>  
> If this was transported over another transport, e.g. TCP/HTTP or QUIC, would they require a similar header?
>  
> If multiple publisher process sharing the same transport session properties, yes.
>  
> If so, what would it look like.
>  
> Section 2 (https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif#section-2 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-netconf-distributed-notif%23section-2&data=04%7C01%7CThomas.Graf%40swisscom.com%7Ca8c3039756fa468dadbd08da0c116036%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637835566017125200%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Vxuy1iAQr4aePMSaGaCp%2FFoCDrqfjRA3m1Clz2ZXCMs%3D&reserved=0>) describes Observation Domain ID as a 32-bit identifier. 
>  
> Observation Domain ID can also be part of the YANG notification messages header as describes in draft-ietf-netconf-distributed-notif Section 3(https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif#section-3 <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-netconf-distributed-notif%23section-3&data=04%7C01%7CThomas.Graf%40swisscom.com%7Ca8c3039756fa468dadbd08da0c116036%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637835566017125200%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=xiLrr7spyt%2BZI%2FvBi54UCkK1PVNnJRkQcupUr0XhcIo%3D&reserved=0>)
>  
> [mj] My first observation is that UDP transport header format for that you describe in Section 3.2 of draft-ietf-netconf-udp-notif is more than just a 32-bit field that describes the Observation Domain ID. Most of the other fields are there to support the transport, i.e. UDP in this case. You seem to be suggesting that for TCP/HTTP  (and maybe for QUIC also), only the 32-bit field is needed between the transport layer and the notification messages. Is that the case? And does the following figure capture your point?
>  
> <image001.png>
> 
> 
>  
> With this transport message header, do you still believe you are transport independent?
>  
> Yes. Because the Observation Domain ID can be either be implemented in the transport header or in the YANG notification messages header.
>  
> [mj] What is your recommendation? If you believe the Observation Domain ID should be part of the message header, then your message header is different for different transports. If your recommendation is that it should be part of the notification, then you need to modify the message header in the UDP-Notif draft to move it out of the Message Header and show it as part of Notif Message.
> 
> 
>  
> How does the publisher know where to send the notification messages? If this configuration a part of yang push, maybe an example of how yang push needs to be configured would be nice.
>  
> Yes it is part of the YANG push configuration. If I understand you correctly, you would like to see an example YANG push subscription including with the transport session properties as well. Correct?
>  
> [mj] That is correct, and preferably an example for each type of transport supported.
>  
> Thanks.
> 
> 
>  
> Best wishes
> Thomas
>  
> From: netconf <netconf-bounces@ietf.org <mailto:netconf-bounces@ietf.org>> On Behalf Of Mahesh Jethanandani
> Sent: Tuesday, March 22, 2022 11:00 AM
> To: Netconf <netconf@ietf.org <mailto:netconf@ietf.org>>
> Subject: [netconf] Comments on draft-ietf-netconf-distributed-notif
>  
> Hi Authors,
>  
> I promised in the NETCONF WG 113 meeting that I would provide comments on the draft. These comments were provided in the meeting, and I will expand on them here. 
>  
> My first comments was on the transport. The authors have asserted that this draft is transport independent. The motivation section of the draft, Section 3, talks about Observation Domain ID in the transport message header of the YANG notification, and very specifically cite how the UDP transport draft supports this header. Two comments. If this was transported over another transport, e.g. TCP/HTTP or QUIC, would they require a similar header? If so, what would it look like. If not, why not? With this transport message header, do you still believe you are transport independent?
>  
> My second comment was around examples. The examples in the Appendix focus on establishing subscription, modify subscription, and subscription started. However, it was not clear how would a notification be setup between publisher and receiver. How does the publisher know where to send the notification messages? If this configuration a part of yang push, maybe an example of how yang push needs to be configured would be nice. Similarly, if UDP transport is used for transport, what needs to be configured to use UDP transport, including any DTLS configuration.
>  
> Thanks.
>  
> 
> Mahesh Jethanandani (as contributor)
>  
>  
>  
>  
> 
>  


Mahesh Jethanandani (as a contributor)
mjethanandani@gmail.com