Re: [netconf] [yang-doctors] Yangdoctors last call review of draft-ietf-netconf-subscribed-notifications-21

"Eric Voit (evoit)" <evoit@cisco.com> Fri, 25 January 2019 15:41 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 BE742130E70; Fri, 25 Jan 2019 07:41:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.643
X-Spam-Level:
X-Spam-Status: No, score=-14.643 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-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 Jg1PG_3YiTe9; Fri, 25 Jan 2019 07:41:50 -0800 (PST)
Received: from rcdn-iport-9.cisco.com (rcdn-iport-9.cisco.com [173.37.86.80]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 126C2130E6D; Fri, 25 Jan 2019 07:41:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4923; q=dns/txt; s=iport; t=1548430910; x=1549640510; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jUJLhwLcpLUMC39Yt8rPIRq1LxR0Xe8plu7rbyYS9Rk=; b=WwuosF7HLLiUq2x0L88NdXzkYj9xlHzom64bGz+Bh1RI66K/oUnFZrhp /Vi7UEUYw1JGQYS+0UhpHbLxu1sl4X345aXoJXHvpJ/rQ6rQaREIk6z/k bpjhY28spw63MJXK7tCcmVuLJ1gGsXmVC0bfzZqCOp2wJlWC6pxn6ckrH g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ADAACfLUtc/5tdJa1kGQEBAQEBAQEBAQEBAQcBAQEBAQGBUQQBAQEBAQsBgVopgWonCowRi3eCDZgHgXsLAQGEbAKDCiI0CQ0BAwEBAgEBAm0ohUoBAQEBAgE6PQIFCwIBCA4HAw0REDIlAgQOBQiCT4JFCKxGijGMQReBQD+BEYMShGuFVCICiUiCIJZQCQKLBYcbIJInmx4CERSBJx84gVZwFYMngicXE44KAUExig+BHwEB
X-IronPort-AV: E=Sophos;i="5.56,521,1539648000"; d="scan'208";a="424726828"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by rcdn-iport-9.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jan 2019 15:41:49 +0000
Received: from XCH-RTP-003.cisco.com (xch-rtp-003.cisco.com [64.101.220.143]) by rcdn-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id x0PFfmFr015743 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 25 Jan 2019 15:41:48 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-003.cisco.com (64.101.220.143) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 25 Jan 2019 10:41:48 -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; Fri, 25 Jan 2019 10:41:48 -0500
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "andy@yumaworks.com" <andy@yumaworks.com>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>, "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, "draft-ietf-netconf-subscribed-notifications.all@ietf.org" <draft-ietf-netconf-subscribed-notifications.all@ietf.org>
Thread-Topic: [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
Date: Fri, 25 Jan 2019 15:41:47 +0000
Message-ID: <9d4bbc12ddb448ca98fd8560a02565c5@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>
In-Reply-To: <20190125.162941.2222352349671950038.mbj@tail-f.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.143, xch-rtp-003.cisco.com
X-Outbound-Node: rcdn-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/JwxXXCqBR7G-ohffHwy_Dm8h8Lc>
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: Fri, 25 Jan 2019 15:41:52 -0000

> 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.

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
> >