Re: [netconf] [yang-doctors] Yangdoctors last call review of draft-ietf-netconf-subscribed-notifications-21
"Eric Voit (evoit)" <evoit@cisco.com> Wed, 13 February 2019 15:14 UTC
Return-Path: <evoit@cisco.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 6540A126C7E; Wed, 13 Feb 2019 07:14:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.501
X-Spam-Level:
X-Spam-Status: No, score=-14.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 hpN2tNyHDihr; Wed, 13 Feb 2019 07:14:17 -0800 (PST)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 92B4B1200D7; Wed, 13 Feb 2019 07:14:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9489; q=dns/txt; s=iport; t=1550070857; x=1551280457; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=D5Gciy9deB6LvLQjCjTENBoUOhl6YJQe4NJ84MbD1BE=; b=m6qH6pJ70SlewqSF6SggGxp6oLdjzyifIP0Q/LbE7M9AZRsadwv3Q/N6 a/t9Sj8sXlX0fh7Bt7yg2s2JyfhxA5dnvq0C+4v/XpRaTjvQOaqfTGiAg qrFwVA21BOWUmjnAN6rG0iDN5unto10pXmG3MqPFFG9u2go3c7XHGlv/x E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ADAACkM2Rc/5NdJa1jGQEBAQEBAQEBAQEBAQcBAQEBAQGBUQQBAQEBAQsBgVopZ4EDJwqMFYtzgg18lxeBewsBARgLhANGAoNZIjQJDQEDAQECAQECbRwMhUoBAQEEAQE4LQcJAgwEAgEIEQQBAQENEQULJwsdCAIEAQ0FCIJRTIIBD6sHiicFjEQXgUA/gRGCXTWDHgEBgUuFVCICiV8SOId0kQoJAoslhyQhgW2FUoswijWRaAIRFIEnHziBVnAVO4JsgigXE4hMhT4BQTGOYYEfAQE
X-IronPort-AV: E=Sophos;i="5.58,365,1544486400"; d="scan'208";a="514819906"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Feb 2019 15:14:16 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by rcdn-core-11.cisco.com (8.15.2/8.15.2) with ESMTPS id x1DFEFdg023513 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 13 Feb 2019 15:14:16 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 13 Feb 2019 10:14:15 -0500
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1395.000; Wed, 13 Feb 2019 10:14:15 -0500
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Per Hedeland <per@hedeland.org>, Martin Bjorklund <mbj@tail-f.com>
CC: "draft-ietf-netconf-subscribed-notifications.all@ietf.org" <draft-ietf-netconf-subscribed-notifications.all@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Thread-Topic: [netconf] [yang-doctors] Yangdoctors last call review of draft-ietf-netconf-subscribed-notifications-21
Thread-Index: AQHUrG6+nBjZ9hMl8U25QTRsXd0ZC6Ww36AggANDEICAARW3EIAAAXJggAU/bACAAWWKIIABCD+A///v5GCAAKn4AP//skVAgAGV2gD//60SYAANQ54AAApn7nD//7rBgIAATO5Q///xy4CAAB+zwIAAwVMA///xWjCAAIE3gIAAU4mQ///b6QAACBjB0AABYKaAAA0Zy7D/42BDsA==
Date: Wed, 13 Feb 2019 15:14:15 +0000
Message-ID: <211de3a325d943f9bfdebb5aa8c73240@XCH-RTP-013.cisco.com>
References: <83b12adbb7234a84a56ac3ec00bb0673@XCH-RTP-013.cisco.com> <20190125.093938.375156009332209799.mbj@tail-f.com> <adb990ccef2e4fa78d2ad7c12323617e@XCH-RTP-013.cisco.com> <20190125.162941.2222352349671950038.mbj@tail-f.com> <9d4bbc12ddb448ca98fd8560a02565c5@XCH-RTP-013.cisco.com> <2b60239e-979e-3627-e3c5-62b264811f18@hedeland.org> <e6e5a75f9f9c4f12b8f2dd4069b53cf0@XCH-RTP-013.cisco.com> <8d1ab4ac-97ab-ee69-2f1a-4a8a828ccd18@hedeland.org> <9c54bd929e07463f89f3f71fe0a3bbf4@XCH-RTP-013.cisco.com>
In-Reply-To: <9c54bd929e07463f89f3f71fe0a3bbf4@XCH-RTP-013.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.226]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Outbound-SMTP-Client: 64.101.220.152, xch-rtp-012.cisco.com
X-Outbound-Node: rcdn-core-11.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/9Ug8Qdw_fG-x42K2bWkv8vSjRsc>
Subject: Re: [netconf] [yang-doctors] Yangdoctors last call review of draft-ietf-netconf-subscribed-notifications-21
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 13 Feb 2019 15:14:20 -0000
Thanks again for the review. I believe the latest version just posted now reflects the results from the thread. If anything else is needed, please let us know. Eric > -----Original Message----- > From: Eric Voit (evoit) <evoit@cisco.com> > Sent: Friday, January 25, 2019 4:38 PM > To: Per Hedeland <per@hedeland.org>; Martin Bjorklund <mbj@tail-f.com> > Cc: draft-ietf-netconf-subscribed-notifications.all@ietf.org; netconf@ietf.org; > yang-doctors@ietf.org > Subject: RE: [netconf] [yang-doctors] Yangdoctors last call review of draft-ietf- > netconf-subscribed-notifications-21 > > > From: Per Hedeland, January 25, 2019 4:32 PM > > To: Eric Voit (evoit) <evoit@cisco.com>; Martin Bjorklund > > <mbj@tail-f.com> > > Cc: draft-ietf-netconf-subscribed-notifications.all@ietf.org; > > netconf@ietf.org; yang-doctors@ietf.org > > Subject: Re: [netconf] [yang-doctors] Yangdoctors last call review of > > draft-ietf- > > netconf-subscribed-notifications-21 > > > > On 2019-01-25 22:15, Eric Voit (evoit) wrote: > > >> From: Per Hedeland, January 25, 2019 1:20 PM > > >> > > >> On 2019-01-25 16:41, Eric Voit (evoit) wrote: > > >>>> From: Martin Bjorklund, January 25, 2019 10:30 AM > > >>>> > > >>>> "Eric Voit (evoit)" <evoit@cisco.com> wrote: > > >>>>>> From: Martin Bjorklund, January 25, 2019 3:40 AM > > >>>>>> > > >>>>>> "Eric Voit (evoit)" <evoit@cisco.com> wrote: > > >>>>>>>> "Eric Voit (evoit)" <evoit@cisco.com> wrote: > > >>>>>>>>>> "Eric Voit (evoit)" <evoit@cisco.com> wrote: > > >>>>>>>>>>>> From: Martin Bjorklund, January 24, 2019 9:40 AM > > >>>>>>>>>>>> > > >>>>>>>>>>>> "Eric Voit (evoit)" <evoit@cisco.com> wrote: > > >>>>>>>>>>>>>> From: Martin Bjorklund, January 24, 2019 8:17 AM > > >>>>>> > > >>>>>> [...] > > >>>>>> > > >>>>>>>>>>>>>> Thinking some more, what is supposed to happen if the > > >>>>>>>>>>>>>> client on the same session sends first an > > >>>>>>>>>>>>>> establish-subscription with dscp 42, and then another > > >>>>>>>>>>>>>> establish- > > >>>>>> subscription with dscp 10? > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> This would be allowed. > > >>>>>>>>>>>> > > >>>>>>>>>>>> On linux at least this is a sockopt, i.e., the option > > >>>>>>>>>>>> applies to the socket, which means all packets on the > > >>>>>>>>>>>> session. So how is this supposed to be implemented if > > >>>>>>>>>>>> different messages on the session should have different > > >>>>>>>>>>>> dscp > > values? > > >>>>>>>>>>>> Or is the > > >>>>>>>>>>>> idea that you send the msg, flush all data from ssh/tls > > >>>>>>>>>>>> to tcp, then flush the tcp buffers (not that easy...)? > > >>>>>>>>>>>> > > >>>>>>>>>>>> Even if there's just one establish-subscription with a > > >>>>>>>>>>>> dscp value, since it applies to the session it means that > > >>>>>>>>>>>> all normal rpcs on this session will get the same dscp value. > > >>>>>>>>>>>> It is not clear that this is the intention? > > >>>>>>>> > > >>>>>>>> Did you miss these questions? > > >>>>>>> > > >>>>>>> With NETCONF, one DSCP will apply to single TCP session. So > > >>>>>>> there is no > > >>>>>> issue. > > >>>>>> > > >>>>>> The problem is if a client sends two establish-subscriptions > > >>>>>> with different values for dscp on the same session. Or even if > > >>>>>> the client sends one > > >>>>>> establish- > > >>>>>> subscription with som dscp value, then the dscp will be applied > > >>>>>> to all packets from other rpcs as well. > > >>>>>> > > >>>>>> ... and even worse, with SSH channels you can have multiple > > >>>>>> NETCONF session on the same TCP session, which means that the > > >>>>>> dscp value applies to all packets in all NETCONF sessions > > >>>>>> sharing the same TCP session. > > >>>>>> > > >>>>>> I don't know what the right thing to do is. Probably first > > >>>>>> agree that this is in fact a problem, then maybe simply > > >>>>>> document this somehow. > > >>>>> > > >>>>> I hadn't thought about multiple NETCONF SSH channels. I agree > > >>>>> something to guide developers is needed here. The easiest fix > > >>>>> is to recommend not supporting feature "dscp" with NETCONF. (It > > >>>>> shouldn't be absolutely prohibited as DSCP related RFC's such as > > >>>>> RFC7657 embed text like "a single DSCP should be used for all > > >>>>> packets in a TCP > > >>>>> connection".) > > >>>>> > > >>>>> Here is the text I suggest is put into > > >>>>> draft-ietf-netconf-netconf-event-notifications, Section 5: > > >>>>> > > >>>>> "The feature "dscp" SHOULD NOT be supported over NETCONF. This > > >>>>> will avoid the potential for out-of-order packet delivery of the > > >>>>> set of all traffic within the TCP session." > > >>>> > > >>>> I think this is a bit too limiting. For configured subscriptions > > >>>> it can be perfectly fine, since the server can ensure that > > >>>> there's a single TCP session to the receiver in this case. (I > > >>>> know we don't support > > >> configured subscriptions at the moment). > > >>>> > > >>>> Perhaps we can say in the SN document: > > >>>> > > >>>> If a server that supports the "dscp" feature cannot guarantee that > > >>>> the only packets sent on an underlying transport session are from > > >>>> the subscription, then it should reject the subscription with a > > >>>> "dscp-unavailable" error. This will avoid the potential for > > >>>> out-of-order packet delivery of the set of all traffic within the > > >>>> TCP session. > > >>> > > >>> This works for me. I will put this in Section 2.3, directly after the > > sentence: > > >>> > > >>> If the publisher supports the "dscp" feature, then a subscription > > >>> with a "dscp" leaf MUST result in a corresponding [RFC2474] DSCP > > >>> marking being placed within the IP header of any resulting > > >>> notification messages and subscription state change notifications. > > >>> > > >>> unless I hear any objections on this thread. > > >> > > >> I'm not sure why the "avoid out-of-order" rationale was presented. > > >> There is no order "of the set of all traffic within the TCP session" > > >> to be out-of. Regardless of DSCP, SSH peers will send data on the > > >> channels (NETCONF sessions) in an order that depends, among other > > >> things, on the rate of consumption of that data. They will preserve > > >> order on any given channel, but will not consider order with > > >> respect to other channels (arguably, not having to do that is the > > >> whole point of > > having flow control at the SSH level). > > > > > > Hi Per, > > > > > > What you say is absolutely true. You likely know this, but Martin > > > asked to > > include the out-of-order rationale because if a TCP session carries > > traffic consisting of a set of DSCP values, then the network elements > > between the publisher and receiver might reorder the packets. > > > > Hm, from the e-mail thread, it seems that the issue of reordering was > > introduced by you, and Martin's text just copied your text regarding > > that issue, while relaxing the requirement from completely forbidding > > the use of the DSCP parameter to disallowing it where it could have > undesired effects. > > > > > While the order might be restored at the receiver (per your point), > > > this might > > also be seen as loss. The result to the application is that higher > > priority dscp packets will be seen no faster those with lower > > priority. Again you likely know this, but there is more on this general topic in > places like RFC-7657, Section 5.2. > > > > > > To cover what Martin wants, and reduce the non-normative text, how > > > about > > the following?... > > > > > > "Where TCP is used, a publisher which supports the "dscp" feature > > > SHOULD > > ensure that a subscription's notification messages are returned within > > a single TCP transport session where all traffic shares the subscription's > requested > > "dscp" leaf value. Where this cannot be guaranteed, any "establish > > subscription" RPC request SHOULD be rejected with a "dscp-unavailable" > > error." > > > > This seems fine to me. The point, as far as I can see, is that a DSCP > > parameter must not be applied to a session (or subscription) that > > didn't "ask" for it. This is enough of a rationale IMHO, no need to go > > into the details of what the result may or may not be as far as reordering of > packets goes. > > Thanks Per, this works for me. > > Eric > > > --Per > > > > > Eric > > > > > >> I suggest simply dropping the "This will avoid ..." sentence. > > >> > > >> --Per > > >> > > >>> Eric > > >>> > > >>>> I think such text belongs to the SN document, since it may apply > > >>>> to other transports than just NETCONF. > > >>>> > > >>>> > > >>>> /martin > > >>>> > > >>>> > > >>>> > > >>>>> With this text, a RESTCONF publisher can support the feature dscp. > > >>>>> And if someone attempts to use dscp with a NETCONF subscription > > >>>>> to the same publisher, the error "dscp-unavailable" can be sent. > > >>>>> > > >>>>> Eric > > >>>>> > > >>>>> > > >>>>> ... > > >>>>>> /martin > > >>>>> > > >>> > > >>> _______________________________________________ > > >>> netconf mailing list > > >>> netconf@ietf.org > > >>> https://www.ietf.org/mailman/listinfo/netconf > > >>> > > >
- [Netconf] Yangdoctors last call review of draft-i… Andy Bierman
- Re: [Netconf] Yangdoctors last call review of dra… Eric Voit (evoit)
- Re: [Netconf] Yangdoctors last call review of dra… Andy Bierman
- Re: [netconf] Yangdoctors last call review of dra… Eric Voit (evoit)
- Re: [netconf] Yangdoctors last call review of dra… Mehmet Ersue
- Re: [netconf] Yangdoctors last call review of dra… Andy Bierman
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Andy Bierman
- Re: [netconf] Yangdoctors last call review of dra… Andy Bierman
- Re: [netconf] Yangdoctors last call review of dra… Eric Voit (evoit)
- Re: [netconf] Yangdoctors last call review of dra… Andy Bierman
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Andy Bierman
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Andy Bierman
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Andy Bierman
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Martin Bjorklund
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Per Hedeland
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Per Hedeland
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)
- Re: [netconf] [yang-doctors] Yangdoctors last cal… Eric Voit (evoit)