From ae37a3a44a56ccbbc760744f36ad9140aecc06eb Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Fri, 7 Oct 2016 11:11:09 +0200 Subject: Pbb Support models/implementation refactored to work as rewrite on interfaces Change-Id: I8ce42905ce8f183c354e718d02291aea2435110d Signed-off-by: Jan Srnicek --- v3po/api/src/main/yang/pbb-types.yang | 81 +++++++++++++++++++++++++++++++++++ v3po/api/src/main/yang/vpp-pbb.yang | 32 ++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 v3po/api/src/main/yang/pbb-types.yang create mode 100644 v3po/api/src/main/yang/vpp-pbb.yang (limited to 'v3po/api/src/main') 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 -- cgit 1.2.3-korg