Skip to main content

Minutes IETF101: netconf
minutes-101-netconf-01

Meeting Minutes Network Configuration (netconf) WG
Date and time 2018-03-20 13:30
Title Minutes IETF101: netconf
State Active
Other versions plain text
Last updated 2018-05-10

minutes-101-netconf-01
Minutes for the NETCONF WG Session @ IETF 101
Tuesday, March 20, 2018 13:30-15:30
Afternoon Session I
Room: Sanringham

WG Chairs:
  Mahesh Jethanandani
  Kent Watsen

Available During Session:
  Audio stream:  http://ietf101streaming.dnsalias.net/ietf/ietf1017.m3u
  Etherpad:      http://etherpad.tools.ietf.org/p/notes-ietf-101-netconf
  Meetecho:      http://www.meetecho.com/ietf101/netconf/
  Jabber:        xmpp:netconf@jabber.ietf.org?join
  Slides:        https://datatracker.ietf.org/meeting/101/session/netconf

Available Post Session:
  Recording:     https://www.ietf.org/audio/ietf101/
  YouTube:       https://www.youtube.com/user/ietf/playlists

AC: Alex Clemm
BL: Balasz Lengyel
EV: Eric Voit
FX: Frank Xia Lian
IB: Igor Bryskin
JS: Jason Sterne
JSc: Juergen
KW: Kent Watsen
LB: Lou Berger
MB: Martin Bjorklund
MJ: Mahesh Jethanandani
QW: Qin Wu
RS: Rob Shakir
RT: Rick Taylor
RW: Robert Wilton
TC: Tim Carey
TP: Tom Petch

WG Chair Slides

Chairs: udp-pub-channel - what were the updates, given no recent discussion?
Were these discussion brought to the mailing list.

Chartered items

Kent Watsen (15 min):
Proposal for Refactoring the Keystore Model
https://tools.ietf.org/html/draft-ietf-netconf-keystore-04
https://tools.ietf.org/html/draft-kwatsen-netconf-crypto-types-00
https://tools.ietf.org/html/draft-kwatsen-netconf-trust-anchors-00

Kent presenting.
KW: Any volunteers to help editing keystore docs?
KW: -04 removed global store of public keys; so why is it called a keystore and
how might we fix it FX: Huawei employee, author of several drafts in SACM WG,
generally supports work, from Security Area, Will contribute.  Prefers 3, more
reasonable for time & discuss what should be included, many possibilities.
Should discuss how to work together, need RW: Prefers option 2. Publish now.
Worry about revisions down the line. EV: Supports Option 2 as well, supports
work going forwards. It might be useful to consider the trusted computing
group's definition of trust & anchor TP: Agrees with RW - against refactoring. 
thinks that refactoring is the cause for recent delays. TC: Agrees that we'd
like to move things along; but does'nt understand referencing w/ crypto toward
the anchoring, especially for ssh keys. Support publishing now. KW: It is a
mistake. Module does'nt currently have the trust anchor reference to crypto
types module

Eric Voit and Alex Clemm (20 min):
Update on YANG Push and Related Drafts

https://tools.ietf.org/html/draft-ietf-netconf-subscribed-notifications-10

Review Q #1:
MB: How is option 2 not redundant from the server list.
EV: Using string for receiver name (options 2 & 3) seems appropriate
MB: Prefers option 3. Feels address/port is redundant in option 2.
EV: There is desire for other dests other ports and some want to config it
directly MB: Option 3 is incomplete; relies on augmentation EV: Could have both
AC: how do we close.  Prefers option #2 KW: Please spin each question out as
its own thread email. EV: Will create a separate thread for this on the list. 
The option of doing either address & port as well as a future leafref to drive
the call home mechanism provides a choice.

Review Q #2:
EV: no objection to keeping "subscription-state-notif".  But needs list
confirmation.

Review Q #3:
JS: only takes effect on output of publisher?
EV: yes
JS: So how do you know to use it?
EV: If something is in queue, matches HTTP/2 behavior
JS: So a strict priority mechanism?
EV: yes. whether DSCP is an optional feature on its own, or should it be
optional in the mainline can be closed on the list

Review Q #4:
Option 2 chosen
EV: rename the yang-data containers will be done.

JS: Back several slides. Changes in authorization.  What granularity on auth
(filtering within a notification)? EV: With events do pass/fail test for what
event goes on what stream. JS: If it fails for some portion of an event, the
entire even is filtered? EV: Yes.  Yang push offers greater filtering
granularity JS: If subscription changes, its supposed to be immediate. If the
auth changes, it needs to notify event subsystem.  what happens with an
external auth server that might not do this (e.g., TACACS)? EV: Subscriptions
can either dynamically update or restart subscription to cause the auth to be
updated. JS: Does'nt really answer the question. EV: None of this addresses the
remote/tacacs server auth, external auth is out of scope in this doc, but
useful future work EV: Need to discuss on list.

https://tools.ietf.org/html/draft-ietf-netconf-yang-push-15

JS: What about remote permission reconciliation if off-box capabilities change?
EV: This is out of scope, and has impacts (and requires mechanisms) across all
of NETCONF, not just subscriptions

https://tools.ietf.org/html/draft-ietf-netconf-netconf-event-notifications-08

<no comments>

https://tools.ietf.org/html/draft-ietf-netconf-restconf-notif

KW: due to the DSCP having a relationship to HTTP/2, should the completion of
the LC on these drafts wait for at least a good review of the restconf-notif
draft to ensure alignment and implementability? EV: Sure that weighting and
dependency are implementable.  Staight mapping to HTTP/2.  There is code that
does this.

KW: When will notification drafts be ready for LC
EV: Waiting to find someone that knows gRPC well enough to ensure it is
interoperable with what we have.  Not sure how long that would take.  After 3
drafts complete WGLC, we can assess if we should wait anymore EV: Author
blockers remain primarily the desire to seamlessly integrate with GRPC.  We
know the QoS works based on HTTP2 behaviors.  Based on that a delay doesn't
seem necessary.

https://tools.ietf.org/html/draft-ietf-netconf-notification-messages

KW: Need to make sure issues are reflected prior to major updates to the draft.
EV: Thought it had been on list.  Look for a dialog from Henk Birkoltz, he is
building a new version and will need to socialize issues he wants to champion

KW: Also please update the import from rc:yang-data to new yang-data-ext
EV: happy to do that

RW: have to looked into the size of the data relative to, e.g., gRPC?  Seems
like a lot of header fields EV: Most is optional. Question of efficiency is
mostly relevant upon CBOR.  Thinks that identifying all the fields and then
determining what to do with them (e.g., bundling) makes sense. RW: Would be
interesting to see the size difference EV: agreed. RS: analysis is key.  we
have refactored a few times to improve.  done analysis about efficiency
(describing ofrmats, path/val w/ compression, etc). Have found a few different
approaches that provide better scalability.  Can share results

RW: Good to do an efficiency measure of different transports of this header
once the specification starts to settle

Non-Chartered items:

Igor Bryskin (10 min):
Generalized Network Control Automation YANG Model
https://tools.ietf.org/html/draft-bryskin-netconf-automation-yang-01

RT: Support work. Work in dtn wg, brought in by some of the space guys. Not
using NETCONF or NETMOD. They are doing it already. There is a whole body of
work. Lots of similarity. There is room for collaboration. We would like to the
work being done on ECAs and make it fit it with NETCONF and NETMOD. Grab me
afters and get some alignment.

TC: Has Juergen seen this?  Because in lmap they have created a YANG model that
does similar stuff. Some duplication of work. And the FSM model might address
some of this stuff. IB: Havent spoken to them.  Talked to Andy Bierman. He
feels this is a reasonable way to push ECAs. TC: I mean; go talk to LMAP WG
before going too deep. Tied into IPPM. KW: Agrees with Tim. Might want to
present it in NETMOD.

RT: Comment to the chairs. Clearly this is needed in more places; someone needs
to drive this work. Possibly in NETMOD.

Mahesh Jethanandani (10 min):
Binary Encoding for NETCONF
https://tools.ietf.org/html/draft-mahesh-netconf-binary-encoding-00

KW: If it is a dynamic subscription you pass in an encoding format. As a
configured subscription, you pass in both a encoding and a protocol. EV:
Impacts 5277, as it is not used to changes in notifications along the way. So
the breath of what is impacted includes dynamic if there is a change after the
subscription has started. MJ: So the agreement is that we will not be able to
support 5277.

MB: If you just encode just the payload, first of all you have to base encode
with base64. Then you have to open the RPC blob and do decoding of the base64
data. That does not match the XML schema defined in RFC 6241. The xml parser
has to be prepared to parse data that does not match the schema and decode it
to match the schema. The only way it would work would be to put the entire
encoding in a binary encoding including the message layer. And that goes for
notification also. If you change only the payload, it will be tricky. MJ: What
was influencing us is CBOR doesnt handle the messaging layer. So now in
addition, we will have to define CBOR encoding for the messaging layer.

RT: This might be a niave question. But if you are changing the encoding,
including the messaging layer, and I take your point about base64 encoding
within a XML layer, it is no longer NETCONF. It is another YANG supported
encoding. Why have different encodings for NETCONF rather than just say we will
do binary configuration? MJ: Has to do with the need to have a more compressed
format for data. KW: Rather change the encoding, switch the protocol. JS: I was
going to respond to it. You are still encoding NETCONF, just that you are using
binary format to encode them. It is NETCONF, just in a binary encoding. RT:
REST is the same. just different encoding.  keep the shape. Perhaps it is just
semantics. I do not see encoding the payload, but leave the messaging in its
original encoding. RS: Introducing the unmarshalling, what is the performance
of the underlying transport is at the same time. You are going to run into the
througput limit of the underlying transport. Why bother with encoding before
figuring out if it works well enough without KW: Primarily Its about high
througput or large messages for uses like like telemetry which makes me think
about YANG push.

<Lost Audio for remote participants and in the audio stream here for a good 5
min.>

MJ: the draft would have to be updated, so...
KW: whats the level interest for this work:  reason number of hands

<Audio came back, but may have missed comments. If you tried to comment, but
could not please indicate it here.>

Qin Wu (10 min):
NETCONF Base Notifications for NMDA
https://tools.ietf.org/html/draft-wu-netconf-base-notification-nmda-00

RW: worth agging push change is delta operation
QW: yes
TC: Should just be bis to nmda, since datastores missed. Should this be a bis
to that draft? Why would this just be a bis? KW: We do not need to decide this
now. This draft was published end of Feb. and there was no discussion on the
mailing list. It is being presented here, and so this would be something that
would have to be discussed as part of whether we want to adopt it as part of
the WG. RW: Would yang-push be a better generalized mechanism for doing this? I
question whether this is required. KW: It is a notification. And notifications
are pushed through YANG push. RW: Let me clarify. Whether you need a single
notification that something has changed in the operational datastore. Whether
it is better to have a generalized subscription on configuration nodes of the
datastore. That YANG push is a generalized mechanism for getting notification.
TC: To answer RW question, this is a case of a broken RFC. You missed this in
the datastores that are explicit in it. Fix the RFC. Second is you got a new
notification. You want to use the YANG push or use 5277, but that discussion
can go on the mailing list. But fix the RFC. BL: I see value in it. You are
trying to transfer information on who changed it, and other metadata like
origin. On the other hand you are missing the subscription, you will miss lot
of other data. Seems unnecessary to duplicate the functionality QW: Feels it
solves different problems. KW: Please take this to the list and then we can
choose to decide whether we are going to accept this work. QW: Ok.

Rob Shakir (10 min):
gRPC Network Management Interface (gNMI)
https://tools.ietf.org/html/draft-openconfig-rtgwg-gnmi-spec-00

RW: Is the time stamp entered by the hw?
RS: Yes, the target sets the time the data was collected.
LL: You mentioned the models do not have to be in YANG. Do you have other
formats? RS: Yes, we have some models in Protobufs. TC: How are dynamic
elements handled in the yang model conversion RS: Done in yang-aware models,
then serialized TC: So you lose the "meta data" RS: Separate idea of modeling
vs serialization, the modeling is kept ??

Alex Clemm (10 min):
Discrepancy detection between NMDA datastores
https://tools.ietf.org/html/draft-clemm-netconf-nmda-diff-02

LB: What new Proto methods are being defined?
AC: rpc to compare
LB: Should be in NETMOD WG since this is not a new protocol.  But useful.  ie:
move it to NETMOD? KW: ok? AC: Sure. KW: Who has read it?  <fair number> KW:
Here or NETMOD?  <NETMOD prevails>

Balasz Lengyel (10 min)
YANG Push Notification Capabilities
https://tools.ietf.org/html/draft-lengyel-netconf-notification-capabilities-00

BL: Asking for adoption
KW: Too soon; needs to be on the list and authors have too much work. Should
postpone. BL: Authors support it KW: I am sure they do. MJ: will they have
time? BL: suspect i will do majority, but that is a question.

Hauwei emp: Identifying which changes are significant.
BL: use can use parameters; this is about server capabilities to do it
AC: Think its useful and on the question of bandwidth, because this work was
pushed out of YANG push, it is here, and we will make the bandwidth. jabber
(Juergen): Is this right solution for the problem? BL: There was a simpler
solution with YANG extensions, that was not supported. That this is a good
solution to the problem. BC: I want on change notification for every single
variable I have in the router. Even the counters, because some of the counters
are important. I think this is important work. RS: Have same problem in gNMI.
Taken a different approach. Some counter should have notification on change. If
there a notification for a leaf or a set of leafs that it cannot send, it fails
the subscription. You have entered a world where you have a subscription which
cannot be met. That leads to questions of compliance. So I prefer we fail the
subscription. If you ask for a subscription, and the publisher cannot meet the
requirement, just fail the subscription. BL: orginially it was in schema, but
would cost runtime RS: Annotation in the schema is what can be supported. The
question I have is do you want to have the complexity of accepting a RPC that
you cannot meet. BL: i'm saying subscription for everything, but really meaning
for all but with these exception. So I am already limiting. RS: So the contract
of the RPC is not met. So our approach is that you the client get to decide
what you need, and the server can choose not to accept the RPC. It is clear to
the client that the RPC was not accepted. RW: Rob Shakir, what happens if you
cannot change on every change, but are able to do every 50 ms. How do you
indicate that to the client? RS: If you do give that information to the client,
it really does not know what to do with it. So it is better not to give it that
information. RW: So it more about what they are signing up for. RS: Does it
have to be validated. We do not need to carry that as part of the protocol.