Re: [Netconf] configuration models status and timeline

Andy Bierman <andy@yumaworks.com> Wed, 18 July 2018 18:01 UTC

Return-Path: <andy@yumaworks.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 816AA130FFF for <netconf@ietfa.amsl.com>; Wed, 18 Jul 2018 11:01:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-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=yumaworks-com.20150623.gappssmtp.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 O9DMNkbk27Ew for <netconf@ietfa.amsl.com>; Wed, 18 Jul 2018 11:01:47 -0700 (PDT)
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0AF32130FF9 for <netconf@ietf.org>; Wed, 18 Jul 2018 11:01:44 -0700 (PDT)
Received: by mail-lj1-x22c.google.com with SMTP id v9-v6so4880584ljk.4 for <netconf@ietf.org>; Wed, 18 Jul 2018 11:01:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=UvnE5q695zdS5nqwao+GyVrX8ZUSeq3mOF+X4S4ygak=; b=gilAbTEHf/NCNAiBA9vUXYekoG2TEaQwStTeo9JWna0r+lVvBKJLT4Ax7yoXEEGJwD X2iy37eUyj81e5x3FXrwtZocLyarG+HHVnDxk5RFP87yMGTTHArCNDD9ndBJy1frzJ8B +WgS+DubyHYTAb4kaW5P5vzi+pzazTpcRwCCwcYmxLwXZmeYahzpd2IfLpC4kZXUwPxo JYKEnFG06/XVEZ/WCjnMV4lxN+9ekN4CKUIZzfp+wsLupx7zb7WkC5iEZpaKCJSy+JpC nMUFDMdWpmcbvVWsM6zCBoan9OoqNsoj3mv2Eec3NL8xLZkBxbkMBVK259d0a6VPwtRO VyfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=UvnE5q695zdS5nqwao+GyVrX8ZUSeq3mOF+X4S4ygak=; b=ZaUprH5GRR94m1m+ty6v6qgydMlNsBuxqBZ7kwk7cfYqp4y0YV9jVDupuQ0IRcbupA QW+uNisBXpqqB40Ac0VpKrYjYn3eNKqit5OszsTobIIJEg6TwVOAEx0SWGv6khCG+AlG I93NGXXem4a3M6fABsdBblzkh6AhwmVxQCcfzP5yukalreXWGLaPYzsHW1RlZlUrHwzv liMg16b2ponO0pAL5nRmNB3qp+FB9z3GEyQKZxEs+Kh84WTdcRnFvA6t27J4xfUquqUs riHuSFC5z0xO3ZJBwIsC+kDljceLjxUl/CPOoDvr2ZsCnxWiu5VUVomGvki9VqEMmJG6 SI8w==
X-Gm-Message-State: AOUpUlEDiz79WvRqro3G+oYkhVHzUji0eR2udN1QHSz2JwxzPwwUI6zg OIr450L+M4mtkZ/uKVvtEcSYHuYK3nPHfWxa5HofnA==
X-Google-Smtp-Source: AAOMgpcj+V7z4qJCJiZoVDoPQR4FUoiwF0V6z1RmMyVOpYgjRUoDPzg0RaA9d1OA/GcoF+a+mUl07abXVfNrR/Gq0H4=
X-Received: by 2002:a2e:4401:: with SMTP id r1-v6mr5581099lja.21.1531936902292; Wed, 18 Jul 2018 11:01:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:aa46:0:0:0:0:0 with HTTP; Wed, 18 Jul 2018 11:01:41 -0700 (PDT)
In-Reply-To: <20180718150228.e2vcccd34sivmz3h@anna.jacobs.jacobs-university.de>
References: <20180718112108.hqgetzfebhqpdpsk@anna.jacobs.jacobs-university.de> <AD20F795-CBD3-4054-BD09-4F7DD45CFACB@juniper.net> <20180718150228.e2vcccd34sivmz3h@anna.jacobs.jacobs-university.de>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 18 Jul 2018 11:01:41 -0700
Message-ID: <CABCOCHTtfTNCJiT-aU96sVrzm2-pHFGi5eATvKcTbdbQ-Whd1A@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Kent Watsen <kwatsen@juniper.net>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e13100057149da68"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/HxJSwkpjexD3Uhl8kx_W1yJ52WY>
Subject: Re: [Netconf] configuration models status and timeline
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.27
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: Wed, 18 Jul 2018 18:01:56 -0000

On Wed, Jul 18, 2018 at 8:02 AM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Wed, Jul 18, 2018 at 02:25:06PM +0000, Kent Watsen wrote:
> > Hi Juergen,
> >
> > Thanks for the analysis.  I was also thinking that it seems that just a
> couple issues were left, and then we could go to last call, potentially
> well within the timeframe needed for the YANG-push set of drafts.
> >
> > Regarding #4: I met with two Security+YANG folks from Huawei yesterday,
> who have agreed to help me with this issue.  We also plan to try to loop
> back in Gary Wu, who created the identities in the ietf-ssh/tls-common
> modules in the first place.  Our tentative plan is a meet in a couple weeks.
>
> Good. Sooner is better. ;-)
>
> > Regarding #6: my understanding (from Tim C. and Balazs L.) is to use
> some combination of a notification and an RPC to stimulate traffic.
> Presumably:
> >
> >   For when the NC/RC-client is the transport-initiator (normal):
> >
> >     - if there is a lull, the client could send a bogus RPC of
> >       some sort (e.g., an <edit-config> that selects nothing)
> >       and wait for the server sends an RPC-reply.
>
> Ideally, the keep alive would just be handled at the session layer. I am
> not sure where the NC spec allows
>
> C: <rpc message-id="101"
> C:      xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>
> S: <rpc-reply message-id="101"
> S:      xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>
>
> otherwise one could define a noop RPC (I am not sure invoking a fake
> edit-config is necessarily a good idea).
>


I prefer an <no-op> RPC for this purpose.
It would be better if the session counters were not affected,
but that would require protocol changes.
Causing error counters to increment for keep-alives is bad.


Andy


> >   For when the NC/RC-server is the transport-initiator (call-home):
> >
> >     - if there is a lull, the server could send a notification
> >       and wait for the client to send an RPC of some sort, which
> >       the server would, presumably, send a reply for, to complete
> >       the protocol transaction.  The downside to this approach
> >       is that it is wholly dependent on the client processing the
> >       notification correctly (i.e., it's not baked into the NC/RC
> >       protocols themselves).
>
> If you do call-home, there is still a client who could send keep alive
> messages. But yes, if you only stream notifications, then the server
> receives no feedback from the client in NETCONF (and I assume the same
> it true for RESTCONF notification streams).  So here it is easier to
> say "protocol keep alive" than it is to work out the details.
>
> >   As for removing keepalives altogether, please note the SHOULD
> >   in RFC 8071, S7.
>
> Yep, but this text is specific for TLS and SSH and it seems TLS
> libraries practically have an issue here.
>
> >   Another idea is to keep them, but add an
> >   enumeration called something like "protocol-layer" (which
> >   protocol layer should the keepalives occur) with a single
> >   built-in option ("crypto-layer"?) and then let some future
> >   module augment-in an additional enum like "app-layer".
>
> My point is that working out protocol layer keep alives is not as easy
> as it may sound (unless someone has a solution I can't think of) and
> the question is whether we want to hold off the documents until
> someone found a solution. It seems, we can define crypto layer
> keep-alives with a feature and then implementations will have to deal
> with this (for SSH this seems less an issue, so this affects NC over
> TLS primarily and also RC) and perhaps we can also define TCP layer
> keep-alives with a feature and with a warning attached to it (could be
> that the security ADs are OK with that if the warning makes the issues
> clear). For both keep-alives, we know how they would work.
>
> Protocol layer keep-alives are something new to be invented and it is
> somewhat unclear how they would work for the notification streaming
> case. It seems protocol layer keep-alives can be developed separately
> and then augmented in where the keep-alives are configured. A short
> RFC that details how the keep-alive messages work plus an augmentation
> of the configuration model (perhaps even just the definition of another
> identity).
>
> /js
>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>