summaryrefslogtreecommitdiffstats
path: root/v3po/api/src/main/yang/pbb-types@2016-12-14.yang
blob: 047215e98dacc59ad0514a4ef36131e3db8282a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
module pbb-types {
  yang-version 1;
  namespace "urn:opendaylight:params:xml:ns:yang:pbb-types";
  prefix "pbb-types";

  import ietf-yang-types {
    prefix yang;
  }

  organization
    "FD.io - The Fast Data Project";

  contact
    "Hc2vpp Wiki <https://wiki.fd.io/view/Hc2vpp>
     Mailing List <hc2vpp@lists.fd.io>";

  description
    "This module contains a collection of YANG definitions
     used for defining PBB based subinterfaces.

     Copyright (c) 2016-2018 Cisco and/or its affiliates.

     Licensed under the Apache License, Version 2.0 (the 'License');
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at:

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an 'AS IS' BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.";

  revision "2016-12-14" {
    description
      "Initial revision.";
  }

  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";
    }
  }
}