module ietf-te-service-mapping-types {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types";
prefix tsm;
import ietf-te-types {
prefix te-types;
reference
"I-D.ietf-teas-yang-te-types: Traffic Engineering Common YANG
Types";
}
import ietf-network {
prefix nw;
reference
"RFC 8345: A YANG Data Model for Network Topologies";
}
import ietf-te {
prefix te;
reference
"I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
Engineering Tunnels and Interfaces";
}
import ietf-vn {
prefix vn;
reference
"I-D.ietf-teas-actn-vn-yang: A Yang Data Model for VN Operation";
}
organization
"IETF Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web:
WG List:
Editor: Young Lee
Editor: Dhruv Dhody
Editor: Qin Wu
";
description
"This module contains a YANG module for TE & Service mapping
parameters and policies as a common grouping applicable to
variuous service models (e.g., L1CSM, L2SM, L3SM, etc.)
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 XXXX; see the
RFC itself for full legal notices.";
revision 2019-09-09 {
description
"Initial revision.";
reference
"RFC XXXX: Traffic Engineering and Service Mapping Yang Model";
}
/*
* Identity for map-type
*/
identity map-type {
description
"Base identity from which specific map types are derived.";
}
identity new {
base map-type;
description
"The new VN/tunnels are binded to the service.";
}
identity hard-isolation {
base new;
description
"Hard isolation.";
}
identity detnet-hard-isolation {
base hard-isolation;
description
"Hard isolation with deterministic characteristics.";
}
identity soft-isolation {
base new;
description
"Soft-isolation.";
}
identity select {
base map-type;
description
"The VPN service selects an existing tunnel with no
modification.";
}
identity modify {
base map-type;
description
"The VPN service selects an existing tunnel and allows to modify
the properties of the tunnel (e.g., b/w)";
}
/*
* Identity for availability-type
*/
identity availability-type {
description
"Base identity from which specific map types are derived.";
}
identity level-1 {
base availability-type;
description
"level 1: 99.9999%";
}
identity level-2 {
base availability-type;
description
"level 2: 99.999%";
}
identity level-3 {
base availability-type;
description
"level 3: 99.99%";
}
identity level-4 {
base availability-type;
description
"level 4: 99.9%";
}
identity level-5 {
base availability-type;
description
"level 5: 99%";
}
/*
* Groupings
*/
grouping te-ref {
description
"The reference to TE.";
choice te {
description
"The TE";
case vn {
leaf vn-ref {
type leafref {
path "/vn:vn/vn:vn-list/vn:vn-id";
}
description
"The reference to VN";
reference
"RFC 8453: Framework for Abstraction and Control of TE
Networks (ACTN)";
}
}
case te-topo {
leaf vn-topology-id{
type te-types:te-topology-id;
description
"An identifier to the TE Topology Model where the abstract
nodes and links of the Topology can be found for Type 2
VNS";
reference
"I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic
Engineering (TE) Topologies";
}
leaf abstract-node {
type leafref {
path "/nw:networks/nw:network/nw:node/nw:node-id";
}
description
"A reference to the abstract node in TE Topology";
reference
"I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic
Engineering (TE) Topologies";
}
}
case te-tunnel {
leaf-list te-tunnel-list {
type te:tunnel-ref;
description
"Reference to TE Tunnels";
reference
"I-D.ietf-teas-yang-te: A YANG Data Model for Traffic
Engineering Tunnels and Interfaces";
}
}
}
}//grouping
grouping te-endpoint-ref {
description
"The reference to TE endpoints.";
choice te {
description
"The TE";
case vn {
leaf vn-ref {
type leafref {
path "/vn:ap/vn:access-point-list/vn:access-point-id";
}
description
"The reference to VN AP";
reference
"RFC 8453: Framework for Abstraction and Control of TE
Networks (ACTN)";
}
}
case te {
leaf ltp {
type te-types:te-tp-id;
description
"Reference LTP in the TE-topology";
reference
"I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic
Engineering (TE) Topologies";
}
}
}
}//grouping
grouping te-mapping {
description
"Mapping between Services and TE";
container te-mapping {
description
"Mapping between Services and TE";
leaf map-type {
type identityref {
base map-type;
}
description
"Isolation Requirements, Tunnel Bind or
Tunnel Selection";
}
leaf availability-type {
type identityref {
base availability-type;
}
description
"Availability Requirement for the Service";
}
uses te-ref;
}
}//grouping
}//module