[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: File odl-missing-rp-error.pcapng    

 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.

Generated at Wed Feb 07 19:14:29 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.