summaryrefslogtreecommitdiffstats
path: root/v3po/api/src/main/yang
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2016-10-07 11:11:09 +0200
committerJan Srnicek <jsrnicek@cisco.com>2016-10-07 11:11:09 +0200
commit0b4d49bdce90ebade7a80669bbfa3161947d69ec (patch)
tree071870ee5f832362d9a567c4335c47a448cf70d2 /v3po/api/src/main/yang
parent8c9c430823aa19912a55b0a6ccfcbbb6a1bc028d (diff)
Pbb Support
models/implementation refactored to work as rewrite on interfaces Change-Id: I8ce42905ce8f183c354e718d02291aea2435110d Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'v3po/api/src/main/yang')
-rw-r--r--v3po/api/src/main/yang/pbb-types.yang81
-rw-r--r--v3po/api/src/main/yang/vpp-pbb.yang32
2 files changed, 113 insertions, 0 deletions
diff --git a/v3po/api/src/main/yang/pbb-types.yang b/v3po/api/src/main/yang/pbb-types.yang
new file mode 100644
index 000000000..1b3d4b6d5
--- /dev/null
+++ b/v3po/api/src/main/yang/pbb-types.yang
@@ -0,0 +1,81 @@
+module pbb-types {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:pbb-types";
+ prefix "pbb-types";
+
+ description "Common types used for defining Pbb based subinterfaces";
+
+ revision "2016-07-04" {
+ description
+ "Initial revision.";
+ }
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+
+ import ietf-interfaces {
+ prefix if;
+ }
+
+ import yang-ext {
+ prefix "ext";
+ }
+
+ typedef operation {
+ type enumeration {
+ // NOTE - Does not specify disabled enum value(0), because its used internally to delete/disable rewrite
+ enum "push-2"{
+ value 2;
+ }
+
+ enum "pop-2"{
+ value 4;
+ description "Encapsulate/Decapsulate pbb packet according to incoming/outcoming direction";
+ }
+ enum "translate-2-1"{
+ value 7;
+ }
+ }
+ }
+
+ grouping pbb-rewrite-attributes {
+ description "Provider Backbone Bridge attributes";
+
+ leaf destination-address{
+ type yang:mac-address;
+ description "backbone destination address";
+ }
+
+ leaf source-address{
+ type yang:mac-address;
+ description "backbone source address";
+ }
+
+ leaf outer-tag{
+ type uint16;
+ }
+
+ leaf b-vlan-tag-vlan-id{
+ type uint16{
+ //12 bit range
+ range "1..4095";
+ }
+ description "backbone vlan id";
+ }
+
+ leaf i-tag-isid {
+ type uint32{
+ //24 bit range
+ range "1..16777215";
+ }
+ description "identifier of the backbone service instance ";
+ }
+
+ leaf interface-operation {
+ type operation;
+ default pop-2;
+ description "Define operation that will pbb interface perform while processing packets";
+ }
+ }
+}
diff --git a/v3po/api/src/main/yang/vpp-pbb.yang b/v3po/api/src/main/yang/vpp-pbb.yang
new file mode 100644
index 000000000..848f04e6c
--- /dev/null
+++ b/v3po/api/src/main/yang/vpp-pbb.yang
@@ -0,0 +1,32 @@
+module vpp-pbb {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:vpp-pbb";
+ prefix "vpp-pbb";
+
+ revision "2016-04-10" {
+ description "Initial revision of pbb model";
+ }
+
+ import pbb-types{
+ prefix "pbb-types";
+ }
+
+ import yang-ext {
+ prefix "ext";
+ }
+
+ augment /if:interfaces/if:interface {
+ ext:augment-identifier "pbb-rewrite-interface-augmentation";
+ container pbb-rewrite{
+ uses pbb-types:pbb-rewrite-attributes;
+ }
+ }
+
+ augment /if:interfaces-state/if:interface {
+ ext:augment-identifier "pbb-rewrite-state-interface-augmentation";
+ container pbb-rewrite-state{
+ uses pbb-types:pbb-rewrite-attributes;
+ config false;
+ }
+ }
+} \ No newline at end of file