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 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. MJ: the draft would have to be updated, so... KW: whats the level interest for this work: reason number of hands