aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-rib-bgp-types.yang
blob: 3c0d1b052fccc88857a42c1b3961035e666cc885 (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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
module openconfig-rib-bgp-types {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/rib/bgp-types";

  prefix "oc-bgprib-types";

  import openconfig-extensions { prefix oc-ext; }

  organization "OpenConfig working group";

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

  description
    "Defines identity and type defintions associated with
    the OpenConfig BGP RIB modules";

  oc-ext:openconfig-version "0.3.0";

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

  revision "2016-04-11" {
    description
      "OpenConfig public release";
    reference "0.2.0";
  }

  identity INVALID_ROUTE_REASON {
    description
      "Base identity for reason code for routes that are rejected as
      invalid.  Some derived entities are based on BMP v3";
    reference "BGP Monitoring Protocol (draft-ietf-grow-bmp-07)";
  }

  identity INVALID_CLUSTER_LOOP {
    base INVALID_ROUTE_REASON;
    description
      "Route was invalid due to CLUSTER_LIST loop";
  }

  identity INVALID_AS_LOOP {
    base INVALID_ROUTE_REASON;
    description
      "Route was invalid due to AS_PATH loop";
  }

  identity INVALID_ORIGINATOR {
    base INVALID_ROUTE_REASON;
    description
      "Route was invalid due to ORIGINATOR_ID, e.g., update has
      local router as originator";
  }

  identity INVALID_CONFED {
    base INVALID_ROUTE_REASON;
    description
      "Route was invalid due to a loop in the AS_CONFED_SEQUENCE or
      AS_CONFED_SET attributes";
  }

  identity BGP_NOT_SELECTED_BESTPATH {
    description
      "Base identity for indicating reason a route was was not
      selected by BGP route selection algorithm";
    reference
      "RFC 4271 - Section 9.1";
  }

  identity LOCAL_PREF_LOWER {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route has a lower localpref attribute than current best path";
    reference
      "RFC 4271 - Section 9.1.2";
  }

  identity AS_PATH_LONGER {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route has a longer AS path attribute than current best path";
    reference
      "RFC 4271 - Section 9.1.2.2 (a)";
  }

  identity ORIGIN_TYPE_HIGHER {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route has a higher origin type, i.e., IGP origin is preferred
      over EGP or incomplete";
    reference
      "RFC 4271 - Section 9.1.2.2 (b)";
  }

  identity MED_HIGHER {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route has a higher MED, or metric, attribute than the current
      best path";
    reference
      "RFC 4271 - Section 9.1.2.2 (c)";
  }

  identity PREFER_EXTERNAL {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route source is via IGP, rather than EGP.";
    reference
      "RFC 4271 - Section 9.1.2.2 (d)";
  }

  identity NEXTHOP_COST_HIGHER {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route has a higher interior cost to the next hop.";
    reference
      "RFC 4271 - Section 9.1.2.2 (e)";
  }

  identity HIGHER_ROUTER_ID {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route was sent by a peer with a higher BGP Identifier value,
      or router id";
    reference
      "RFC 4271 - Section 9.1.2.2 (f)";
  }

  identity HIGHER_PEER_ADDRESS {
    base BGP_NOT_SELECTED_BESTPATH;
    description
      "Route was sent by a peer with a higher IP address";
    reference
      "RFC 4271 - Section 9.1.2.2 (g)";
  }

  identity BGP_NOT_SELECTED_POLICY {
    description
      "Base identity for reason code for routes that are rejected
      due to policy";
  }

  identity REJECTED_IMPORT_POLICY {
    base BGP_NOT_SELECTED_POLICY;
    description
      "Route was rejected after apply import policies";
  }

  identity TUNNEL_ENCAPSULATION_TYPE {
    description
      "Types of tunnel encapsulation, as described by the Tunnel
      Encapsulation attribute";
    reference
      "RFC5512";
    }

    identity SRTE_POLICY_TUNNEL {
      base TUNNEL_ENCAPSULATION_TYPE;
      description
        "Segment Routing Traffic Engineering Policy tunnel.";
      reference
        "draft-previdi-idr-segment-routing-te-policy";
    }

    identity TUNNEL_ENCAPSULATION_SUBTLV_TYPE {
      description
        "SubTLVs of the Tunnel Encapsulation attribute";
      reference
        "RFC5512";
    }

    identity TUNNEL_REMOTE_ENDPOINT {
      base TUNNEL_ENCAPSULATION_SUBTLV_TYPE;
      description
        "Remote endpoint of the tunnel.";
      reference
        "RFC5512";
    }

    identity TUNNEL_COLOR {
      base TUNNEL_ENCAPSULATION_SUBTLV_TYPE;
      description
        "Colour of the tunnel";
      reference
        "RFC5512";
    }

    identity SRTE_PREFERENCE {
      base TUNNEL_ENCAPSULATION_SUBTLV_TYPE;
      description
        "Preference of the SR-TE policy entry described by
        the tunnel encapsulation attribute.";
      reference
        "draft-previdi-idr-segment-routing-te-policy";
    }

    identity SRTE_BINDING_SID {
      base TUNNEL_ENCAPSULATION_SUBTLV_TYPE;
      description
        "Binding SID to be used by the SR-TE policy described
        by the tunnel encapsulation attribute.";
      reference
        "draft-previdi-idr-segment-routing-te-policy";
    }

    identity SRTE_SEGMENT_LIST {
      base TUNNEL_ENCAPSULATION_SUBTLV_TYPE;
      description
        "Segment lists to be used by the SR-TE policy described
        by the tunnel encapsulation attribute.";
      reference
        "draft-previdi-idr-segment-routing-te-policy";
    }

    identity SRTE_SEGMENT_LIST_SUBTLV {
      description
        "SubTLVs of the SR-TE Policy Segment List sub-TLV of the
        Tunnel Encapsulation attribute.";
      reference
        "draft-previdi-idr-segment-routing-te-policy";
    }

    identity SRTE_SEGMENT_LIST_WEIGHT {
      base SRTE_SEGMENT_LIST_SUBTLV;
      description
        "Weight of the segment list within the SR-TE policy";
      reference
        "draft-previdi-idr-segment-routing-te-policy";
    }

    identity SRTE_SEGMENT_LIST_SEGMENT {
      base SRTE_SEGMENT_LIST_SUBTLV;
      description
        "An individual element within the SR-TE Policy Segment
        List.";
    }
}