+++ /dev/null
-/*
- Copyright 2019 Whitestack LLC
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-module ip-profiles {
- yang-version 1.1;
- namespace "urn:etsi:osm:yang:augments";
- prefix "ip-profiles";
-
- import etsi-nfv-nsd {
- prefix nsd;
- }
-
- import ietf-inet-types {
- prefix inet;
- }
-
- import etsi-nfv-descriptors {
- prefix nfv;
- }
-
- grouping extended-vld-protocol-data{
- container virtual-link-protocol-data {
- leaf associated-layer-protocol {
- type identityref {
- base nfv:layer-protocol;
- }
- description
- "One of the values of the attribute layerProtocol of
- the ConnectivityType IE.";
- reference
- "GS NFV IFA011: Section 7.1.8.13,
- VirtualLinkProtocolData information element.";
- }
-
- container l2-protocol-data {
- when "(../associated-layer-protocol = 'Ethernet') or " +
- "(../associated-layer-protocol = 'MPLS') or " +
- "(../associated-layer-protocol = 'ODU2') or " +
- "(../associated-layer-protocol = 'Pseudo-Wire')";
-
- leaf name {
- type string;
- description
- "Network name associated with this L2 protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.14,
- L2ProtocolData information element.";
- }
-
- leaf network-type {
- type enumeration {
- enum flat;
- enum vlan;
- enum vxlan;
- enum gre;
- }
- description
- "Specifies the network type for this L2 protocol.
- Possible values: FLAT, VLAN, VXLAN, GRE.";
- reference
- "GS NFV IFA011: Section 7.1.8.14,
- L2ProtocolData information element.";
- }
-
- leaf vlan-transparent {
- type boolean;
- description
- "Specifies whether to support VLAN transparency for
- this L2 protocol or not.";
- reference
- "GS NFV IFA011: Section 7.1.8.14,
- L2ProtocolData information element.";
- }
-
- leaf mtu {
- type uint16;
- description
- "Specifies the maximum transmission unit (MTU) value
- for this L2 protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.14,
- L2ProtocolData information element.";
- }
- description
- "Specifies the L2 protocol data for this virtual link.
- Shall be present when the associatedLayerProtocol
- attribute indicates a L2 protocol and shall be absent
- otherwise.";
- reference
- "GS NFV IFA011: Section 7.1.8.13,
- VirtualLinkProtocolData information element.";
- }
-
- container l3-protocol-data {
- when "(../associated-layer-protocol = 'IPv4') or " +
- "(../associated-layer-protocol = 'IPv6')";
-
- leaf name {
- type string;
- description
- "Network name associated with this L3 protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
-
- leaf ip-version {
- type enumeration {
- enum ipv4;
- enum ipv6;
- }
- default "ipv4";
- description
- "Specifies IP version of this L3 protocol.
- Value:
- • IPV4.
- • IPV6.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
-
- leaf cidr {
- type string;
- description
- "Specifies the CIDR (Classless InterDomain Routing)
- of this L3 protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
-
- leaf-list ip-allocation-pools {
- type string;
- description
- "Specifies the allocation pools with start and end
- IP addresses for this L3 protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
-
- leaf gateway-ip {
- type inet:ip-address;
- description
- "Specifies the gateway IP address for this L3
- protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
-
- leaf dhcp-enabled {
- type boolean;
- default "true";
- description
- "Indicates whether DHCP (Dynamic Host Configuration
- Protocol) is enabled or disabled for this L3
- protocol.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
-
- leaf ipv6-address-mode {
- when "../ip-version = 'ipv6'";
- type enumeration {
- enum slaac;
- enum dhcpv6-stateful;
- enum dhcpv6-stateless;
- }
- description
- "Specifies IPv6 address mode. Possible values:
- • SLAAC.
- • DHCPV6-STATEFUL.
- • DHCPV6-STATELESS.
- May be present when the value of the ipVersion
- attribute is 'IPV6' and shall be absent otherwise.";
- reference
- "GS NFV IFA011: Section 7.1.8.15,
- L3ProtocolData information element.";
- }
- description
- "Specifies the L3 protocol data for this virtual link.
- Shall be present when the associatedLayerProtocol
- attribute indicates a L3 protocol and shall be absent
- otherwise.";
- reference
- "GS NFV IFA011: Section 7.1.8.13,
- VirtualLinkProtocolData information element.";
- }
- description
- "Specifies the protocol data for a VL instantiated
- according to this profile. Cardinality 0 is used when
- no protocol data needs to be specified.";
- reference
- "GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
- information element.";
- }
- }
-
- augment "/nsd:nsd/nsd:nsd/nsd:df/nsd:virtual-link-profile" {
- uses extended-vld-protocol-data;
- }
-}
\ No newline at end of file