BUG-64 : initial rewrite, XROSubobjectRegistry.
[bgpcep.git] / pcep / spi / src / main / java / org / opendaylight / protocol / pcep / spi / PCEPErrors.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.protocol.pcep.spi;
9
10 /**
11  * Possible errors listed in RFC5440, RFC 5455 and stateful draft.
12  * 
13  * @see <a href="http://tools.ietf.org/html/rfc5440#section-9.12">PCEP-ERROR Object(RFC5440)</a>, <a href=
14  *      "http://tools.ietf.org/html/draft-ietf-pce-stateful-pce-07#section-8.4" >PCEP-ERROR Object(stateful draft)</a>,
15  *      <a href="http://tools.ietf.org/html/rfc5455#section-3.6">Error Codes for CLASSTYPE Object(RFC5455)</a>, <a href=
16  *      "http://www.ietf.org/id/draft-crabbe-pce-pce-initiated-lsp-00.txt#section-7.1" >PCEP-Error Object</a>
17  */
18 public enum PCEPErrors {
19         /**
20          * Reception of an invalid Open message or a non Open message.
21          */
22         NON_OR_INVALID_OPEN_MSG,
23         /**
24          * No Open message received before the expiration of the OpenWait timer.
25          */
26         NO_OPEN_BEFORE_EXP_OPENWAIT,
27         /**
28          * Unacceptable and non-negotiable session characteristics.
29          */
30         NON_ACC_NON_NEG_SESSION_CHAR,
31         /**
32          * Unacceptable but negotiable session characteristics.
33          */
34         NON_ACC_NEG_SESSION_CHAR,
35         /**
36          * Reception of a second Open message with still unacceptable session characteristics.
37          */
38         SECOND_OPEN_MSG,
39         /**
40          * Reception of a PCErr message proposing unacceptable session characteristics.
41          */
42         PCERR_NON_ACC_SESSION_CHAR,
43         /**
44          * No Keepalive or PCErr message received before the expiration of the KeepWait timer.
45          */
46         NO_MSG_BEFORE_EXP_KEEPWAIT,
47         /**
48          * Capability not supported.
49          */
50         CAPABILITY_NOT_SUPPORTED,
51         /**
52          * PCEP version not supported.
53          */
54         PCEP_VERSION_NOT_SUPPORTED,
55         /**
56          * Unrecognized object class.
57          */
58         UNRECOGNIZED_OBJ_CLASS,
59         /**
60          * Unrecognized object Type.
61          */
62         UNRECOGNIZED_OBJ_TYPE,
63         /**
64          * Not supported object class.
65          */
66         NOT_SUPPORTED_OBJ_CLASS,
67         /**
68          * Not supported object Type.
69          */
70         NOT_SUPPORTED_OBJ_TYPE,
71         /**
72          * C bit of the METRIC object set (request rejected).
73          */
74         C_BIT_SET,
75         /**
76          * O bit of the RP object cleared (request rejected).
77          */
78         O_BIT_SET,
79         /**
80          * Objective function not allowed (request rejected)
81          */
82         OF_NOT_ALLOWED,
83         /**
84          * OF bit of the RP object set (request rejected)
85          */
86         OF_BIT_SET,
87         /**
88          * Global concurrent optimization not allowed (GCO extension)
89          */
90         GCO_NOT_ALLOWED,
91         /**
92          * P2MP Path computation is not allowed
93          */
94         P2MP_COMPUTATION_NOT_ALLOWED,
95         /**
96          * RP object missing
97          */
98         RP_MISSING,
99         /**
100          * RRO missing for a reoptimization request (R bit of the RP object set).
101          */
102         RRO_MISSING,
103         /**
104          * END-POINTS object missing
105          */
106         END_POINTS_MISSING,
107         /**
108          * LSP cleanup TLV missing
109          */
110         LSP_CLEANUP_TLV_MISSING,
111         /**
112          * SYMBOLIC-PATH-NAME TLV missing
113          */
114         SYMBOLIC_PATH_NAME_MISSING,
115         /**
116          * Synchronized path computation request missing.
117          */
118         SYNC_PATH_COMP_REQ_MISSING,
119         /**
120          * Unknown request reference
121          */
122         UNKNOWN_REQ_REF,
123         /**
124          * Attempt to establish a second PCEP session.
125          */
126         ATTEMPT_2ND_SESSION,
127         /**
128          * LSP Object missing.
129          */
130         LSP_MISSING,
131         /**
132          * ERO Object missing for a path in an LSP Update Request where TE-LSP setup is requested.
133          */
134         ERO_MISSING,
135         /**
136          * Srp Object missing for a path in an LSP Update Request where TE-LSP setup is requested.
137          */
138         SRP_MISSING,
139         /**
140          * LSP-IDENTIFIERS TLV missing for a path in an LSP Update Request where TE-LSP setup is requested.
141          */
142         LSP_IDENTIFIERS_TLV_MISSING,
143         /**
144          * Reception of an object with P flag not set although the P flag must be set according to this specification.
145          */
146         P_FLAG_NOT_SET,
147         /**
148          * Insufficient memory (GCO extension)
149          */
150         INSUFFICIENT_MEMORY,
151         /**
152          * Global concurrent optimization not supported (GCO extension)
153          */
154         GCO_NOT_SUPPORTED,
155         /**
156          * Diffserv-aware TE error: Unsupported Class-Type.
157          */
158         UNSUPPORTED_CT,
159         /**
160          * Diffserv-aware TE error: Invalid Class-Type.
161          */
162         INVALID_CT,
163         /**
164          * Diffserv-aware TE error: Class-Type and setup priority do not form a configured TE-class.
165          */
166         CT_AND_SETUP_PRIORITY_DO_NOT_FORM_TE_CLASS,
167
168         /**
169          * The PCE cannot satisfy the request due to insufficient memory
170          */
171         CANNOT_SATISFY_P2MP_REQUEST_DUE_TO_INSUFFISIENT_MEMMORY,
172         /**
173          * The PCE is not capable of P2MP computation
174          */
175         NOT_CAPPABLE_P2MP_COMPUTATION,
176         /**
177          * The PCE is not capable to satisfy the request due to no END-POINTS with leaf type 2
178          */
179         P2MP_NOT_CAPPABLE_SATISFY_REQ_DUE_LT2,
180         /**
181          * The PCE is not capable to satisfy the request due to no END-POINTS with leaf type 3
182          */
183         P2MP_NOT_CAPPABLE_SATISFY_REQ_DUE_LT3,
184         /**
185          * The PCE is not capable to satisfy the request due to no END-POINTS with leaf type 4
186          */
187         P2MP_NOT_CAPPABLE_SATISFY_REQ_DUE_LT4,
188         /**
189          * The PCE is not capable to satisfy the request due to inconsistent END-POINTS
190          */
191         P2MP_NOT_CAPPABLE_SATISFY_REQ_DUE_INCONSISTENT_EP,
192         /**
193          * P2MP Fragmented request failure
194          */
195         P2MP_FRAGMENTATION_FAILRUE,
196         /**
197          * Attempted LSP Update Request for a non- delegated LSP. The PCEP-ERROR Object is followed by the LSP Object that
198          * identifies the LSP.
199          */
200         UPDATE_REQ_FOR_NON_LSP,
201         /**
202          * Attempted LSP Update Request if active stateful PCE capability was not negotiated active PCE.
203          */
204         UPDATE_REQ_FOR_NO_STATEFUL,
205         /**
206          * Attempted LSP Update Request for an LSP identified by an unknown PLSP-ID.
207          */
208         UNKNOWN_PLSP_ID,
209         /**
210          * A PCE indicates to a PCC that it has exceeded the resource limit allocated for its state, and thus it cannot
211          * accept and process its LSP State Report message.
212          */
213         RESOURCE_LIMIT_EXCEEDED,
214         /**
215          * PCE-initiated LSP limit reached
216          */
217         LSP_LIMIT_EXCEEDED,
218         /**
219          * Delegation for PCE-initiated LSP cannot be revoked
220          */
221         DELEGATION_NON_REVOKABLE,
222         /**
223          * Non-zero PLSP-ID in LSP initiation request
224          */
225         NON_ZERO_PLSPID,
226         /**
227          * A PCE indicates to a PCC that it can not process (an otherwise valid) LSP State Report. The PCEP-ERROR Object is
228          * followed by the LSP Object that identifies the LSP.
229          */
230         CANNOT_PROCESS_STATE_REPORT,
231         /**
232          * LSP Database version mismatch.
233          */
234         LSP_DB_VERSION_MISMATCH,
235         /**
236          * The LSP-DB-VERSION TLV Missing when State Synchronization Avoidance enabled.
237          */
238         DB_VERSION_TLV_MISSING_WHEN_SYNC_ALLOWED,
239         /**
240          * A PCC indicates to a PCE that it can not complete the state synchronization,
241          */
242         CANNOT_COMPLETE_STATE_SYNC,
243         /**
244          * SYMBOLIC-PATH-NAME in use
245          */
246         USED_SYMBOLIC_PATH_NAME,
247         /**
248          * LSP instantiation error: Unacceptable instantiation parameters
249          */
250         LSP_UNACC_INST_PARAMS,
251         /**
252          * LSP instantiation error: Internal error
253          */
254         LSP_INTERNAL_ERROR,
255         /**
256          * LSP instantiation error: RSVP signaling error
257          */
258         LSP_RSVP_ERROR
259 }