diff options
author | Jan Srnicek <jsrnicek@cisco.com> | 2016-10-07 11:11:09 +0200 |
---|---|---|
committer | Jan Srnicek <jsrnicek@cisco.com> | 2016-10-07 11:11:09 +0200 |
commit | 0b4d49bdce90ebade7a80669bbfa3161947d69ec (patch) | |
tree | 071870ee5f832362d9a567c4335c47a448cf70d2 /v3po/api | |
parent | 8c9c430823aa19912a55b0a6ccfcbbb6a1bc028d (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')
-rw-r--r-- | v3po/api/src/main/yang/pbb-types.yang | 81 | ||||
-rw-r--r-- | v3po/api/src/main/yang/vpp-pbb.yang | 32 |
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 |