summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-network-instance@2019-01-21.yang
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-network-instance@2019-01-21.yang')
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-network-instance@2019-01-21.yang272
1 files changed, 272 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-network-instance@2019-01-21.yang b/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-network-instance@2019-01-21.yang
new file mode 100644
index 000000000..f52375a2c
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/test/resources/currentRevision/ietf-network-instance@2019-01-21.yang
@@ -0,0 +1,272 @@
+module ietf-network-instance {
+ yang-version 1.1;
+ namespace "urn:ietf:params:xml:ns:yang:ietf-network-instance";
+ prefix ni;
+
+ import ietf-interfaces {
+ prefix if;
+ reference
+ "RFC 8343: A YANG Data Model for Interface Management";
+ }
+ import ietf-ip {
+ prefix ip;
+ reference
+ "RFC 8344: A YANG Data Model for IP Management";
+ }
+ import ietf-yang-schema-mount {
+ prefix yangmnt;
+ reference
+ "RFC 8528: YANG Schema Mount";
+ }
+
+ organization
+ "IETF Routing Area (rtgwg) Working Group";
+ contact
+ "WG Web: <https://datatracker.ietf.org/wg/rtgwg>
+ WG List: <mailto:rtgwg@ietf.org>
+
+ Author: Lou Berger
+ <mailto:lberger@labn.net>
+ Author: Christian Hopps
+ <mailto:chopps@chopps.org>
+ Author: Acee Lindem
+ <mailto:acee@cisco.com>
+ Author: Dean Bogdanovic
+ <mailto:ivandean@gmail.com>";
+ description
+ "This module is used to support multiple network instances
+ within a single physical or virtual device. Network
+ instances are commonly known as VRFs (VPN Routing and
+ Forwarding) and VSIs (Virtual Switching Instances).
+ The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
+ 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
+ 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document
+ are to be interpreted as described in BCP 14 (RFC 2119)
+ (RFC 8174) when, and only when, they appear in all capitals,
+ as shown here.
+
+ Copyright (c) 2019 IETF Trust and the persons identified as
+ authors of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or
+ without modification, is permitted pursuant to, and subject
+ to the license terms contained in, the Simplified BSD
+ License set forth in Section 4.c of the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info).
+
+ This version of this YANG module is part of RFC 8529; see
+ the RFC itself for full legal notices.";
+
+ revision 2019-01-21 {
+ description
+ "Initial revision.";
+ reference
+ "RFC 8529";
+ }
+
+ container network-instances {
+ description
+ "Network instances, each of which consists of
+ VRFs and/or VSIs.";
+ reference
+ "RFC 8349: A YANG Data Model for Routing Management";
+ list network-instance {
+ key "name";
+ description
+ "List of network instances.";
+ leaf name {
+ type string;
+ mandatory true;
+ description
+ "device-scoped identifier for the network
+ instance.";
+ }
+ leaf enabled {
+ type boolean;
+ default "true";
+ description
+ "Flag indicating whether or not the network
+ instance is enabled.";
+ }
+ leaf description {
+ type string;
+ description
+ "Description of the network instance
+ and its intended purpose.";
+ }
+ choice ni-type {
+ description
+ "This node serves as an anchor point for different types
+ of network instances. Each 'case' is expected to
+ differ in terms of the information needed in the
+ parent/core to support the NI and may differ in their
+ mounted-schema definition. When the mounted schema is
+ not expected to be the same for a specific type of NI,
+ a mount point should be defined.";
+ }
+ choice root-type {
+ mandatory true;
+ description
+ "Well-known mount points.";
+ container vrf-root {
+ yangmnt:mount-point "vrf-root" {
+ description
+ "Root for L3VPN-type models. This will typically
+ not be an inline-type mount point.";
+ }
+ description
+ "Container for mount point.";
+ }
+ container vsi-root {
+ yangmnt:mount-point "vsi-root" {
+ description
+ "Root for L2VPN-type models. This will typically
+ not be an inline-type mount point.";
+ }
+ description
+ "Container for mount point.";
+ }
+ container vv-root {
+ yangmnt:mount-point "vv-root" {
+ description
+ "Root models that support both L2VPN-type bridging
+ and L3VPN-type routing. This will typically
+ not be an inline-type mount point.";
+ }
+ description
+ "Container for mount point.";
+ }
+ }
+ }
+ }
+
+ augment "/if:interfaces/if:interface" {
+ description
+ "Add a node for the identification of the network
+ instance associated with the information configured
+ on a interface.
+
+ Note that a standard error will be returned if the
+ identified leafref isn't present. If an interface cannot
+ be assigned for any other reason, the operation SHALL fail
+ with an error-tag of 'operation-failed' and an
+ error-app-tag of 'ni-assignment-failed'. A meaningful
+ error-info that indicates the source of the assignment
+ failure SHOULD also be provided.";
+ leaf bind-ni-name {
+ type leafref {
+ path "/network-instances/network-instance/name";
+ }
+ description
+ "Network instance to which an interface is bound.";
+ }
+ }
+ augment "/if:interfaces/if:interface/ip:ipv4" {
+ description
+ "Add a node for the identification of the network
+ instance associated with the information configured
+ on an IPv4 interface.
+
+ Note that a standard error will be returned if the
+ identified leafref isn't present. If an interface cannot
+ be assigned for any other reason, the operation SHALL fail
+ with an error-tag of 'operation-failed' and an
+ error-app-tag of 'ni-assignment-failed'. A meaningful
+ error-info that indicates the source of the assignment
+ failure SHOULD also be provided.";
+ leaf bind-ni-name {
+ type leafref {
+ path "/network-instances/network-instance/name";
+ }
+ description
+ "Network instance to which IPv4 interface is bound.";
+ }
+ }
+ augment "/if:interfaces/if:interface/ip:ipv6" {
+ description
+ "Add a node for the identification of the network
+ instance associated with the information configured
+ on an IPv6 interface.
+
+ Note that a standard error will be returned if the
+ identified leafref isn't present. If an interface cannot
+ be assigned for any other reason, the operation SHALL fail
+ with an error-tag of 'operation-failed' and an
+ error-app-tag of 'ni-assignment-failed'. A meaningful
+ error-info that indicates the source of the assignment
+ failure SHOULD also be provided.";
+ leaf bind-ni-name {
+ type leafref {
+ path "/network-instances/network-instance/name";
+ }
+ description
+ "Network instance to which IPv6 interface is bound.";
+ }
+ }
+
+ notification bind-ni-name-failed {
+ description
+ "Indicates an error in the association of an interface to an
+ NI. Only generated after success is initially returned when
+ bind-ni-name is set.
+
+ Note: Some errors may need to be reported for multiple
+ associations, e.g., a single error may need to be reported
+ for an IPv4 and an IPv6 bind-ni-name.
+
+ At least one container with a bind-ni-name leaf MUST be
+ included in this notification.";
+ leaf name {
+ type leafref {
+ path "/if:interfaces/if:interface/if:name";
+ }
+ mandatory true;
+ description
+ "Contains the interface name associated with the
+ failure.";
+ }
+ container interface {
+ description
+ "Generic interface type.";
+ leaf bind-ni-name {
+ type leafref {
+ path "/if:interfaces/if:interface/ni:bind-ni-name";
+ }
+ description
+ "Contains the bind-ni-name associated with the
+ failure.";
+ }
+ }
+ container ipv4 {
+ description
+ "IPv4 interface type.";
+ leaf bind-ni-name {
+ type leafref {
+ path "/if:interfaces/if:interface/ip:ipv4/ni:bind-ni-name";
+ }
+ description
+ "Contains the bind-ni-name associated with the
+ failure.";
+ }
+ }
+ container ipv6 {
+ description
+ "IPv6 interface type.";
+ leaf bind-ni-name {
+ type leafref {
+ path "/if:interfaces/if:interface/ip:ipv6/ni:bind-ni-name";
+ }
+ description
+ "Contains the bind-ni-name associated with the
+ failure.";
+ }
+ }
+ leaf error-info {
+ type string;
+ description
+ "Optionally, indicates the source of the assignment
+ failure.";
+ }
+ }
+} \ No newline at end of file