summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-rib-bgp-shared-attributes.yang
blob: 77a79b683683f2fa2cc3188ce4a99d27ee263804 (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
submodule openconfig-rib-bgp-shared-attributes {

  belongs-to openconfig-rib-bgp {
    prefix "oc-rib-bgp";
  }


  // import some basic types
  import openconfig-extensions { prefix oc-ext; }

  include openconfig-rib-bgp-attributes;

  // meta
  organization "OpenConfig working group";

  contact
    "OpenConfig working group
    www.openconfig.net";

  description
    "This submodule contains structural data definitions for
    attribute sets shared across routes.";


  oc-ext:openconfig-version "0.3.0";

  revision "2016-10-17" {
    description
      "OpenConfig BGP RIB refactor";
    reference "0.3.0";
  }


  grouping attribute-sets-top {
    description
      "Top level grouping for list of common attribute sets";

    container attr-sets {
      description
        "Enclosing container for the list of path attribute sets";

      list attr-set {
        key "index";

        description
          "List of path attributes that may be in use by multiple
          routes in the table";

        leaf index {
          type leafref {
            path "../state/index";
          }
          description
            "Reference to list key";
        }

        container state {
          config false;
          description
            "Operational state for common path attributes";

          leaf index {
            type uint64;
            description
              "System generated index for each attribute set.  The
              index is used to reference an attribute set from a
              specific path.  Multiple paths may reference the same
              attribute set.";
          }

          uses bgp-shared-common-attr-state;
        }
        uses bgp-aggregator-attr-top;
        uses bgp-as-path-attr-top;
        uses bgp-as4-path-attr-top;
        uses bgp-tunnel-encapsulation-attr-top;
      }
    }
  }

  grouping community-sets-top {
    description
      "Top level grouping for list of shared community attribute
      sets";

    container communities {
      description
        "Enclosing container for the list of community attribute
        sets";

      list community {
        key "index";

        description
          "List of path attributes that may be in use by multiple
          routes in the table";

        leaf index {
          type leafref {
            path "../state/index";
          }
          description
            "Reference to the list key";
        }

        container state {
          config false;
          description
            "Operational state for shared BGP community attribute";

          leaf index {
            type uint64;
            description
              "System generated index for each attribute set.  The
              index is used to reference an attribute set from a
              specific path.  Multiple paths may reference the same
              attribute set.";
          }

          uses bgp-community-attr-state;
        }
      }
    }
  }

  grouping ext-community-sets-top {
    description
      "Top level grouping for list of extended community attribute
      sets";

    container ext-communities {
      description
        "Enclosing container for the list of extended community
        attribute sets";

      list ext-community {
        key "index";

        description
          "List of path attributes that may be in use by multiple
          routes in the table";

        leaf index {
          type leafref {
            path "../state/index";
          }
          description
            "Reference to the list key";
        }

        container state {
          config false;
          description
            "Operational state for shared BGP extended community
            attribute";

          leaf index {
            type uint64;
            description
              "System generated index for each attribute set.  The
              index is used to reference an attribute set from a
              specific path.  Multiple paths may reference the same
              attribute set.";
          }

          uses bgp-extended-community-attr-state;
        }
      }
    }
  }
}