module ietf-sd-onos-service-l3vpn { | |
namespace "urn:ietf:params:xml:ns:yang:ietf-sd-onos-service-l3vpn"; | |
prefix l3vpn ; | |
/* | |
import ietf-inet-types{ | |
prefix inet; | |
} | |
import ietf-yang-types { | |
prefix yang-types; | |
} | |
*/ | |
import ietf-sd-onos-service-types { | |
prefix service-types; | |
} | |
import ietf-sd-onos-common-types { | |
prefix types; | |
} | |
organization ""; | |
contact ""; | |
description | |
"L3vpn configuration model in ONOS."; | |
revision "2015-12-16" { | |
reference ""; | |
} | |
grouping l3vpn { | |
description | |
"The configuration module of l3 vpn."; | |
leaf name { | |
type string ; | |
mandatory true; | |
description "name of snc eline." ; | |
} | |
leaf id { | |
type uint32 ; | |
mandatory true; | |
description "ID of snc eline." ; | |
} | |
leaf user-label { | |
type string ; | |
description "user label of snc eline." ; | |
} | |
leaf parent-ncd-id { | |
type string ; | |
description "parent ncd id." ; | |
} | |
leaf admin-status { | |
type types:admin-status; | |
description "administration status." ; | |
} | |
leaf operate-status { | |
type types:operate-status; | |
description "operation status." ; | |
} | |
uses service-type-grouping; | |
container acess-information { | |
description "access information of the l3 vpn." ; | |
uses service-types:l3-ac; } | |
container protect-policy{ | |
description "L3VPN Service protect policy." ; | |
uses service-types:protect-policy; | |
} | |
container tunnel-service { | |
description "tunnel service." ; | |
uses service-types:tunnel-service; | |
} | |
} | |
grouping service-type-grouping { | |
description "Basic service type" ; | |
leaf service-topology { | |
type enumeration { | |
enum full-mesh { | |
value 1 ; | |
description "full-mesh." ; | |
} | |
enum hub-spoke { | |
value 2 ; | |
description "hub-spoke." ; | |
} | |
} | |
default full-mesh; | |
description "service topology type." ; | |
} | |
} | |
container service { | |
description | |
"Root level of L3vpn service module."; | |
container l3vpn-cfg { | |
description | |
"L3vpn configuration model in ONOS."; | |
list vpn-cfg { | |
key name; | |
description | |
"vpn configuration parameter list."; | |
uses l3vpn; | |
} | |
} | |
container service-paths { | |
description | |
"The service path of the l3 vpn."; | |
} | |
} | |
rpc create-l3vpn-instance { | |
description "Create l3vpn instance." ; | |
input { | |
container l3vpn-instance { | |
description "Create l3vpn instance." ; | |
uses l3vpn; | |
} | |
} | |
} | |
rpc delete-l3vpn-instance { | |
description "Delete l3vpn instance." ; | |
input { | |
leaf l3vpn-id { | |
type string; | |
description "vpn id." ; | |
} | |
} | |
} | |
rpc close-l3vpn { | |
description "Close l3vpn." ; | |
input { | |
leaf l3vpn-id { | |
type string; | |
description "vpn id." ; | |
} | |
container ac-status { | |
description "Access status of the vpn." ; | |
list acs{ | |
key "id"; | |
description "Access information." ; | |
leaf id { | |
type string; | |
description "Access id." ; | |
} | |
leaf admin-status { | |
type types:admin-status; | |
description "Administration status." ; | |
} | |
} | |
} | |
} | |
} | |
rpc modify-l3vpn-instance-basic { | |
description "Modify l3vpn instance basic information." ; | |
input { | |
leaf l3vpn-id { | |
type string; | |
description "vpn id." ; | |
} | |
leaf user-label { | |
type string ; | |
description "user label." ; | |
} | |
} | |
} | |
rpc modify-l3vpn-instance-ac-qos { | |
description "Modify l3vpn instance ac qos information." ; | |
input { | |
leaf l3vpn-id { | |
type string; | |
description "L3vpn ID." ; | |
} | |
container ac-qos { | |
description "ac qos information." ; | |
list acs{ | |
key "id"; | |
description "acs list." ; | |
leaf id { | |
type string; | |
description "acs ID." ; | |
} | |
container qos-policy { | |
description "qos policy." ; | |
container qos-if-cars { | |
description "cars qos policy." ; | |
uses service-types:qos-if-car; | |
} | |
} | |
} | |
} | |
} | |
} | |
rpc modify-l3vpn-instance-connection { | |
description "Modify a l3vpn connection." ; | |
input { | |
leaf l3vpn-id { | |
type string; | |
description "L3vpn ID." ; | |
} | |
container ac-connection { | |
description "ac connection." ; | |
list acs{ | |
key "id"; | |
description "acs ID." ; | |
leaf id { | |
type string ; | |
description "acs ID." ; | |
} | |
container connection { | |
description "CE to PE connection." ; | |
uses service-types:connection; | |
} | |
} | |
} | |
} | |
} | |
rpc inquire-l3vpn-instance-work-path { | |
description "Inquire a L3VPN instance work path." ; | |
input { | |
leaf service-id { | |
type string; | |
description "service ID." ; | |
} | |
leaf ingress-ne-id { | |
type string ; | |
description "ingress network element ID." ; | |
} | |
leaf destination-ne-id { | |
type string ; | |
description "destination network element ID." ; | |
} | |
leaf ingress-ac-id { | |
type string ; | |
description "ingress ac ID." ; | |
} | |
leaf destination-ac-id { | |
type string ; | |
description "destination ac ID." ; | |
} | |
leaf path-layer { | |
type string ; | |
description "path layer." ; | |
} | |
leaf path-role { | |
type string ; | |
description "path role." ; | |
} | |
} | |
output { | |
container service-path { | |
description "service path." ; | |
leaf service-id { | |
type string; | |
description "service ID." ; | |
} | |
leaf ingress-ne-id { | |
type string ; | |
description "ingress network element ID." ; | |
} | |
leaf destination-ne-id { | |
type string ; | |
description "destination network element ID." ; | |
} | |
leaf ingress-ac-id { | |
type string ; | |
description "ingress access circuit ID." ; | |
} | |
leaf destination-ac-id { | |
type string ; | |
description "destination access circuit ID." ; | |
} | |
leaf path-layer { | |
type string ; | |
description "path layer." ; | |
} | |
leaf path-role { | |
type string ; | |
description "path role." ; | |
} | |
list path-list { | |
key "ne-id"; | |
description "path list." ; | |
leaf ne-id { | |
type string; | |
description "network element ID." ; | |
} | |
leaf ingress-ltp-id { | |
type string; | |
description "LTP ID." ; | |
} | |
leaf backward-peer-id { | |
type string; | |
description "backward peer ID." ; | |
} | |
leaf egress-ltp-id { | |
type string; | |
description "egress ltp ID." ; | |
} | |
leaf forward-peer-id { | |
type string; | |
description "forward peer ID." ; | |
} | |
} | |
} | |
} | |
} | |
} |