module ietf-sr-service-programming-types {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-sr-service-programming-types";
prefix "sr-service-types";
organization "IETF SPRING Working Group";
contact
"WG Web:
WG List:
Editor: Jaganbabu Rajamanickam
Editor: Kamran Raza
Editor: Daniel Bernier
Editor: Gaurav Dawra
Editor: Cheng Li
";
/*
* SR Service programming behaviour
*/
identity service-program-behaviour-type {
description
"Base identity for SR service programming behaviour";
}
identity sr-aware {
base service-program-behaviour-type;
description
"SR aware native applications.";
}
identity static-proxy {
base service-program-behaviour-type;
description
"Static Proxy";
}
identity dynamic-proxy {
base service-program-behaviour-type;
description
"Dynamic Proxy";
}
identity Masquerading-proxy {
base service-program-behaviour-type;
description
"Masquerading Proxy";
}
identity Masquerading-NAT-proxy {
base service-program-behaviour-type;
description
"Masquerading Proxy with NAT flavor";
}
identity Masquerading-caching-proxy {
base service-program-behaviour-type;
description
"Masquerading Proxy with caching flavor";
}
identity Masquerading-NAT-caching-proxy {
base service-program-behaviour-type;
description
"Masquerading Proxy with caching flavor";
}
/*
* Below are the definition for the service proxy inner packet types
* Any new service proxy inner packet type could added by extending
* this identity
*/
identity service-proxy-inner-pkt-type {
description
"Base identity from which SR service proxy types are derived.";
}
identity Ethernet {
base service-proxy-inner-pkt-type;
description
"Expected inner packet type as Ethernet - derived from
service-proxy-inner-pkt-type";
}
identity IPv4 {
base service-proxy-inner-pkt-type;
description
"Expected inner packet type as IPv4 - derived from
service-proxy-inner-pkt-type";
}
identity IPv6 {
base service-proxy-inner-pkt-type;
description
"Expected inner packet type as IPv6 - derived from
service-proxy-inner-pkt-type";
}
/*
* SR Service SID operational status
*/
identity service-program-oper-status-type {
description
"Base identity from which SR service program operational
status types are derived.";
}
identity up {
base service-program-oper-status-type;
description
"Service program status is operational";
}
identity down-unknown {
base service-program-oper-status-type;
description
"Service program status is down because of unknown reason";
}
identity sid-allocation-pending {
base service-program-oper-status-type;
description
"Service program status is down because of SID allocation is pending";
}
identity sid-allocation-conflict {
base service-program-oper-status-type;
description
"Service program status is down because of SID conflict";
}
identity sid-out-of-bound {
base service-program-oper-status-type;
description
"Service program status is down because of SID is out of bound";
}
identity interface-down {
base service-program-oper-status-type;
description
"Service program status is down because of out/in interface is down";
}
identity admin-forced-down {
base service-program-oper-status-type;
description
"Service program status is administratively forced down";
}
/*
* Typedefs
*/
typedef admin-status-type {
type enumeration {
enum up {
description "Admin Up";
}
enum down {
description "Admin Down";
}
}
}
typedef dataplane-type {
type enumeration {
enum mpls {
description "MPLS dataplane";
}
enum srv6 {
description "SRv6 dataplane";
}
}
}
typedef sid-alloc-mode-type {
type enumeration {
enum static {
description "Static SID allocation";
}
enum dynamic {
description "Dynamic SID allocation";
}
}
}
}