[BGPCEP-921] Parsing a computation request with multiple bandwidth objects fails with wrong error Created: 24/Aug/20 Updated: 12/Jul/22 |
|
| Status: | Open |
| Project: | bgpcep |
| Component/s: | PCEP |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Medium |
| Reporter: | Sebastien Merle | Assignee: | Olivier Dugeon |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
When parsing a computation request containing multiple bandwidth objects of different types, ODL fail and send a "Missing RP Object" error back to the PCC. I got the error sending a custom bandwidth object from Cisco, but odd22 confirmed it would fail with a proper type 2 bandwidth object too. Attached is a packet capture showing the problem. |
| Comments |
| Comment by Olivier Dugeon [ 12/Jul/22 ] |
|
The packet capture shows that 2 Bandwidth Objects are transmitted with PCEP Object Class 5 (which is correct). The first Bandwidth Object (5) is of type 1 (Requested Bandwidth) but the second one if of type 5 which is unknown. According to iana, this Object Type (5) for this Object Class (5) is unassigned (see https://www.iana.org/assignments/pcep/pcep.xhtml#pcep-objects ). Thus, it is normal that ODL send a PCerr message. Now, I agree that the error message should be of type 3 (Unknown Object) with error value equal to 2 (Unrecognised Object Type) and not of type 6 (Mandatory Object Missing) with value equal to 1 (RP object missing). This mismatch is due to the validation process within ODL parsing. If the RP Object is not conform, parser returns null, and ODL consider that the RP Object is missing while the parser should return the error type and error value. |