< draft-cptb-grow-bmp-yang-01.txt   draft-cptb-grow-bmp-yang-02.txt >
GROW C. Cardona GROW C. Cardona
Internet-Draft P. Lucente Internet-Draft P. Lucente
Intended status: Standards Track NTT Intended status: Standards Track NTT
Expires: 8 September 2022 T. Graf Expires: 22 September 2022 T. Graf
Swisscom Swisscom
B. Claise B. Claise
Huawei Huawei
7 March 2022 21 March 2022
BMP YANG Module BMP YANG Module
draft-cptb-grow-bmp-yang-01 draft-cptb-grow-bmp-yang-02
Abstract Abstract
This document proposes a YANG module for BMP (BGP Monitoring This document proposes a YANG module for BMP (BGP Monitoring
Protocol) configuration and monitoring. A complementary RPC triggers Protocol) configuration and monitoring. A complementary RPC triggers
a refresh of the session of a BMP station. a refresh of the session of a BMP station.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 8 September 2022. This Internet-Draft will expire on 22 September 2022.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Model summary . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Model summary . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Base ietf-bmp YANG module . . . . . . . . . . . . . . . . . . 3 4. Base ietf-bmp YANG module . . . . . . . . . . . . . . . . . . 3
4.1. Tree View . . . . . . . . . . . . . . . . . . . . . . . . 3 4.1. Tree View . . . . . . . . . . . . . . . . . . . . . . . . 3
4.2. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 4 4.2. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 12 6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 13
7. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.2. The YANG Module Name Registration . . . . . . . . . . . . 14
8. Normative References . . . . . . . . . . . . . . . . . . . . 12 7. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 14
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 13 8. Normative References . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Terminology 1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
Routing Information Bases, peers, monitoring stations are defined in Routing Information Bases, peers, monitoring stations are defined in
skipping to change at page 3, line 40 skipping to change at page 3, line 45
data model. data model.
module: ietf-bmp module: ietf-bmp
+--rw bmp +--rw bmp
+--rw stations +--rw stations
| +--rw station* [id] | +--rw station* [id]
| +--rw id string | +--rw id string
| +--rw connection | +--rw connection
| | +--rw destination-address inet:ip-address | | +--rw destination-address inet:ip-address
| | +--rw local-address? inet:ip-address | | +--rw local-address? inet:ip-address
| | +--rw destination-port? inet:ip-address | | +--rw destination-port? inet:port-number
| +--rw bmp_session | +--rw bmp_session
| | +--rw initiation-message? string | | +--rw initiation-message? string
| | +--rw statistics-interval? uint32 | | +--rw statistics-interval? uint32
| +--rw bmp_sources | +--rw bmp_sources
| | +--rw adj-rib-in-pre | | +--rw adj-rib-in-pre
| | | +--rw enabled? boolean | | | +--rw enabled? boolean
| | | +--rw address-families | | | +--rw address-families
| | | +--rw address-family* [name] | | | +--rw address-family* [name]
| | | +--rw name leafref | | | +--rw name leafref
| | | +--rw peers* union | | | +--rw peers* union
skipping to change at page 4, line 24 skipping to change at page 4, line 29
| | | +--rw address-family* [name] | | | +--rw address-family* [name]
| | | +--rw name leafref | | | +--rw name leafref
| | | +--rw peers* union | | | +--rw peers* union
| | +--rw adj-rib-out-post | | +--rw adj-rib-out-post
| | +--rw enabled? boolean | | +--rw enabled? boolean
| | +--rw address-families | | +--rw address-families
| | +--rw address-family* [name] | | +--rw address-family* [name]
| | +--rw name leafref | | +--rw name leafref
| | +--rw peers* union | | +--rw peers* union
| +--rw session-stats | +--rw session-stats
| +--rw discontinuity-time
| | yang:date-and-time
| +--ro established-session? boolean | +--ro established-session? boolean
| +--ro total-route-monitoring-messages? uint32 | +--ro total-route-monitoring-messages? uint64
| +--ro total-statistics-messages? uint32 | +--ro total-statistics-messages? uint64
| +--ro total-peer-down-messages? uint32 | +--ro total-peer-down-messages? uint64
| +--ro total-peer-up-messages? uint32 | +--ro total-peer-up-messages? uint64
| +--ro total-initiation-messages? uint32 | +--ro total-initiation-messages? uint64
| +--ro total-route-mirroring-messages? uint32 | +--ro total-route-mirroring-messages? uint64
+--rw actions +--rw actions
+---x session-reset +---x session-reset
+---w input +---w input
| +---w station? -> /bmp/stations/station/id | +---w station? -> /bmp/stations/station/id
+--ro output +--ro output
+--ro (outcome)? +--ro (outcome)?
+--:(success) +--:(success)
| +--ro success? empty | +--ro success? empty
+--:(failure) +--:(failure)
+--ro failure? string +--ro failure? string
4.2. YANG Module 4.2. YANG Module
<CODE BEGINS> file "ietf-bmp@2022-01-27.yang" <CODE BEGINS> file "ietf-bmp@2022-01-27.yang"
module ietf-bmp { module ietf-bmp {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bmp"; namespace "urn:ietf:params:xml:ns:yang:ietf-bmp";
prefix ietf-bmp; prefix bmp;
import ietf-yang-types {
prefix yang;
}
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference reference
"RFC 6991: Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix rt; prefix rt;
reference reference
"RFC 8349, A YANG Data Model for Routing Management "RFC 8349, A YANG Data Model for Routing Management
skipping to change at page 5, line 14 skipping to change at page 5, line 29
prefix inet; prefix inet;
reference reference
"RFC 6991: Common YANG Data Types"; "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix rt; prefix rt;
reference reference
"RFC 8349, A YANG Data Model for Routing Management "RFC 8349, A YANG Data Model for Routing Management
(NMDA Version)."; (NMDA Version).";
} }
import ietf-bgp-types { import ietf-bgp-types {
prefix bt; prefix bt;
reference reference
"RFC XXXX, BGP YANG Model for Service Provider Network."; "RFC XXXX: BGP YANG module for Service Provider Network.
RFC-EDITOR: please update XXX with the RFC ID assigned
to I-D.ietf-idr-bgp-model";
} }
import ietf-bgp { import ietf-bgp {
prefix bgp; prefix bgp;
reference reference
"RFC XXXX: BGP YANG module for Service Provider Network."; "RFC XXXX: BGP YANG module for Service Provider Network.
RFC-EDITOR: please update XXX with the RFC ID assigned
to I-D.ietf-idr-bgp-model";
}
import ietf-netconf-acm {
prefix nacm;
reference
"RFC 8341: Network Configuration Access Control Model";
} }
organization organization
"IETF GROW Working Group"; "IETF GROW Working Group";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/grow/> "WG Web: <https://datatracker.ietf.org/wg/grow/>
WG List: <mailto:grow@ietf.org> WG List: <mailto:grow@ietf.org>
Author: Camilo Cardona Author: Camilo Cardona
<mailto:camilo@ntt.net> <mailto:camilo@ntt.net>
skipping to change at page 6, line 23 skipping to change at page 6, line 49
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 9196 This version of this YANG module is part of RFC 9196
(https://www.rfc-editor.org/info/rfc9196); see the RFC itself (https://www.rfc-editor.org/info/rfc9196); see the RFC itself
for full legal notices."; for full legal notices.";
revision 2022-01-27 { revision 2022-01-27 {
description description
"initial version"; "initial version";
reference reference
"[RFC-to-be]: BMP YANG Module"; "RFC YYYY: BMP YANG Module
RFC-EDITOR: please update YYYY with this RFC ID";
} }
typedef bmp-peer-types {
typedef bmp_peer_types {
type enumeration { type enumeration {
enum all_peers { enum all-peers {
value 10; value 10;
description description
"Selects all peers"; "Selects all peers.";
} }
} }
description description
"Enum values for peer selection specific for BMP"; "Enum values for peer selection specific for BMP. The
all-peers value is an explicit way of defining that the device
should send the updates from all peers to the station for
a particular RIB/AFI. The module also allows the selection
of individual peers (through its remote-address), or use the
bgp:peer-type to select the type of peers.";
} }
grouping bmp_ip_connection { grouping bmp-ip-connection {
description description
"common elements for defining connectivity "common elements for defining connectivity
to a bmp station"; to a bmp station";
leaf destination-address { leaf destination-address {
type inet:ip-address; type inet:ip-address;
mandatory true; mandatory true;
description description
"Destination IP address of station"; "Destination IP address of station";
} }
leaf local-address { leaf local-address {
type inet:ip-address; type inet:ip-address;
description description
"Local IP address to source connections"; "Local IP address to source connections";
} }
leaf destination-port { leaf destination-port {
type inet:ip-address; type inet:port-number;
description description
"Destination port for connections"; "Destination port for connections";
} }
} }
grouping bmp_peer_ribs_filter { grouping bmp-peer-ribs-filter {
description description
"Leaves for configuring RIBs where "Leaves for configuring RIBs where
origin/destination peers are well defined."; origin/destination peers are well defined.";
leaf enabled { leaf enabled {
type boolean; type boolean;
description description
"Enables the specified RIB"; "Enables the specified RIB";
} }
container address-families { container address-families {
description description
skipping to change at page 7, line 46 skipping to change at page 8, line 30
"Name of the address family"; "Name of the address family";
} }
leaf-list peers { leaf-list peers {
type union { type union {
type leafref { type leafref {
path "/rt:routing/rt:control-plane-protocols/" path "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bgp:bgp/" + "rt:control-plane-protocol/bgp:bgp/"
+ "bgp:neighbors/bgp:neighbor/bgp:remote-address"; + "bgp:neighbors/bgp:neighbor/bgp:remote-address";
} }
type bt:peer-type; type bt:peer-type;
type bmp_peer_types; type bmp-peer-types;
} }
description description
"Peers can be identified by a remote-address, "Peers can be identified by a remote-address,
or by a enum value corresponding to groups of peers. or by an enum value corresponding to groups of peers.
This way an operator can select all external peers, This way an operator can select all external peers,
all internal peers, or all peers."; all internal peers, or all peers.";
} }
} }
} }
} }
grouping bmp_route_monitoring_sources { grouping bmp-route-monitoring-sources {
description description
""; "";
container adj-rib-in-pre { container adj-rib-in-pre {
description description
"Configuration for the adj-rib-in pre-policy"; "Configuration for the adj-rib-in pre-policy";
uses bmp_peer_ribs_filter; reference
"RFC7854: BGP Monitoring Protocol (BMP), Section 2.";
uses bmp-peer-ribs-filter;
} }
container adj-rib-in-post { container adj-rib-in-post {
description description
"Configuration for the adj-rib-in post-policy"; "Configuration for the adj-rib-in post-policy";
uses bmp_peer_ribs_filter; reference
"RFC7854: BGP Monitoring Protocol (BMP), Section 2.";
uses bmp-peer-ribs-filter;
} }
container local-rib { container local-rib {
description description
"Configuration for the local-rib"; "Configuration for the local-rib";
reference
"RFC9069: Support for Local RIB in the BGP Monitoring
Protocol (BMP), Section 3.";
leaf enabled { leaf enabled {
type boolean; type boolean;
description description
"Enables the specified RIB"; "Enables the specified RIB";
} }
leaf-list address-families { leaf-list address-families {
type identityref { type identityref {
base bt:afi-safi-type; base bt:afi-safi-type;
} }
description description
"List of address families to enable for "List of address families to enable for
local-rib."; local-rib.";
} }
} }
container adj-rib-out-pre { container adj-rib-out-pre {
description description
"Configuration for the adj-rib-out pre-policy"; "Configuration for the adj-rib-out pre-policy";
uses bmp_peer_ribs_filter; uses bmp-peer-ribs-filter;
reference
"RFC8671: Support for Adj-RIB-Out in the BGP Monitoring
Protocol (BMP) , Section 3.";
} }
container adj-rib-out-post { container adj-rib-out-post {
description description
"Configuration for the adj-rib-out post-policy"; "Configuration for the adj-rib-out post-policy";
uses bmp_peer_ribs_filter; uses bmp-peer-ribs-filter;
reference
"RFC8671: Support for Adj-RIB-Out in the BGP Monitoring
Protocol (BMP) , Section 3.";
} }
} }
grouping bmp_session_options {
grouping bmp-session-options {
description description
"leaves for configuration of the bmp session"; "leaves for configuration of the bmp session";
leaf initiation-message { leaf initiation-message {
type string; type string;
description description
"User defined message to append to the "User defined message to append to the
initiation message"; initiation message";
} }
leaf statistics-interval { leaf statistics-interval {
type uint32; type uint32;
description description
"Default Interval for statistic message."; "Default Interval for statistic message.";
skipping to change at page 9, line 40 skipping to change at page 10, line 38
leaf id { leaf id {
type string; type string;
description description
"Identification string for the station"; "Identification string for the station";
} }
// Connection, missing tcp tuning params // Connection, missing tcp tuning params
// like keep-alives, segment sizes, etc. // like keep-alives, segment sizes, etc.
container connection { container connection {
description description
"Connection details for the station"; "Connection details for the station";
uses bmp_ip_connection; uses bmp-ip-connection;
} }
container bmp_session { container bmp_session {
description description
"BMP session options for the station"; "BMP session options for the station";
uses bmp_session_options; uses bmp-session-options;
} }
container bmp_sources { container bmp_sources {
description description
"Configuration of the data sources for the station"; "Configuration of the data sources for the station";
uses bmp_route_monitoring_sources; uses bmp-route-monitoring-sources;
} }
container session-stats { container session-stats {
description description
"stats and operational values for the station"; "stats and operational values for the station";
leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one
or more of this station's counters suffered a
discontinuity. If no such discontinuities have
occurred since the last re-initialization of the local
management subsystem, then this node contains the time
the local management subsystem re-initialized
itself.";
}
leaf established-session { leaf established-session {
type boolean; type boolean;
config false; config false;
description description
"Value indicating if the session is currently "Value indicating if the session is currently
established"; established";
} }
leaf total-route-monitoring-messages { leaf total-route-monitoring-messages {
type uint32; type uint64;
config false; config false;
description description
"Number of route-monitoring messages sent since last "Number of route-monitoring messages sent since last
successful connection"; successful connection";
} }
leaf total-statistics-messages { leaf total-statistics-messages {
type uint32; type uint64;
config false; config false;
description description
"Number of statistics messages sent since last "Number of statistics messages sent since last
successful connection"; successful connection";
} }
leaf total-peer-down-messages { leaf total-peer-down-messages {
type uint32; type uint64;
config false; config false;
description description
"Number of peer-down messages sent since last "Number of peer-down messages sent since last
successful connection"; successful connection";
} }
leaf total-peer-up-messages { leaf total-peer-up-messages {
type uint32; type uint64;
config false; config false;
description description
"Number of peer-up messages sent since last successful "Number of peer-up messages sent since last successful
connection"; connection";
} }
leaf total-initiation-messages { leaf total-initiation-messages {
type uint32; type uint64;
config false; config false;
description description
"Number of initiation messages sent since last "Number of initiation messages sent since last
successful connection"; successful connection";
} }
leaf total-route-mirroring-messages { leaf total-route-mirroring-messages {
type uint32; type uint64;
config false; config false;
description description
"Number of route-mirroring messages sent since last "Number of route-mirroring messages sent since last
successful connection"; successful connection";
} }
} }
} }
} }
container actions { container actions {
nacm:default-deny-all;
description description
"Container with the actions for the BMP operation"; "Container with the actions for the BMP operation";
action session-reset { action session-reset {
description description
"Resets the session for a station."; "Resets the session for a station.";
input { input {
leaf station { leaf station {
type leafref { type leafref {
path "/bmp/stations/station/id"; path "/bmp/stations/station/id";
} }
skipping to change at page 12, line 13 skipping to change at page 13, line 24
<CODE ENDS> <CODE ENDS>
5. Security Considerations 5. Security Considerations
The YANG module specified in this document defines a schema for data The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols such that is designed to be accessed via network management protocols such
as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer
is the secure transport layer, and the mandatory-to-implement secure is the secure transport layer, and the mandatory-to-implement secure
transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer
is HTTPS, and the mandatory-to-implement secure transport is TLS is HTTPS, and the mandatory-to-implement secure transport is TLS
[RFC8446]. [RFC8446]. The NETCONF Access Control Model (NACM) [RFC8341]
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content.
BGP data is sensible for security considerations. The model BGP data is sensible for security considerations. The model
described in this document could be used to send BGP information to described in this document could be used to send BGP information to
malicious BMP stations. Write access to this model should therefore malicious BMP stations. Write access to this model should therefore
be properly protected. be properly protected.
The session-reset action can demand considerable amount of resources The session-reset action can demand considerable amount of resources
from network elements. It should thus be protected from illegal from network elements. It should thus be protected from illegal
access. access.
6. IANA Considerations 6. IANA Considerations
6.1. The IETF XML Registry 6.1. The IETF XML Registry
This document registers two URIs in the IETF XML registry [RFC3688]. This document registers a URIs in the IETF XML registry [RFC3688].
Following the format in [RFC3688], the following registrations are Following the format in [RFC3688], the following registrations are
requested: requested:
URI: urn:ietf:params:xml:ns:yang:ietf-bmp URI: urn:ietf:params:xml:ns:yang:ietf-bmp
Registrant Contact: The NETCONF WG of the IETF. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
6.2. The YANG Module Name Registration
This document registers the following YANG module in the " YANG
Module Names" registry registry [RFC6020]:
Name: ietf-bmp
Namespace: urn:ietf:params:xml:ns:yang:ietf-bmp
Prefix: bmp
Reference: [This RFC-to-be]
7. Open Issues 7. Open Issues
Shall we copy the TCP tuning and security parameters from the BGP Shall we copy the TCP tuning and security parameters from the BGP
specifications? specifications?
The security considerations section will have to be aligned with The security considerations section will have to be aligned with
https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines
8. Normative References 8. Normative References
[I-D.ietf-idr-bgp-model]
Jethanandani, M., Patel, K., Hares, S., and J. Haas, "BGP
YANG Model for Service Provider Networks", Work in
Progress, Internet-Draft, draft-ietf-idr-bgp-model-13, 6
March 2022, <https://www.ietf.org/archive/id/draft-ietf-
idr-bgp-model-13.txt>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>.
[RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP
Monitoring Protocol (BMP)", RFC 7854, Monitoring Protocol (BMP)", RFC 7854,
DOI 10.17487/RFC7854, June 2016, DOI 10.17487/RFC7854, June 2016,
<https://www.rfc-editor.org/info/rfc7854>. <https://www.rfc-editor.org/info/rfc7854>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>. <https://www.rfc-editor.org/info/rfc8040>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
Access Control Model", STD 91, RFC 8341,
DOI 10.17487/RFC8341, March 2018,
<https://www.rfc-editor.org/info/rfc8341>.
[RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for
Routing Management (NMDA Version)", RFC 8349,
DOI 10.17487/RFC8349, March 2018,
<https://www.rfc-editor.org/info/rfc8349>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
Acknowledgements Acknowledgements
The authors would like to thank Pierre Vander Vorst for his review The authors would like to thank Pierre Vander Vorst and Tom Petch for
and feedback. their review and feedback.
Authors' Addresses Authors' Addresses
Camilo Cardona Camilo Cardona
NTT NTT
164-168, Carrer de Numancia 164-168, Carrer de Numancia
08029 Barcelona 08029 Barcelona
Spain Spain
Email: camilo@ntt.net Email: camilo@ntt.net
Paolo Lucente Paolo Lucente
 End of changes. 53 change blocks. 
54 lines changed or deleted 148 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/