Re: [Netconf] Subscription Use Cases

"Eric Voit (evoit)" <evoit@cisco.com> Fri, 16 December 2016 17:21 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 72D7C1296CD for <netconf@ietfa.amsl.com>; Fri, 16 Dec 2016 09:21:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.418
X-Spam-Level:
X-Spam-Status: No, score=-17.418 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.896, SPF_HELO_PASS=-0.001, 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 4Sgxuwo9w45p for <netconf@ietfa.amsl.com>; Fri, 16 Dec 2016 09:21:47 -0800 (PST)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3E1B31279EB for <netconf@ietf.org>; Fri, 16 Dec 2016 09:21:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6692; q=dns/txt; s=iport; t=1481908907; x=1483118507; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=NI8Yw/o0pvg2+rYEcVdrPJMIGteWQQLxBlADe/Jliok=; b=UEY5hL7tJwwYxvweOe/haysdk8fvUxrhqv5KE7ZDi7q0YERfGxjL4fuh bqHXC1qqby7lsenwTQwEYlsI2d2HclO+vET5RS3Azvh905kWF01V9X3Hh IrmaQTByUQBfO6llkKLhDzeTneu8rWL2m0nNXGqJ+g34ksAuLfIblPV14 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ATAQB5IVRY/5pdJa1cGQEBAQEBAQEBAQEBBwEBAQEBgzcBAQEBAR9agQYHjUeWV5UNggkqhXgCghg/FAECAQEBAQEBAWIohGgBAQECAQESKDYJBQsCAQgOBwMNERAyJQIEAQ0FCBMHiEEIDpoeAZAeix8BAQEBAQEBAQEBAQEBAQEBAQEBAQEYBYY2hFmEKoV3BZpwAYZRgxKHSIF9jlmHcIYphA4BHzeBIimDVByBXXIBh2+BDQEBAQ
X-IronPort-AV: E=Sophos;i="5.33,358,1477958400"; d="scan'208";a="173739027"
Received: from rcdn-core-3.cisco.com ([173.37.93.154]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Dec 2016 17:21:46 +0000
Received: from XCH-RTP-015.cisco.com (xch-rtp-015.cisco.com [64.101.220.155]) by rcdn-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id uBGHLjrj032718 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 16 Dec 2016 17:21:46 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-015.cisco.com (64.101.220.155) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 16 Dec 2016 12:21:45 -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.1210.000; Fri, 16 Dec 2016 12:21:45 -0500
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "andy@yumaworks.com" <andy@yumaworks.com>
Thread-Topic: [Netconf] Subscription Use Cases
Thread-Index: AQHSUTKNz0LSmZX5b0GYyl1Cgj0Ou6D+G3xggAGB64D///FKsIAAZEcAgAAdoYCAAAL2gIAKrZ7w
Date: Fri, 16 Dec 2016 17:21:45 +0000
Message-ID: <ca8c1f01dc02449baa1b516a8ce9d353@XCH-RTP-013.cisco.com>
References: <5e06ffa5d92a4227ae1d64bc8531ac40@XCH-RTP-013.cisco.com> <20161209.143306.1544319624979225814.mbj@tail-f.com> <CABCOCHSOB1WoWjkEOsSj_=5BQ2MMparS9EKBzzYqD_=wFVTdrQ@mail.gmail.com> <20161209.162945.891266044701376554.mbj@tail-f.com>
In-Reply-To: <20161209.162945.891266044701376554.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.232]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/cyS7uzR66UEIuZgrD-iZaXotmIQ>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Subject: Re: [Netconf] Subscription Use Cases
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Network Configuration WG mailing 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, 16 Dec 2016 17:21:50 -0000

> From: Martin Bjorklund, December 9, 2016 10:30 AM
> 
> Andy Bierman <andy@yumaworks.com> wrote:
> > On Fri, Dec 9, 2016 at 5:33 AM, Martin Bjorklund <mbj@tail-f.com> wrote:
> >
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > From: Martin Bjorklund, December 9, 2016 3:27 AM
> > > > >
> > > > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > > Hi Martin,
> > > > > >
> > > > > > > From: Martin Bjorklund, December 8, 2016 4:08 AM
> > > > > > >
> > > > > > > I think your requirements below are more like driving forces
> > > > > > > for YANG push, right?  Is there any of these that affects
> > > > > > > the solution in RFC 5277?
> > > > > >
> > > > > > The majority of these cases need yang-push.  But yang push is
> > > > > > only possible when the information is yang modeled.
> > > > >
> > > > > Sure, but that's a completely different thing.
> > > > >
> > > > > This discussion is about what needs to be done with RFC 5277.
> > > > > I'll
> > > re-iterate
> > > > > what Andy wrote once more:
> > > > >
> > > > >   What are the must-have, should-have, and nice-to-have features
> > > > > that
> > > are
> > > > >   missing from RFC 5277?
> > > >
> > > > At a high level incremental functionality we have been discussing
> > > > since
> > > IETF 94, 95, 96, 97 includes:
> > > > - configured subscriptions
> > > > - many subscriptions per transport
> > > > - modify and delete subscriptions
> > > > - control plane notifications
> > > > - Restconf & HTTP support
> > > > - Data plan notification including subscription-id
> > > >
> > > > At a medium level, existing documentation detailing these
> > > > requirements
> > > can be seen in places like:
> > > > https://www.ietf.org/proceedings/95/slides/slides-95-netconf-7.pdf
> > >  Slide 5
> > > > https://www.ietf.org/proceedings/96/slides/slides-96-netconf-5.pdf
> > >  Slides 5, 28
> > > > https://www.ietf.org/proceedings/97/slides/slides-
> > > 97-netconf-draft-ietf-netconf-yang-push-01.pdf  Slides 20 & 21
> > >
> > > I think the list above summarizes what's in the slides.
> > >
> > > So, let me re-order this list a bit:
> > >
> > > - configured subscriptions
> > > - many subscriptions per transport
> > >   - Data plan notification including subscription-id
> > >   - modify and delete subscriptions
> > >
> > > I don't view "control plane notifications" as a deficiency of 5277;
> > > it already has a few, and if new functionality requires us to define
> > > more control plane notifications, that's not a problem.
> > >
> > > As for "Restconf & HTTP support", RESTCONF already supports
> > > notifications, and there need to be a RESTCONF-specific solution in
> > > place.  I do agree that if we open 5277, we should make sure we have
> > > a small protocol-dependent part, and a generic, protocol-independent
> > > part.
> > >
> > > So there are really two (major) requirements:
> > >
> > >   1.  configured subscriptions
> > >   2.  many subscriptions per transport session
> > >
> > > Do you agree, or did I miss anything?
> > >
> > > (1) can be done completely backwards compatible; in fact it might
> > > not even require an update to 5277.
> > >
> > > (2) requires an update to the <notification> element, as discussed
> > > earlier.
> > >
> > > Did you want to make support for (2) mandatory to implement?  If so,
> > > we need to make :interleave mandatory, or remove it.
> > >
> > > Maybe it should be noted that when SSH is used, there really is no
> > > need for (2), since it is trivial and cheap to open new SSH channels.
> > > I thus assume that the reason for wanting to do (2) is that sessions
> > > are expensive when SSH is not used.
> > >
> > >
> >
> > Why are configured subscriptions needed if we have Call-home for both
> > NETCONF and RESTCONF?
> 
> The server must be told *when* to call home, right?  I assume that the
> configured subscriptions provides this; i.e., if a notif is generated for a
> configured subscription, and there is no active session, the server will call
> home.  The client can listen for a while and then hang up (I assume).  When a
> new notif is generated the server will call home again.  This does seem a bit
> complex, and I'm not sure it is needed.

Yes, the basic flow above is what we have been aiming to do.  For both configured and dynamic subscriptions, there are deployment types which benefit from reducing the number of active transport sessions.  This is easier to do with some transport types than others.

Call home helps secure devices by ensuring it is the network element which initiates a transport connection.  Call home is not needed for all types of configured subscriptions transport types, just those on NETCONF.  The reason NETCONF needs call home is that the NETCONF server must always be the Publisher, and therefore you need to signal the NETCONF client when there are updates to push should no transport currently exist.

HTTP2 & GRPC based protocols will have configured subscriptions on the publisher have their updates pushed via an HTTP Client.  So call home is not necessary in that environment. 

> But I don't think this solution is well documented in the current set of drafts.

We will get there :-)

Eric
 
> /martin
> 
> 
> > I prefer 1 mandatory-to-implement RPC instead of duplicated optional
> > solutions.
> > The new feature is really "server initiates notifications upon a
> > reboot", not "configured notifications".
> >
> >
> >
> > >
> > >
> > > /martin
> > >
> > >
> >
> > Andy
> >
> >
> > >
> > >
> > > >
> > > > At a detailed level, I2RS's RFC-7923 has functional requirements
> > > > for
> > > yang subscriptions. This is what was requested by the WG to be made
> > > available for event notifications.
> > > > as well as various WG meeting minutes.
> > > >
> > > > And of course the existing WG minutes, the four draft document
> > > appendices, and the Dezign team minutes at:
> > > > https://github.com/netconf-wg/yang-push/wiki/Minutes
> > > > Attempts to keep a running list of to-be-resolved dialogs.  Of
> > > > course
> > > there is a lag between dialogs and embodiment in the drafts.
> > > >
> > > > If anyone wants to propose a revision to the requirements, I
> > > > propose
> > > they do this as deltas from the existing documentation.
> > > >
> > > > Or course we in the WG can and should discuss and tweak any
> > > > specific
> > > requirement on this mailer based on ongoing learnings over time.
> > > >
> > > > Eric
> > > >
> > > > > /martin
> > > >
> > >