blob: 07a464de8258c544475b381fe20bc55249dd949e [file] [log] [blame]
Thomas Vachuska6655bee2017-08-24 16:12:59 -07001submodule openconfig-bgp-errors {
2
3 belongs-to openconfig-bgp-types {
4 prefix "oc-bgp-types";
5 }
6
7 import openconfig-extensions { prefix "oc-ext"; }
8
9 // meta
10 organization
11 "OpenConfig working group";
12
13 contact
14 "OpenConfig working group
15 netopenconfig@googlegroups.com";
16
17 description
18 "This module defines BGP NOTIFICATION message error codes
19 and subcodes";
20
21 oc-ext:openconfig-version "4.0.1";
22
23 revision "2017-07-30" {
24 description
25 "Clarification of add-paths send-max leaf";
26 reference "4.0.1";
27 }
28
29 revision "2017-07-10" {
30 description
31 "Add error notifications; moved add-paths config; add AS
32 prepend policy features; removed unneeded config leaves";
33 reference "4.0.0";
34 }
35
36
37
38 identity BGP_ERROR_CODE {
39 description
40 "Indicates the error type in a BGP NOTIFICATION message";
41 reference
42 "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)";
43 }
44
45 identity BGP_ERROR_SUBCODE {
46 description
47 "Provides more specific information about the nature of the
48 error reported in a NOTIFICATION message. Each Error
49 Code may have one or more Error Subcodes associated with it.";
50 reference
51 "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)";
52 }
53
54
55 identity UNSPECIFIC {
56 base BGP_ERROR_SUBCODE;
57 description
58 "The error subcode field is unspecific when the NOTIFICATION
59 message does not include any specific error subcode (i.e..,
60 value 0).";
61 }
62
63 identity MESSAGE_HEADER_ERROR {
64 base BGP_ERROR_CODE;
65 description
66 "Errors detected while processing the Message Header";
67 }
68
69 identity OPEN_MESSAGE_ERROR {
70 base BGP_ERROR_CODE;
71 description
72 "Errors detected while processing the OPEN message";
73 }
74
75 identity UPDATE_MESSAGE_ERROR {
76 base BGP_ERROR_CODE;
77 description
78 "Errors detected while processing the UPDATE message";
79 }
80
81 identity HOLD_TIMER_EXPIRED {
82 base BGP_ERROR_CODE;
83 description
84 "Indicates that the system did not receive successive
85 KEEPALIVE, UPDATE, and/or NOTIFICATION messages within the
86 period specified in the Hold Time field of the OPEN message";
87 }
88
89 identity FINITE_STATE_MACHINE_ERROR {
90 base BGP_ERROR_CODE;
91 description
92 "Error detected by the BGP Finite State Machine
93 (e.g., receipt of an unexpected event)";
94 }
95
96 identity CEASE {
97 base BGP_ERROR_CODE;
98 description
99 "Sent by a BGP peer to close its BGP connection in absence of
100 any fatal errors. If the BGP speaker terminates its
101 connection with a neihbor because the number of prefixes
102 received exceeds the configured upper bound, the speaker must
103 send the neighbor a NOTIFICATION message with the Cease
104 error code.";
105 }
106
107 identity ROUTE_REFRESH_MESSAGE_ERROR {
108 base BGP_ERROR_CODE;
109 description
110 "The length, excluding the fixed-size message header, of the
111 received ROUTE-REFRESH message with Message Subtype 1 and 2 is
112 not 4. Applicable only when a BGP speaker has received the
113 'Enhanced Route Refresh Capability' from a peer";
114 reference
115 "RFC 7313 - Enhanced Route Refresh Capability for BGP-4";
116 }
117
118 identity MESSAGE_HEADER_SUBCODE {
119 base BGP_ERROR_SUBCODE;
120 description
121 "Error subcode definitions for Message Header error
122 notifications";
123 }
124
125 identity CONNECTION_NOT_SYNCHRONIZED {
126 base MESSAGE_HEADER_SUBCODE;
127 description
128 "Marker field of the message header is not all ones as
129 expected";
130 }
131
132 identity BAD_MESSAGE_LENGTH {
133 base MESSAGE_HEADER_SUBCODE;
134 description
135 "Indicates the message has an erroneous length with one
136 or more of the following:
137
138 - the Length field of the message header is less than 19 or
139 greater than 4096
140
141 - the Length field of an OPEN message is less than the minimum
142 length of the OPEN message
143
144 - the Length field of an UPDATE message is less than the
145 minimum length of the UPDATE message
146
147 - the Length field of a KEEPALIVE message is not equal to 19
148
149 - the Length field of a NOTIFICATION message is less than the
150 minimum length of the NOTIFICATION message
151
152 The erroneous Length field must be reported in the
153 NOTIFICATION data.";
154 }
155
156 identity BAD_MESSAGE_TYPE {
157 base MESSAGE_HEADER_SUBCODE;
158 description
159 "Type field of the message header is not recognized. The
160 erroneous type field must be reported in the NOTIFICATION
161 data";
162 }
163
164 identity OPEN_MESSAGE_SUBCODE {
165 base BGP_ERROR_SUBCODE;
166 description
167 "Error subcode definitions for OPEN message error
168 notifications";
169 }
170
171 identity UNSUPPORTED_VERSION_NUMBER {
172 base OPEN_MESSAGE_SUBCODE;
173 description
174 "Version number in the Version field of the received OPEN
175 message is not supported";
176 }
177
178 identity BAD_PEER_AS {
179 base OPEN_MESSAGE_SUBCODE;
180 description
181 "Autonomous System field of the OPEN message is unacceptable";
182 }
183
184 identity BAD_BGP_IDENTIFIER {
185 base OPEN_MESSAGE_SUBCODE;
186 description
187 "BGP Identifier field of the OPEN message is syntactically
188 incorrect";
189 }
190
191 identity UNSUPPORTED_OPTIONAL_PARAMETER {
192 base OPEN_MESSAGE_SUBCODE;
193 description
194 "One of the Optional Parameters in the OPEN message is not
195 recognized";
196 }
197
198 identity UNACCEPTABLE_HOLD_TIME {
199 base OPEN_MESSAGE_SUBCODE;
200 description
201 "Hold Time field of the OPEN message is unacceptable";
202 }
203
204 identity UNSUPPORTED_CAPABILITY {
205 base OPEN_MESSAGE_SUBCODE;
206 description
207 "Inidicates that the peer does not support capabilities
208 advertisement -- the peer may send this subcode in response to
209 an OPEN message that carries the Capabilities Optional
210 Parameter";
211 reference
212 "RFC 5492 - Capabilities Advertisement with BGP-4";
213 }
214
215 identity UPDATE_MESSAGE_SUBCODE {
216 base BGP_ERROR_SUBCODE;
217 description
218 "Error subcode definitions for UPDATE message error
219 notifications";
220 }
221
222 identity MALFORMED_ATTRIBUTE_LIST {
223 base UPDATE_MESSAGE_SUBCODE;
224 description
225 "Inidicates Withdrawn Routes Length or Total Attribute Length
226 is too large, or
227
228 An attribute appears more than once in the UPDATE message";
229 }
230
231 identity UNRECOGNIZED_WELL_KNOWN_ATTRIBUTE {
232 base UPDATE_MESSAGE_SUBCODE;
233 description
234 "One or more of the well-known mandatory attributes are not
235 recognized";
236 }
237
238 identity MISSING_WELL_KNOWN_ATTRIBUTE {
239 base UPDATE_MESSAGE_SUBCODE;
240 description
241 "One or more of the well-known mandatory attributes are not
242 present";
243 }
244
245 identity ATTRIBUTE_FLAGS_ERROR {
246 base UPDATE_MESSAGE_SUBCODE;
247 description
248 "Attribute has Attribute Flags that conflict with the
249 Attribute Type Code";
250 }
251
252 identity ATTRIBUTE_LENGTH_ERROR {
253 base UPDATE_MESSAGE_SUBCODE;
254 description
255 "Attribute has an Attribute Length that conflicts with the
256 expected length (based on the attribute type code)";
257 }
258
259 identity INVALID_ORIGIN_ATTRIBUTE {
260 base UPDATE_MESSAGE_SUBCODE;
261 description
262 "ORIGIN attribute has an undefined value";
263 }
264
265 identity INVALID_NEXT_HOP_ATTRIBUTE {
266 base UPDATE_MESSAGE_SUBCODE;
267 description
268 "The NEXT_HOP attribute field is syntactically incorrect";
269 }
270
271 identity OPTIONAL_ATTRIBUTE_ERROR {
272 base UPDATE_MESSAGE_SUBCODE;
273 description
274 "An error is detected in the value of a recognized optional
275 attribute (such an attribute must be discarded)";
276 }
277
278 identity INVALID_NETWORK_FIELD {
279 base UPDATE_MESSAGE_SUBCODE;
280 description
281 "The NLRI field in the UPDATE message is syntactically
282 incorrect";
283 }
284
285 identity MALFORMED_AS_PATH {
286 base UPDATE_MESSAGE_SUBCODE;
287 description
288 "The AS_PATH attribute is syntactically incorrect";
289 }
290
291 identity FINITE_STATE_MACHINE_SUBCODE {
292 base BGP_ERROR_SUBCODE;
293 description
294 "Error subcode definitions for BGP finite state machine
295 errors.";
296 reference
297 "RFC 6608 - Subcodes for BGP Finite State Machine Error";
298 }
299
300 identity RECEIVE_UNEXPECTED_MESSAGE_OPENSENT {
301 base FINITE_STATE_MACHINE_SUBCODE;
302 description
303 "The peer BGP speaker received an unexpected message from
304 the local system while the peer speaker session was in the
305 OpenSent state";
306 }
307
308 identity RECEIVE_UNEXPECTED_MESSAGE_OPENCONFIRM {
309 base FINITE_STATE_MACHINE_SUBCODE;
310 description
311 "The peer BGP speaker received an unexpected message from
312 the local system while the peer speaker session was in the
313 OpenConfirm state";
314 }
315
316 identity RECEIVE_UNEXPECTED_MESSAGE_ESTABLISHED {
317 base FINITE_STATE_MACHINE_SUBCODE;
318 description
319 "The peer BGP speaker received an unexpected message from
320 the local system while the peer speaker session was in the
321 Established state";
322 }
323
324 identity CEASE_SUBCODE {
325 base BGP_ERROR_SUBCODE;
326 description
327 "Error subcode definitions for Cease notification messages";
328 reference
329 "RFC 4486 - Subcodes for BGP Cease Notification Message";
330 }
331
332 identity MAX_NUM_PREFIXES_REACHED {
333 base CEASE_SUBCODE;
334 description
335 "The peer BGP speaker terminated its peering with the local
336 system because the number of address prefixes received
337 exceeds a locally configured upper bound";
338 }
339
340 identity ADMINISTRATIVE_SHUTDOWN {
341 base CEASE_SUBCODE;
342 description
343 "The peer BGP speaker administratively shut down its peering
344 with the local system";
345 }
346
347 identity PEER_DE_CONFIGURED {
348 base CEASE_SUBCODE;
349 description
350 "The peer BGP speaker de-configure the peering with the local
351 system";
352 }
353
354 identity ADMINISTRATIVE_RESET {
355 base CEASE_SUBCODE;
356 description
357 "The peer BGP speaker administratively reset the peering with
358 the local system";
359 }
360
361 identity CONNECTION_REJECTED {
362 base CEASE_SUBCODE;
363 description
364 "The peer BGP speaker disallowed the BGP connection to the
365 local system after the peer speaker accepted a transport
366 protocol connection";
367 }
368
369 identity OTHER_CONFIG_CHANGE {
370 base CEASE_SUBCODE;
371 description
372 "The peer BGP speaker administratively reset the peering with
373 the local sytem due to a configuration change that is not
374 covered by another subcode.";
375 }
376
377 identity CONN_COLLISION_RESOLUTION {
378 base CEASE_SUBCODE;
379 description
380 "The peer BGP speaker sent a CEASE NOTIFICATION as a result of
381 the collision resolution procedure described in RFC 4271";
382 }
383
384 identity OUT_OF_RESOURCES {
385 base CEASE_SUBCODE;
386 description
387 "The peer BGP speaker ran out of resources (e.g., memory) and
388 reset the session with the local system";
389 }
390
391 identity ROUTE_REFRESH_SUBCODE {
392 base BGP_ERROR_SUBCODE;
393 description
394 "Error subcode definitions for the ROUTE-REFRESH message
395 error";
396 }
397
398 identity INVALID_MESSAGE_LENGTH {
399 base ROUTE_REFRESH_SUBCODE;
400 description
401 "The length, excluding the fixed-size message header, of the
402 received ROUTE-REFRESH message with Message Subtype 1 and 2
403 is not 4";
404 }
405}