]>
Commit | Line | Data |
---|---|---|
1 | // SPDX-License-Identifier: GPL-2.0-or-later | |
2 | /* | |
3 | * pathd-specific error messages. | |
4 | * Copyright (C) 2020 NetDEF, Inc. | |
5 | */ | |
6 | ||
7 | #include <zebra.h> | |
8 | ||
9 | #include "lib/ferr.h" | |
10 | #include "path_errors.h" | |
11 | ||
12 | /* clang-format off */ | |
13 | static struct log_ref ferr_path_err[] = { | |
14 | { | |
15 | .code = EC_PATH_SYSTEM_CALL, | |
16 | .title = "Thread setup error", | |
17 | .description = "A system call for creating, or setting up PCEP module's pthread failed", | |
18 | .suggestion = "Open an Issue with all relevant log files and restart FRR" | |
19 | }, | |
20 | { | |
21 | .code = EC_PATH_PCEP_PCC_INIT, | |
22 | .title = "PCC initialization error", | |
23 | .description = "pceplib PCC initialization call failed", | |
24 | .suggestion = "Open an Issue with all relevant log files and restart FRR" | |
25 | }, | |
26 | { | |
27 | .code = EC_PATH_PCEP_PCC_FINI, | |
28 | .title = "PCC finalization error", | |
29 | .description = "pceplib PCC finalization call failed", | |
30 | .suggestion = "Open an Issue with all relevant log files and restart FRR" | |
31 | }, | |
32 | { | |
33 | .code = EC_PATH_PCEP_PCC_CONF_UPDATE, | |
34 | .title = "PCC configuration update error", | |
35 | .description = "The update of the PCC configuration failed", | |
36 | .suggestion = "Open an Issue with all relevant log files and restart FRR" | |
37 | }, | |
38 | { | |
39 | .code = END_FERR, | |
40 | } | |
41 | }; | |
42 | ||
43 | static struct log_ref ferr_path_warn[] = { | |
44 | { | |
45 | .code = EC_PATH_PCEP_LIB_CONNECT, | |
46 | .title = "PCC connection error", | |
47 | .description = "The PCEP module failed to connected to configured PCE", | |
48 | .suggestion = "Check the connectivity between the PCC and the PCE" | |
49 | }, | |
50 | { | |
51 | .code = EC_PATH_PCEP_PROTOCOL_ERROR, | |
52 | .title = "PCEP protocol error", | |
53 | .description = "The PCE did not respect the PCEP protocol", | |
54 | .suggestion = "Open an Issue with all relevant log files" | |
55 | }, | |
56 | { | |
57 | .code = EC_PATH_PCEP_MISSING_SOURCE_ADDRESS, | |
58 | .title = "PCC connection error", | |
59 | .description = "The PCEP module did not try to connect because it is missing a source address", | |
60 | .suggestion = "Wait for the router ID to be defined or set the PCC source address in the configuration" | |
61 | }, | |
62 | { | |
63 | .code = EC_PATH_PCEP_RECOVERABLE_INTERNAL_ERROR, | |
64 | .title = "Recoverable internal error", | |
65 | .description = "Some recoverable internal error", | |
66 | .suggestion = "Open an Issue with all relevant log files" | |
67 | }, | |
68 | { | |
69 | .code = EC_PATH_PCEP_UNSUPPORTED_PCEP_FEATURE, | |
70 | .title = "Unsupported PCEP feature", | |
71 | .description = "Received an unsupported PCEP message", | |
72 | .suggestion = "The PCC and PCE are probably not compatible. Open an Issue with all relevant log files" | |
73 | }, | |
74 | { | |
75 | .code = EC_PATH_PCEP_UNEXPECTED_PCEP_MESSAGE, | |
76 | .title = "Unexpected PCEP message", | |
77 | .description = "The PCEP module received an unexpected PCEP message", | |
78 | .suggestion = "Open an Issue with all relevant log files" | |
79 | }, | |
80 | { | |
81 | .code = EC_PATH_PCEP_UNEXPECTED_PCEPLIB_EVENT, | |
82 | .title = "Unexpected pceplib event", | |
83 | .description = "The PCEP module received an unexpected event from pceplib", | |
84 | .suggestion = "Open an Issue with all relevant log files" | |
85 | }, | |
86 | { | |
87 | .code = EC_PATH_PCEP_UNEXPECTED_PCEP_OBJECT, | |
88 | .title = "Unexpected PCEP object", | |
89 | .description = "The PCEP module received an unexpected PCEP object from a PCE", | |
90 | .suggestion = "Open an Issue with all relevant log files" | |
91 | }, | |
92 | { | |
93 | .code = EC_PATH_PCEP_UNEXPECTED_PCEP_TLV, | |
94 | .title = "Unexpected PCEP TLV", | |
95 | .description = "The PCEP module received an unexpected PCEP TLV from a PCE", | |
96 | .suggestion = "Open an Issue with all relevant log files" | |
97 | }, | |
98 | { | |
99 | .code = EC_PATH_PCEP_UNEXPECTED_PCEP_ERO_SUBOBJ, | |
100 | .title = "Unexpected PCEP ERO sub-object", | |
101 | .description = "The PCEP module received an unexpected PCEP ERO sub-object from a PCE", | |
102 | .suggestion = "Open an Issue with all relevant log files" | |
103 | }, | |
104 | { | |
105 | .code = EC_PATH_PCEP_UNEXPECTED_SR_NAI, | |
106 | .title = "Unexpected PCEP SR segment NAI", | |
107 | .description = "The PCEP module received an SR segment with an unsupported NAI specification from the PCE", | |
108 | .suggestion = "Open an Issue with all relevant log files" | |
109 | }, | |
110 | { | |
111 | .code = EC_PATH_PCEP_COMPUTATION_REQUEST_TIMEOUT, | |
112 | .title = "Computation request timeout", | |
113 | .description = "The PCE did not respond in time to the PCC computation request", | |
114 | .suggestion = "The PCE is overloaded or incompatible with the PCC, try with a different PCE" | |
115 | }, | |
116 | { | |
117 | .code = END_FERR, | |
118 | } | |
119 | ||
120 | }; | |
121 | /* clang-format on */ | |
122 | ||
123 | void path_error_init(void) | |
124 | { | |
125 | log_ref_add(ferr_path_err); | |
126 | log_ref_add(ferr_path_warn); | |
127 | } |