2 * bgp_errors - code for error messages that may occur in the
4 * Copyright (C) 2018 Cumulus Networks, Inc.
7 * FRR is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2, or (at your option) any
12 * FRR is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; see the file COPYING; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #include <bgp_errors.h>
24 static struct ferr_ref ferr_bgp_err
[] = {
26 .code
= BGP_ERR_ATTR_FLAG
,
27 .title
= "BGP attribute flag is incorrect",
28 .description
= "BGP attribute flag is set to the wrong value (Optional/Transitive/Partial)",
29 .suggestion
= "Determine the soure of the attribute and determine why the attribute\n flag has been set incorrectly"
32 .code
= BGP_ERR_ATTR_LEN
,
33 .title
= "BGP attribute length is incorrect",
34 .description
= "BGP attribute length is incorrect)",
35 .suggestion
= "Determine the soure of the attribute and determine why the attribute\nlength has been set incorrectly"
38 .code
= BGP_ERR_ATTR_ORIGIN
,
39 .title
= "BGP attribute origin value invalid",
40 .description
= "BGP attribute origin value is invalid",
41 .suggestion
= "Determine the soure of the attribute and determine why the origin\nattribute has been set incorrectly"
44 .code
= BGP_ERR_ATTR_MAL_AS_PATH
,
45 .title
= "BGP as path is invalid",
46 .description
= "BGP as path has been malformed",
47 .suggestion
= "Determine the soure of the update and determine why the as path has\nbeen set incorrectly"
50 .code
= BGP_ERR_ATTR_FIRST_AS
,
51 .title
= "BGP as path first as is invalid",
52 .description
= "BGP update has invalid first as in as path",
53 .suggestion
= "Determine the soure of the update and determine why the as path first\nas value has been set incorrectly"
56 .code
= BGP_ERR_ATTR_PMSI_TYPE
,
57 .title
= "BGP PMSI tunnel attribute type is invalid",
58 .description
= "BGP update has invalid type for PMSI tunnel",
59 .suggestion
= "Determine the soure of the update and determine why the PMSI tunnel\nattribute type has been set incorrectly"
62 .code
= BGP_ERR_ATTR_PMSI_LEN
,
63 .title
= "BGP PMSI tunnel attribute length is invalid",
64 .description
= "BGP update has invalid length for PMSI tunnel",
65 .suggestion
= "Determine the soure of the update and determine why the PMSI tunnel\nattribute length has been set incorrectly"
68 .code
= BGP_ERR_PEER_GROUP
,
69 .title
= "BGP peergroup operated on in error",
70 .description
= "BGP operating on peer-group instead of peers included",
71 .suggestion
= "Ensure the config doesn't contain peergroups contained within peergroups"
74 .code
= BGP_ERR_PEER_DELETE
,
75 .title
= "BGP failed to delete peer structure",
76 .description
= "BGP was unable to delete peer structure when address-family removed",
77 .suggestion
= "Determine if all expected peers are removed and restart FRR if not.\nMost likely a bug"
80 .code
= BGP_ERR_TABLE_CHUNK
,
81 .title
= "BGP failed to get table chunk memory",
82 .description
= "BGP unable to get chunk memory for table manager",
83 .suggestion
= "Ensure there is adequate memory on the device to support the table\nrequirements"
86 .code
= BGP_ERR_MACIP_LEN
,
87 .title
= "BGP received MACIP with invalid IP addr len",
88 .description
= "BGP received MACIP with invalid IP addr len from Zebra",
89 .suggestion
= "Verify MACIP entries inserted in Zebra are correct. Most likely a bug"
92 .code
= BGP_ERR_LM_ERROR
,
93 .title
= "BGP received invalid label manager message",
94 .description
= "BGP received nvalid label manager message from label manager",
95 .suggestion
= "Label manager sent invalid essage to BGP for wrong protocol, instance, etc.\nMost likely a bug"
98 .code
= BGP_ERR_JSON_MEM_ERROR
,
99 .title
= "BGP unable to allocate memory for JSON output",
100 .description
= "BGP attempted to generate JSON output and was unable to allocate\nthe memory required",
101 .suggestion
= "Ensure that the device has adequate memory to suport the required functions"
104 .code
= BGP_ERR_UPDGRP_ATTR_LEN
,
105 .title
= "BGP update had attributes too long to send",
106 .description
= "BGP attempted to send an update but the attributes were too long to fit",
107 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
110 .code
= BGP_ERR_UPDGRP_CREATE
,
111 .title
= "BGP update group creation failed",
112 .description
= "BGP attempted to create an update group but was unable to",
113 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
116 .code
= BGP_ERR_UPDATE_SND
,
117 .title
= "BGP error creating update packet",
118 .description
= "BGP attempted to create an update packet but was unable to",
119 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
122 .code
= BGP_ERR_PKT_OPEN
,
123 .title
= "BGP error receiving open packet",
124 .description
= "BGP received an open from a peer that was invalid",
125 .suggestion
= "Determine the sending peer and correct his invalid open packet"
128 .code
= BGP_ERR_SND_FAIL
,
129 .title
= "BGP error sending to peer",
130 .description
= "BGP attempted to respond to open from a peer and failed",
131 .suggestion
= "BGP attempted to respond to an open and could not sene the packet.\nCheck local IP address for source"
134 .code
= BGP_ERR_INVALID_STATUS
,
135 .title
= "BGP error receiving from peer",
136 .description
= "BGP received an update from a peer but status was incorrect",
137 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
140 .code
= BGP_ERR_UPDATE_RCV
,
141 .title
= "BGP error receiving update packet",
142 .description
= "BGP received an invalid update packet",
143 .suggestion
= "Determine the source of the update and resolve the invalid update being sent"
146 .code
= BGP_ERR_NO_CAP
,
147 .title
= "BGP error due to capability not enabled",
148 .description
= "BGP attempted a function that did not have the capability enabled",
149 .suggestion
= "Enable the capability if this functionality is desired"
152 .code
= BGP_ERR_NOTIFY_RCV
,
153 .title
= "BGP error receiving notify message",
154 .description
= "BGP unable to process notification message",
155 .suggestion
= "BGP notify received while in stopped state. If the problem persists,\nreport for troubleshooting"
158 .code
= BGP_ERR_KEEP_RCV
,
159 .title
= "BGP error receiving keepalive packet",
160 .description
= "BGP unable to process keepalive packet",
161 .suggestion
= "BGP keepalive received while in stopped state. If the problem persists,\nreport for troubleshooting"
164 .code
= BGP_ERR_RFSH_RCV
,
165 .title
= "BGP error receiving route refresh message",
166 .description
= "BGP unable to process route refresh message",
167 .suggestion
= "BGP route refresh received while in stopped state. If the problem persists,\nreport for troubleshooting"},
169 .code
= BGP_ERR_CAP_RCV
,
170 .title
= "BGP error capability message",
171 .description
= "BGP unable to process received capability",
172 .suggestion
= "BGP capability message received while in stopped state. If the problem\npersists, report for troubleshooting"
175 .code
= BGP_ERR_NH_UPD
,
176 .title
= "BGP error with nexthopo update",
177 .description
= "BGP unable to process nexthop update",
178 .suggestion
= "BGP received nexthop update but nexthop is not reachable in this bgp\ninstance. Report for troubleshooting"
181 .code
= BGP_ERR_LABEL
,
182 .title
= "Failure to apply label",
183 .description
= "BGP attempted to attempted to apply a label but could not",
184 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
187 .code
= BGP_ERR_MULTIPATH
,
188 .title
= "Multipath specified is invalid",
189 .description
= "BGP was started with an invalid ecmp/multipath value",
190 .suggestion
= "Correct the ecmp/multipath value supplied when starting the BGP daemon"
193 .code
= BGP_ERR_PKT_PROCESS
,
194 .title
= "Failure to process a packet",
195 .description
= "BGP attempted to process a received packet but could not",
196 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
199 .code
= BGP_ERR_CONNECT
,
200 .title
= "Failure to connect to peer",
201 .description
= "BGP attempted to send open to peer but couldn't connect",
202 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
206 .title
= "BGP FSM issue",
207 .description
= "BGP neighbor transition problem",
208 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
212 .title
= "BGP VNI creation issue",
213 .description
= "BGP could not create a new VNI",
214 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
217 .code
= BGP_ERR_NO_DFLT
,
218 .title
= "BGP default instance missing",
219 .description
= "BGP could not find default instance",
220 .suggestion
= "Define a default instance of BGP since some feature requires it's existence"
223 .code
= BGP_ERR_VTEP_INVALID
,
224 .title
= "BGP remote VTEP invalid",
225 .description
= "BGP remote VTEP is invalid and cannot be used",
226 .suggestion
= "Correct remote VTEP configuration or resolve the source of the problem"
229 .code
= BGP_ERR_ES_INVALID
,
230 .title
= "BGP ES route error",
231 .description
= "BGP ES route incorrect, learned both local and remote",
232 .suggestion
= "Correct configuration or addressing so that same not learned both local and remote"
235 .code
= BGP_ERR_EVPN_ROUTE_DELETE
,
236 .title
= "BGP EVPN route delete error",
237 .description
= "BGP attempted to delete an EVPN route and failed",
238 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
241 .code
= BGP_ERR_EVPN_FAIL
,
242 .title
= "BGP EVPN install/uninstall error",
243 .description
= "BGP attempted to install or uninstall an EVPN prefix and failed",
244 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
247 .code
= BGP_ERR_EVPN_ROUTE_INVALID
,
248 .title
= "BGP EVPN route received with invalid contents",
249 .description
= "BGP received an EVPN route with invalid contents",
250 .suggestion
= "Determine the source of the EVPN route and resolve whatever is causing\ninvalid contents"
253 .code
= BGP_ERR_EVPN_ROUTE_CREATE
,
254 .title
= "BGP EVPN route create error",
255 .description
= "BGP attempted to create an EVPN route and failed",
256 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
259 .code
= BGP_ERR_ES_CREATE
,
260 .title
= "BGP EVPN ES entry create error",
261 .description
= "BGP attempted to create an EVPN ES entry and failed",
262 .suggestion
= "Most likely a bug. If the problem persists, report the problem for troubleshooting"
265 .code
= BGP_ERR_MULTI_INSTANCE
,
266 .title
= "BGP config multi-instance issue",
267 .description
= "BGP configuration attempting multiple instances without enabling the feature",
268 .suggestion
= "Correct the configuration so that bgp multiple-instance is enabled if desired"
271 .code
= BGP_ERR_EVPN_AS_MISMATCH
,
272 .title
= "BGP AS configuration issue",
273 .description
= "BGP configuration attempted for a different AS than currently configured",
274 .suggestion
= "Correct the configuration so that the correct BGP AS number is used"
277 .code
= BGP_ERR_EVPN_INSTANCE_MISMATCH
,
278 .title
= "BGP EVPN AS and process name mismatch",
279 .description
= "BGP configuration has AS and process name mismatch",
280 .suggestion
= "Correct the configuration so that the BGP AS number and instance\nname are consistent"
287 void bgp_error_init(void)
291 ferr_ref_add(ferr_bgp_err
);