]> git.proxmox.com Git - mirror_frr.git/blame - bgpd/bgp_errors.c
zebra: Allow ns delete to happen after under/over flow checks
[mirror_frr.git] / bgpd / bgp_errors.c
CommitLineData
14454c9f 1/*
247dcce2 2 * BGP-specific error messages.
14454c9f
DS
3 * Copyright (C) 2018 Cumulus Networks, Inc.
4 * Don Slice
5 *
247dcce2
QY
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the Free
8 * Software Foundation; either version 2 of the License, or (at your option)
9 * any later version.
14454c9f 10 *
247dcce2
QY
11 * This program is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * more details.
14454c9f
DS
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; see the file COPYING; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
247dcce2 20
14454c9f 21#include <zebra.h>
14454c9f 22
247dcce2
QY
23#include "lib/ferr.h"
24#include "bgp_errors.h"
25
26/* clang-format off */
559aaa30
DS
27static struct log_ref ferr_bgp_warn[] = {
28 {
e50f7cfd 29 .code = EC_BGP_ASPATH_FEWER_HOPS,
559aaa30
DS
30 .title = "BGP AS-path conversion has failed",
31 .description = "BGP has attempted to convert a AS2 to AS4 path and has failed",
32 .suggestion = "Open an Issue with all relevant log files and restart FRR"
33 },
34 {
e50f7cfd 35 .code = EC_BGP_DEFUNCT_SNPA_LEN,
559aaa30
DS
36 .title = "BGP has received a value in a reserved field",
37 .description = "BGP has received a non-zero value in a reserved field that was used for SNPA-length at one point in time",
38 .suggestion = "BGP has peered with either a router that is attempting to send SNPA data or it has received a corrupted packet. If we are peering with a SNPA aware router(unlikely) upgrade that router, else open an Issue after gathering relevant log files",
39 },
40 {
e50f7cfd 41 .code = EC_BGP_MISSING_ATTRIBUTE,
559aaa30
DS
42 .title = "BGP has received an update with missing a missing attribute",
43 .description = "BGP received update packets must have some minimum attribute information within them",
44 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
45 },
46 {
e50f7cfd 47 .code = EC_BGP_ATTRIBUTE_TOO_SMALL,
559aaa30
DS
48 .title = "BGP udate packet with attribute data that is too small",
49 .description = "BGP has received an update packet that is too small to parse a given attribute. This typically means that something has gone wrong between us and the remote peer",
50 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
51 },
52 {
e50f7cfd 53 .code = EC_BGP_EXT_ATTRIBUTE_TOO_SMALL,
559aaa30
DS
54 .title = "BGP udate packet with extended attribute data that is too small",
55 .description = "BGP has received an update packet that is too small to parse a given extended attribute. This typically means that something has gone wrong between us and the remote peer",
56 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
57 },
58 {
e50f7cfd 59 .code = EC_BGP_ATTRIBUTE_REPEATED,
559aaa30
DS
60 .title = "BGP update packet received with a repeated attribute",
61 .description = "BGP has received an update packet with a attribute that is repeated more than one time for a particular route. This typically means that something has gone wrong between us and the remote peer",
62 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
63 },
64 {
e50f7cfd 65 .code = EC_BGP_ATTRIBUTE_TOO_LARGE,
559aaa30
DS
66 .title = "BGP udate packet with attribute data that is too large",
67 .description = "BGP has received an update packet that has too much data in a particular attribute. This typically means that something has gone wrong between us and the remote peer",
68 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
69 },
70 {
e50f7cfd 71 .code = EC_BGP_ATTRIBUTE_PARSE_ERROR,
559aaa30
DS
72 .title = "BGP update packet with attribute data has a parse error, specific to the attribute",
73 .description = "BGP has received an update packet with an attribute that when parsed does not make sense in some manner",
74 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
75 },
76 {
e50f7cfd 77 .code = EC_BGP_ATTRIBUTE_PARSE_WITHDRAW,
559aaa30
DS
78 .title = "BGP update packet with a broken optional attribute has caused a withdraw of associated routes",
79 .description = "BGP has received a update packet with optional attributes that did not parse correctly, instead of resetting the peer, withdraw associated routes and note that this has happened",
80 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
81 },
82 {
e50f7cfd 83 .code = EC_BGP_ATTRIBUTE_FETCH_ERROR,
559aaa30
DS
84 .title = "BGP update packet with a broken length",
85 .description = "BGP has received a update packet with an attribute that has an incorrect length",
86 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
87 },
88 {
e50f7cfd 89 .code = EC_BGP_ATTRIBUTES_MISMATCH,
559aaa30
DS
90 .title = "BGP update packet with a length different than attribute data length",
91 .description = "BGP has received a update packet with attributes that when parsed do not correctly add up to packet data length",
92 .suggestion = "Gather log data from this and remote peer and open an Issue with this data",
93 },
7077f45c 94 {
e50f7cfd 95 .code = EC_BGP_DUMP,
7077f45c
DS
96 .title = "BGP MRT dump subsystem has encountered an issue",
97 .description = "BGP has found that the attempted write of MRT data to a dump file has failed",
98 .suggestion = "Ensure BGP has permissions to write the specified file",
99 },
63d430ce 100 {
e50f7cfd 101 .code = EC_BGP_UPDATE_PACKET_SHORT,
63d430ce
DS
102 .title = "BGP Update Packet is to Small",
103 .description = "The update packet received from a peer is to small",
104 .suggestion = "Determine the source of the update packet and examine that peer for what has gone wrong",
105 },
106 {
e50f7cfd 107 .code = EC_BGP_UPDATE_PACKET_LONG,
63d430ce
DS
108 .title = "BGP Update Packet is to large",
109 .description = "The update packet received from a peer is to large",
110 .suggestion = "Determine the source of the update packet and examine that peer for what has gone wrong",
111 },
112 {
e50f7cfd 113 .code = EC_BGP_UNRECOGNIZED_CAPABILITY,
63d430ce
DS
114 .title = "Unknown BGP Capability Received",
115 .description = "The negotiation of capabilities has received a capability that we do not know what to do with",
116 .suggestion = "Determine the source of the capability and remove the capability from what is sent",
117 },
28f22e26 118 {
e50f7cfd 119 .code = EC_BGP_NO_TCP_MD5,
28f22e26
DS
120 .title = "Unable to set TCP MD5 option on socket",
121 .description = "BGP attempted to setup TCP MD5 configuration on the socket as per configuration but was unable to",
122 .suggestion = "Please collect log files and open Issue",
123 },
124 {
e50f7cfd 125 .code = EC_BGP_NO_SOCKOPT_MARK,
28f22e26
DS
126 .title = "Unable to set socket MARK option",
127 .description = "BGP attempted to set the SO_MARK option for a socket and was unable to do so",
128 .suggestion = "Please collect log files and open Issue",
129 },
28642513 130 {
e50f7cfd 131 .code = EC_BGP_EVPN_PMSI_PRESENT,
28642513
DS
132 .title = "BGP Received a EVPN NLRI with PMSI included",
133 .description = "BGP has received a type-3 NLRI with PMSI information. At this time FRR is not capable of properly handling this NLRI type",
134 .suggestion = "Setup peer to not send this type of data to FRR"
135 },
136 {
e50f7cfd 137 .code = EC_BGP_EVPN_VPN_VNI,
28642513
DS
138 .title = "BGP has received a local macip and cannot properly handle it",
139 .description = "BGP has received a local macip from zebra and has no way to properly handle the macip because the vni is not setup properly",
140 .suggestion = "Ensure proper setup of BGP EVPN",
141 },
142 {
e50f7cfd 143 .code = EC_BGP_EVPN_ESI,
28642513
DS
144 .title = "BGP has received a local ESI for deletion",
145 .description = "BGP has received a local ESI for deletion but when attempting to find the stored data internally was unable to find the information for deletion",
146 .suggestion = "Gather logging and open an Issue",
147 },
01c4f23c 148 {
e50f7cfd 149 .code = EC_BGP_INVALID_LABEL_STACK,
01c4f23c
DS
150 .title = "BGP has received a label stack in a NLRI that does not have the BOS marked",
151 .description = "BGP when it receives a NLRI with a label stack should have the BOS marked, this received packet does not have this",
152 .suggestion = "Gather log information from here and remote peer and open an Issue",
153 },
f162a5b9 154 {
e50f7cfd 155 .code = EC_BGP_ZEBRA_SEND,
f162a5b9
DS
156 .title = "BGP has attempted to send data to zebra and has failed to do so",
157 .description = "BGP has attempted to send data to zebra but has been unable to do so",
158 .suggestion = "Gather log data, open an Issue and restart FRR"
159 },
065eaa36 160 {
e50f7cfd 161 .code = EC_BGP_CAPABILITY_INVALID_LENGTH,
065eaa36
DS
162 .title = "BGP has received a capability with an invalid length",
163 .description = "BGP has received a capability from it's peer who's size is wrong",
164 .suggestion = "Gather log files from here and from peer and open an Issue",
165 },
166 {
e50f7cfd 167 .code = EC_BGP_CAPABILITY_INVALID_DATA,
065eaa36
DS
168 .title = "BGP has received capability data with invalid information",
169 .description = "BGP has noticed that during processing of capability information that data was wrong",
170 .suggestion = "Gather log files from here and from peer and open an Issue",
171 },
172 {
e50f7cfd 173 .code = EC_BGP_CAPABILITY_VENDOR,
0437e105 174 .title = "BGP has received capability data specific to a particular vendor",
065eaa36
DS
175 .description = "BGP has received a capability that is vendor specific and as such we have no knowledge of how to use this capability in FRR",
176 .suggestion = "On peer turn off this feature"
177 },
178 {
e50f7cfd 179 .code = EC_BGP_CAPABILITY_UNKNOWN,
065eaa36
DS
180 .title = "BGP has received capability data for a unknown capability",
181 .description = "BGP has received a capability that it does not know how to decode. This may be due to a new feature that has not been coded into FRR or it may be a bug in the remote peer",
182 .suggestion = "Gather log files from here and from peer and open an Issue",
183 },
78cb6555 184 {
e50f7cfd 185 .code = EC_BGP_INVALID_NEXTHOP_LENGTH,
78cb6555
DS
186 .title = "BGP is attempting to write an invalid nexthop length value",
187 .description = "BGP is in the process of building NLRI information for a peer and has discovered an inconsistent internal state",
188 .suggestion = "Gather log files and open an Issue, restart FRR",
189 },
559aaa30
DS
190 {
191 .code = END_FERR,
192 }
193};
194
85cd2f9f 195static struct log_ref ferr_bgp_err[] = {
14454c9f 196 {
e50f7cfd 197 .code = EC_BGP_ATTR_FLAG,
14454c9f
DS
198 .title = "BGP attribute flag is incorrect",
199 .description = "BGP attribute flag is set to the wrong value (Optional/Transitive/Partial)",
0437e105 200 .suggestion = "Determine the source of the attribute and determine why the attribute flag has been set incorrectly"
14454c9f
DS
201 },
202 {
e50f7cfd 203 .code = EC_BGP_ATTR_LEN,
14454c9f 204 .title = "BGP attribute length is incorrect",
164ffab2 205 .description = "BGP attribute length is incorrect",
0437e105 206 .suggestion = "Determine the source of the attribute and determine why the attribute length has been set incorrectly"
14454c9f
DS
207 },
208 {
e50f7cfd 209 .code = EC_BGP_ATTR_ORIGIN,
14454c9f
DS
210 .title = "BGP attribute origin value invalid",
211 .description = "BGP attribute origin value is invalid",
0437e105 212 .suggestion = "Determine the source of the attribute and determine why the origin attribute has been set incorrectly"
14454c9f
DS
213 },
214 {
e50f7cfd 215 .code = EC_BGP_ATTR_MAL_AS_PATH,
14454c9f
DS
216 .title = "BGP as path is invalid",
217 .description = "BGP as path has been malformed",
0437e105 218 .suggestion = "Determine the source of the update and determine why the as path has been set incorrectly"
14454c9f
DS
219 },
220 {
e50f7cfd 221 .code = EC_BGP_ATTR_FIRST_AS,
14454c9f
DS
222 .title = "BGP as path first as is invalid",
223 .description = "BGP update has invalid first as in as path",
0437e105 224 .suggestion = "Determine the source of the update and determine why the as path first as value has been set incorrectly"
14454c9f
DS
225 },
226 {
e50f7cfd 227 .code = EC_BGP_ATTR_PMSI_TYPE,
14454c9f
DS
228 .title = "BGP PMSI tunnel attribute type is invalid",
229 .description = "BGP update has invalid type for PMSI tunnel",
0437e105 230 .suggestion = "Determine the source of the update and determine why the PMSI tunnel attribute type has been set incorrectly"
14454c9f
DS
231 },
232 {
e50f7cfd 233 .code = EC_BGP_ATTR_PMSI_LEN,
14454c9f
DS
234 .title = "BGP PMSI tunnel attribute length is invalid",
235 .description = "BGP update has invalid length for PMSI tunnel",
0437e105 236 .suggestion = "Determine the source of the update and determine why the PMSI tunnel attribute length has been set incorrectly"
14454c9f 237 },
14454c9f 238 {
e50f7cfd 239 .code = EC_BGP_PEER_GROUP,
14454c9f
DS
240 .title = "BGP peergroup operated on in error",
241 .description = "BGP operating on peer-group instead of peers included",
242 .suggestion = "Ensure the config doesn't contain peergroups contained within peergroups"
243 },
244 {
e50f7cfd 245 .code = EC_BGP_PEER_DELETE,
14454c9f
DS
246 .title = "BGP failed to delete peer structure",
247 .description = "BGP was unable to delete peer structure when address-family removed",
164ffab2 248 .suggestion = "Determine if all expected peers are removed and restart FRR if not. Most likely a bug"
14454c9f
DS
249 },
250 {
e50f7cfd 251 .code = EC_BGP_TABLE_CHUNK,
14454c9f
DS
252 .title = "BGP failed to get table chunk memory",
253 .description = "BGP unable to get chunk memory for table manager",
164ffab2 254 .suggestion = "Ensure there is adequate memory on the device to support the table requirements"
14454c9f
DS
255 },
256 {
e50f7cfd 257 .code = EC_BGP_MACIP_LEN,
14454c9f
DS
258 .title = "BGP received MACIP with invalid IP addr len",
259 .description = "BGP received MACIP with invalid IP addr len from Zebra",
260 .suggestion = "Verify MACIP entries inserted in Zebra are correct. Most likely a bug"
261 },
262 {
e50f7cfd 263 .code = EC_BGP_LM_ERROR,
14454c9f 264 .title = "BGP received invalid label manager message",
5e1e0166 265 .description = "BGP received invalid label manager message from label manager",
164ffab2 266 .suggestion = "Label manager sent invalid essage to BGP for wrong protocol, instance, etc. Most likely a bug"
14454c9f
DS
267 },
268 {
e50f7cfd 269 .code = EC_BGP_JSON_MEM_ERROR,
14454c9f 270 .title = "BGP unable to allocate memory for JSON output",
164ffab2 271 .description = "BGP attempted to generate JSON output and was unable to allocate the memory required",
0437e105 272 .suggestion = "Ensure that the device has adequate memory to support the required functions"
14454c9f
DS
273 },
274 {
e50f7cfd 275 .code = EC_BGP_UPDGRP_ATTR_LEN,
14454c9f
DS
276 .title = "BGP update had attributes too long to send",
277 .description = "BGP attempted to send an update but the attributes were too long to fit",
278 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
279 },
280 {
e50f7cfd 281 .code = EC_BGP_UPDGRP_CREATE,
14454c9f
DS
282 .title = "BGP update group creation failed",
283 .description = "BGP attempted to create an update group but was unable to",
284 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
285 },
286 {
e50f7cfd 287 .code = EC_BGP_UPDATE_SND,
14454c9f
DS
288 .title = "BGP error creating update packet",
289 .description = "BGP attempted to create an update packet but was unable to",
290 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
291 },
292 {
e50f7cfd 293 .code = EC_BGP_PKT_OPEN,
14454c9f
DS
294 .title = "BGP error receiving open packet",
295 .description = "BGP received an open from a peer that was invalid",
296 .suggestion = "Determine the sending peer and correct his invalid open packet"
297 },
14454c9f 298 {
e50f7cfd 299 .code = EC_BGP_SND_FAIL,
14454c9f
DS
300 .title = "BGP error sending to peer",
301 .description = "BGP attempted to respond to open from a peer and failed",
164ffab2 302 .suggestion = "BGP attempted to respond to an open and could not sene the packet. Check local IP address for source"
14454c9f
DS
303 },
304 {
e50f7cfd 305 .code = EC_BGP_INVALID_STATUS,
14454c9f
DS
306 .title = "BGP error receiving from peer",
307 .description = "BGP received an update from a peer but status was incorrect",
308 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
309 },
310 {
e50f7cfd 311 .code = EC_BGP_UPDATE_RCV,
14454c9f
DS
312 .title = "BGP error receiving update packet",
313 .description = "BGP received an invalid update packet",
314 .suggestion = "Determine the source of the update and resolve the invalid update being sent"
315 },
316 {
e50f7cfd 317 .code = EC_BGP_NO_CAP,
14454c9f
DS
318 .title = "BGP error due to capability not enabled",
319 .description = "BGP attempted a function that did not have the capability enabled",
320 .suggestion = "Enable the capability if this functionality is desired"
321 },
322 {
e50f7cfd 323 .code = EC_BGP_NOTIFY_RCV,
14454c9f
DS
324 .title = "BGP error receiving notify message",
325 .description = "BGP unable to process notification message",
164ffab2 326 .suggestion = "BGP notify received while in stopped state. If the problem persists, report for troubleshooting"
14454c9f
DS
327 },
328 {
e50f7cfd 329 .code = EC_BGP_KEEP_RCV,
14454c9f
DS
330 .title = "BGP error receiving keepalive packet",
331 .description = "BGP unable to process keepalive packet",
164ffab2 332 .suggestion = "BGP keepalive received while in stopped state. If the problem persists, report for troubleshooting"
14454c9f
DS
333 },
334 {
e50f7cfd 335 .code = EC_BGP_RFSH_RCV,
14454c9f
DS
336 .title = "BGP error receiving route refresh message",
337 .description = "BGP unable to process route refresh message",
164ffab2 338 .suggestion = "BGP route refresh received while in stopped state. If the problem persists, report for troubleshooting"},
14454c9f 339 {
e50f7cfd 340 .code = EC_BGP_CAP_RCV,
14454c9f
DS
341 .title = "BGP error capability message",
342 .description = "BGP unable to process received capability",
164ffab2 343 .suggestion = "BGP capability message received while in stopped state. If the problem persists, report for troubleshooting"
14454c9f
DS
344 },
345 {
e50f7cfd 346 .code = EC_BGP_NH_UPD,
14454c9f
DS
347 .title = "BGP error with nexthopo update",
348 .description = "BGP unable to process nexthop update",
164ffab2 349 .suggestion = "BGP received nexthop update but nexthop is not reachable in this bgp instance. Report for troubleshooting"
14454c9f 350 },
14454c9f 351 {
e50f7cfd 352 .code = EC_BGP_LABEL,
14454c9f
DS
353 .title = "Failure to apply label",
354 .description = "BGP attempted to attempted to apply a label but could not",
355 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
356 },
357 {
e50f7cfd 358 .code = EC_BGP_MULTIPATH,
14454c9f
DS
359 .title = "Multipath specified is invalid",
360 .description = "BGP was started with an invalid ecmp/multipath value",
361 .suggestion = "Correct the ecmp/multipath value supplied when starting the BGP daemon"
362 },
363 {
e50f7cfd 364 .code = EC_BGP_PKT_PROCESS,
14454c9f
DS
365 .title = "Failure to process a packet",
366 .description = "BGP attempted to process a received packet but could not",
367 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
368 },
369 {
e50f7cfd 370 .code = EC_BGP_CONNECT,
14454c9f
DS
371 .title = "Failure to connect to peer",
372 .description = "BGP attempted to send open to peer but couldn't connect",
373 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
374 },
375 {
e50f7cfd 376 .code = EC_BGP_FSM,
14454c9f
DS
377 .title = "BGP FSM issue",
378 .description = "BGP neighbor transition problem",
379 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
380 },
381 {
e50f7cfd 382 .code = EC_BGP_VNI,
def31c13 383 .title = "BGP VNI creation issue",
14454c9f
DS
384 .description = "BGP could not create a new VNI",
385 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
386 },
387 {
e50f7cfd 388 .code = EC_BGP_NO_DFLT,
14454c9f
DS
389 .title = "BGP default instance missing",
390 .description = "BGP could not find default instance",
391 .suggestion = "Define a default instance of BGP since some feature requires it's existence"
392 },
393 {
e50f7cfd 394 .code = EC_BGP_VTEP_INVALID,
14454c9f
DS
395 .title = "BGP remote VTEP invalid",
396 .description = "BGP remote VTEP is invalid and cannot be used",
397 .suggestion = "Correct remote VTEP configuration or resolve the source of the problem"
398 },
399 {
e50f7cfd 400 .code = EC_BGP_ES_INVALID,
14454c9f
DS
401 .title = "BGP ES route error",
402 .description = "BGP ES route incorrect, learned both local and remote",
403 .suggestion = "Correct configuration or addressing so that same not learned both local and remote"
404 },
405 {
e50f7cfd 406 .code = EC_BGP_EVPN_ROUTE_DELETE,
14454c9f
DS
407 .title = "BGP EVPN route delete error",
408 .description = "BGP attempted to delete an EVPN route and failed",
409 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
410 },
411 {
e50f7cfd 412 .code = EC_BGP_EVPN_FAIL,
14454c9f
DS
413 .title = "BGP EVPN install/uninstall error",
414 .description = "BGP attempted to install or uninstall an EVPN prefix and failed",
415 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
416 },
417 {
e50f7cfd 418 .code = EC_BGP_EVPN_ROUTE_INVALID,
14454c9f
DS
419 .title = "BGP EVPN route received with invalid contents",
420 .description = "BGP received an EVPN route with invalid contents",
164ffab2 421 .suggestion = "Determine the source of the EVPN route and resolve whatever is causing invalid contents"
14454c9f
DS
422 },
423 {
e50f7cfd 424 .code = EC_BGP_EVPN_ROUTE_CREATE,
14454c9f
DS
425 .title = "BGP EVPN route create error",
426 .description = "BGP attempted to create an EVPN route and failed",
427 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
428 },
429 {
e50f7cfd 430 .code = EC_BGP_ES_CREATE,
14454c9f
DS
431 .title = "BGP EVPN ES entry create error",
432 .description = "BGP attempted to create an EVPN ES entry and failed",
433 .suggestion = "Most likely a bug. If the problem persists, report the problem for troubleshooting"
434 },
435 {
e50f7cfd 436 .code = EC_BGP_MULTI_INSTANCE,
14454c9f
DS
437 .title = "BGP config multi-instance issue",
438 .description = "BGP configuration attempting multiple instances without enabling the feature",
439 .suggestion = "Correct the configuration so that bgp multiple-instance is enabled if desired"
440 },
441 {
e50f7cfd 442 .code = EC_BGP_EVPN_AS_MISMATCH,
14454c9f
DS
443 .title = "BGP AS configuration issue",
444 .description = "BGP configuration attempted for a different AS than currently configured",
445 .suggestion = "Correct the configuration so that the correct BGP AS number is used"
446 },
447 {
e50f7cfd 448 .code = EC_BGP_EVPN_INSTANCE_MISMATCH,
14454c9f
DS
449 .title = "BGP EVPN AS and process name mismatch",
450 .description = "BGP configuration has AS and process name mismatch",
164ffab2 451 .suggestion = "Correct the configuration so that the BGP AS number and instance name are consistent"
14454c9f 452 },
4f3be667 453 {
e50f7cfd 454 .code = EC_BGP_FLOWSPEC_PACKET,
4f3be667
DS
455 .title = "BGP Flowspec packet processing error",
456 .description = "The BGP flowspec subsystem has detected a error in the send or receive of a packet",
457 .suggestion = "Gather log files from both sides of the peering relationship and open an issue"
458 },
459 {
e50f7cfd 460 .code = EC_BGP_FLOWSPEC_INSTALLATION,
4f3be667
DS
461 .title = "BGP Flowspec Installation/removal Error",
462 .description = "The BGP flowspec subsystem has detected that there was a failure for installation/removal/modification of Flowspec from the dataplane",
463 .suggestion = "Gather log files from the router and open an issue, Restart FRR"
464 },
9bf904cc
DS
465 {
466 .code = EC_BGP_DOPPELGANGER_CONFIG,
467 .title = "BGP has detected a configuration overwrite during peer collision resolution",
468 .description = "As part of BGP startup, the peer and ourselves can start connections to each other at the same time. During this process BGP received additional configuration, but it was only applied to one of the two nascent connections. Depending on the result of collision detection and resolution this configuration might be lost. To remedy this, after performing collision detection and resolution the peer session has been reset in order to apply the new configuration.",
469 .suggestion = "Gather data and open a Issue so that this developmental escape can be fixed, the peer should have been reset",
470 },
def31c13
DS
471 {
472 .code = END_FERR,
473 }
474};
247dcce2 475/* clang-format on */
14454c9f 476
def31c13 477void bgp_error_init(void)
14454c9f 478{
85cd2f9f 479 log_ref_add(ferr_bgp_err);
63d430ce 480 log_ref_add(ferr_bgp_warn);
14454c9f 481}