draft-ietf-nvo3-yang-cfg-00.txt   draft-ietf-nvo3-yang-cfg-01.txt 
INTERNET-DRAFT B. Liu, Ed. INTERNET-DRAFT B. Liu, Ed.
Intended Status: Standards Track Huawei Intended Status: Standards Track Huawei
R. Chen R. Chen
ZTE ZTE
F. Qin F. Qin
China Mobile China Mobile
R. Rahman R. Rahman
Cisco Cisco
Expires: April 10, 2020 October 8, 2019 Expires: May 7, 2020 November 4, 2019
Base YANG Data Model for NVO3 Protocols Base YANG Data Model for NVO3 Protocols
draft-ietf-nvo3-yang-cfg-00.txt draft-ietf-nvo3-yang-cfg-01.txt
Abstract Abstract
This document describes the base YANG data model that can be used by This document describes the base YANG data model that can be used by
operators to configure and manage Network Virtualization Overlay operators to configure and manage Network Virtualization Overlay
protocols. The model is focused on the common configuration protocols. The model is focused on the common configuration
requirement of various encapsulation options, such as VXLAN, NVGRE, requirement of various encapsulation options, such as VXLAN, NVGRE,
GENEVE and VXLAN-GPE. Using this model as a starting point, GENEVE and VXLAN-GPE. Using this model as a starting point,
incremental work can be done to satisfy the requirement of a specific incremental work can be done to satisfy the requirement of a specific
encapsulation. encapsulation.
skipping to change at page 5, line 46 skipping to change at page 5, line 46
3.3. Statistics 3.3. Statistics
Operators can determine whether a NVE should gather statistic values Operators can determine whether a NVE should gather statistic values
on a per-VNI basis. An enabler is contained in the 'static' list as on a per-VNI basis. An enabler is contained in the 'static' list as
'statistic-enable' leaf. If the gathering for a VNI is enabled, the 'statistic-enable' leaf. If the gathering for a VNI is enabled, the
statistical information about the local NVEs, the remote NVEs, the statistical information about the local NVEs, the remote NVEs, the
flows and the MAC addresses will be collected by the NVEs in this flows and the MAC addresses will be collected by the NVEs in this
VNI. VNI.
3.3. Model Structure 3.3. Model Structure
module: ietf-nvo3 module: ietf-nvo3-base
+--rw nvo3 +--rw nvo3
| +--rw vni-instances | +--rw vni-instances
| +--rw vni-instance* [vni-id] | +--rw vni-instance* [vni-id]
| +--rw vni-id uint32 | +--rw vni-id uint32
| +--rw vni-mode enumeration | +--rw vni-mode enumeration
| +--rw source-nve if:interface-ref | +--rw source-nve if:interface-ref
| +--rw protocol-bgp? boolean | +--rw protocol-bgp? boolean
| +--ro status? vni-status-type | +--ro status? vni-status-type
| +--rw static-ipv4-peers | +--rw static-ipv4-peers
| | +--rw static-peer* [peer-ip] | | +--rw static-peer* [peer-ip]
skipping to change at page 8, line 21 skipping to change at page 8, line 21
+---w input +---w input
+---w vni-id uint32 +---w vni-id uint32
+---w mode vni-type +---w mode vni-type
+---w peer-ip inet:ipv4-address-no-zone +---w peer-ip inet:ipv4-address-no-zone
+---w direction direction-type +---w direction direction-type
Figure 3.2. The tree structure of YANG module for NVO3 configuration Figure 3.2. The tree structure of YANG module for NVO3 configuration
3.4. YANG Module 3.4. YANG Module
<CODE BEGINS> file "ietf-nvo3-base@2019-07-01.yang" <CODE BEGINS> file "ietf-nvo3-base@2019-11-04.yang"
module ietf-nvo3 { module ietf-nvo3-base {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-nvo3"; namespace "urn:ietf:params:xml:ns:yang:ietf-nvo3";
prefix "nvo3"; prefix "nvo3";
import ietf-network-instance { import ietf-network-instance {
prefix "ni"; prefix "ni";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix "if";
skipping to change at page 8, line 51 skipping to change at page 8, line 51
} }
import ietf-bgp-l3vpn { import ietf-bgp-l3vpn {
prefix "l3vpn"; prefix "l3vpn";
} }
organization "ietf"; organization "ietf";
contact "ietf"; contact "ietf";
description "Yang model for NVO3"; description "Yang model for NVO3";
revision 2019-11-04 {
description
"Cleaning non ietf-bgp-l3vpn related errors";
reference
"";
}
revision 2019-04-01 { revision 2019-04-01 {
description description
"Init revision"; "Init revision";
reference reference
""; "";
} }
typedef vni-status-type { typedef vni-status-type {
type enumeration { type enumeration {
enum "up" { enum "up" {
skipping to change at page 11, line 35 skipping to change at page 11, line 43
container nvo3 { container nvo3 {
description description
"Management of NVO3."; "Management of NVO3.";
container vni-instances { container vni-instances {
description description
"The confiuration and information table of the VNI."; "The confiuration and information table of the VNI.";
list vni-instance { list vni-instance {
key "vni-id"; key "vni-id";
must "(/if:interfaces/if:interface[if:name = current()/source_nve]/if:type = 'Nve')"; must "(/if:interfaces/if:interface[if:name=current()/source-nve]/if:type='Nve')";
description description
"The confiuration and information of the VNI."; "The confiuration and information of the VNI.";
leaf vni-id { leaf vni-id {
type uint32 { type uint32 {
range "1..16777215"; range "1..16777215";
} }
description description
"The id of VNI."; "The id of VNI.";
} }
leaf vni-mode { leaf vni-mode {
skipping to change at page 18, line 41 skipping to change at page 18, line 47
config false; config false;
description description
"The name of VPN instance."; "The name of VPN instance.";
} }
} }
} }
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
description description
"Augment the interface, NVE as an interface."; "Augment the interface, NVE as an interface.";
when "if:type = 'Nve'";
container nvo3-nve { container nvo3-nve {
when "if:interfaces/if:interface/if:type = 'Nve'";
description description
"Network virtualization edge."; "Network virtualization edge.";
leaf source-vtep-ip { leaf source-vtep-ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
description description
"The source address of the NVE interface."; "The source address of the NVE interface.";
} }
leaf source-vtep-ipv6 { leaf source-vtep-ipv6 {
type inet:ipv6-address-no-zone; type inet:ipv6-address-no-zone;
description description
skipping to change at page 19, line 37 skipping to change at page 19, line 44
description description
"The type of the NVE interface."; "The type of the NVE interface.";
} }
leaf peer-ip { leaf peer-ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
description description
"IP address of the remote VTEP."; "IP address of the remote VTEP.";
} }
leaf direction { leaf direction {
type direction-type; type direction-type;
must "(./mode='l3' and ./bound!='bidirection')"; must "(../mode='l3' and ../direction!='bidirection')";
description description
"Traffic statistics type about the VXLAN tunnel."; "Traffic statistics type about the VXLAN tunnel.";
} }
container info { container info {
config false; config false;
description description
"Traffic statistics about the peer."; "Traffic statistics about the peer.";
leaf rx-pkts { leaf rx-pkts {
type uint64; type uint64;
config false; config false;
description description
"Total number of received packets."; "Total number of received packets.";
} }
leaf rx-bytes { leaf rx-bytes {
type uint64; type uint64;
config false; config false;
description description
skipping to change at page 22, line 4 skipping to change at page 22, line 11
description description
"Number of bits sent per second."; "Number of bits sent per second.";
} }
leaf tx-pkt-per-sec { leaf tx-pkt-per-sec {
type uint64; type uint64;
config false; config false;
description description
"Number of packets sent per second."; "Number of packets sent per second.";
} }
} }
} }
} }
} }
container nvo3-gateway { container nvo3-gateway {
when "if:interfaces/if:interface/if:type = 'Vbdif'"; when "/if:interfaces/if:interface/if:type = 'Vbdif'";
description description
"Enable anycast gateway."; "Enable anycast gateway.";
leaf vxlan-anycast-gateway { leaf vxlan-anycast-gateway {
type boolean; type boolean;
default "false"; default "false";
description description
"Enable vxlan anycast gateway."; "Enable vxlan anycast gateway.";
} }
} }
} }
skipping to change at page 24, line 18 skipping to change at page 24, line 25
"The type of vni memeber statistic."; "The type of vni memeber statistic.";
} }
leaf peer-ip { leaf peer-ip {
type inet:ipv4-address-no-zone; type inet:ipv4-address-no-zone;
mandatory true; mandatory true;
description description
"IP address of the remote NVE interface."; "IP address of the remote NVE interface.";
} }
leaf direction{ leaf direction{
type direction-type; type direction-type;
must "(./mode='mode-l3' and ./bound!='bidirection')"; must "(../mode='l3' and ../direction!='bidirection')";
mandatory true; mandatory true;
description description
"Traffic statistics type about the VXLAN tunnel."; "Traffic statistics type about the VXLAN tunnel.";
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
 End of changes. 13 change blocks. 
11 lines changed or deleted 18 lines changed or added

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