1 /*
2  * BGP-specific error messages.
3  * Copyright (C) 2018 Cumulus Networks, Inc.
4  *               Don Slice
5  *
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.
10  *
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.
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  */
20 
21 #ifndef __BGP_ERRORS_H__
22 #define __BGP_ERRORS_H__
23 
24 #include "lib/ferr.h"
25 
26 enum bgp_log_refs {
27 
28 	EC_BGP_ATTR_FLAG = BGP_FERR_START,
29 	EC_BGP_ATTR_LEN,
30 	EC_BGP_ATTR_ORIGIN,
31 	EC_BGP_ATTR_MAL_AS_PATH,
32 	EC_BGP_ATTR_FIRST_AS,
33 	EC_BGP_ATTR_MARTIAN_NH,
34 	EC_BGP_ATTR_PMSI_TYPE,
35 	EC_BGP_ATTR_PMSI_LEN,
36 	EC_BGP_ATTR_NH_SEND_LEN,
37 	EC_BGP_PEER_GROUP,
38 	EC_BGP_PEER_DELETE,
39 	EC_BGP_TABLE_CHUNK,
40 	EC_BGP_MACIP_LEN,
41 	EC_BGP_LM_ERROR,
42 	EC_BGP_JSON_MEM_ERROR,
43 	EC_BGP_UPDGRP_ATTR_LEN,
44 	EC_BGP_UPDGRP_CREATE,
45 	EC_BGP_UPDATE_SND,
46 	EC_BGP_PKT_OPEN,
47 	EC_BGP_SND_FAIL,
48 	EC_BGP_INVALID_STATUS,
49 	EC_BGP_UPDATE_RCV,
50 	EC_BGP_NO_CAP,
51 	EC_BGP_NOTIFY_RCV,
52 	EC_BGP_KEEP_RCV,
53 	EC_BGP_RFSH_RCV,
54 	EC_BGP_CAP_RCV,
55 	EC_BGP_NH_UPD,
56 	EC_BGP_LABEL,
57 	EC_BGP_MULTIPATH,
58 	EC_BGP_PKT_PROCESS,
59 	EC_BGP_CONNECT,
60 	EC_BGP_FSM,
61 	EC_BGP_VNI,
62 	EC_BGP_NO_DFLT,
63 	EC_BGP_VTEP_INVALID,
64 	EC_BGP_ES_INVALID,
65 	EC_BGP_EVPN_ROUTE_DELETE,
66 	EC_BGP_EVPN_FAIL,
67 	EC_BGP_EVPN_ROUTE_INVALID,
68 	EC_BGP_EVPN_ROUTE_CREATE,
69 	EC_BGP_ES_CREATE,
70 	EC_BGP_EVPN_AS_MISMATCH,
71 	EC_BGP_EVPN_INSTANCE_MISMATCH,
72 	EC_BGP_FLOWSPEC_PACKET,
73 	EC_BGP_FLOWSPEC_INSTALLATION,
74 	EC_BGP_ASPATH_FEWER_HOPS,
75 	EC_BGP_DEFUNCT_SNPA_LEN,
76 	EC_BGP_MISSING_ATTRIBUTE,
77 	EC_BGP_ATTRIBUTE_TOO_SMALL,
78 	EC_BGP_EXT_ATTRIBUTE_TOO_SMALL,
79 	EC_BGP_ATTRIBUTE_REPEATED,
80 	EC_BGP_ATTRIBUTE_TOO_LARGE,
81 	EC_BGP_ATTRIBUTE_PARSE_ERROR,
82 	EC_BGP_ATTRIBUTE_PARSE_WITHDRAW,
83 	EC_BGP_ATTRIBUTE_FETCH_ERROR,
84 	EC_BGP_ATTRIBUTES_MISMATCH,
85 	EC_BGP_DUMP,
86 	EC_BGP_UPDATE_PACKET_SHORT,
87 	EC_BGP_UPDATE_PACKET_LONG,
88 	EC_BGP_UNRECOGNIZED_CAPABILITY,
89 	EC_BGP_NO_TCP_MD5,
90 	EC_BGP_EVPN_PMSI_PRESENT,
91 	EC_BGP_EVPN_VPN_VNI,
92 	EC_BGP_EVPN_ESI,
93 	EC_BGP_INVALID_LABEL_STACK,
94 	EC_BGP_ZEBRA_SEND,
95 	EC_BGP_CAPABILITY_INVALID_LENGTH,
96 	EC_BGP_CAPABILITY_INVALID_DATA,
97 	EC_BGP_CAPABILITY_VENDOR,
98 	EC_BGP_CAPABILITY_UNKNOWN,
99 	EC_BGP_INVALID_NEXTHOP_LENGTH,
100 	EC_BGP_DOPPELGANGER_CONFIG,
101 	EC_BGP_ROUTER_ID_SAME,
102 };
103 
104 extern void bgp_error_init(void);
105 
106 #endif
107