11-09-2017 07:48 AM
Cisco IOS XR router send a PCEP request to ODL PCE for path computation and gets a PCEP Error message type 6 value 1: Mandatory object missing, RP Object missing.
Wireshark shows that the PCEP client (the router) sends the PCE request message with the RP object hence the error seems contradictory. Although we do notice that the RP object is setting the OF flag (Objetive Flag) which is not defined in RFC 5440, and was only introduced in RFC 5541 so could be that ODL rejects this PCEP request due to unsopported flag.
The RFC states that unassigned bit in the flag field (in the RP object or any other object) "are considered reserved. They MUST be set to zero on transmission and MUST be ignored on receipt" so perhaps this OF flag which is unassigned in RFC 5440 is causing the ODL PCE to reject it/
Any idea if we can configure the Cisco IOS XR router to not set this flag? which "mpls traffic-eng" or "interface tunnel-te" config parameter should be "unconfigured" or configured to not set the OF flag in the RP object of the PCEP request?
Below is the Wireshark capture of the PCE request from PCC (Cisco Router) to PCE (ODL Beryllium) and the PCE reply from PCE ODL to PCC (Cisco router)
No. Time Source Destination Protocol Length Info
1 2017-11-09 15:39:54.619757083 10.92.224.112 10.93.1.11 PCEP 162 Path Computation Request (PCReq)
Frame 1: 162 bytes on wire (1296 bits), 162 bytes captured (1296 bits) on interface 0
Ethernet II, Src: Cisco_66:aa:3d (70:e4:22:66:aa:3d), Dst: Dell_c9:03:6a (ec:f4:bb:c9:03:6a)
802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 10
Internet Protocol Version 4, Src: 10.92.224.112, Dst: 10.93.1.11
Transmission Control Protocol, Src Port: 17568, Dst Port: 4189, Seq: 1, Ack: 1, Len: 104
Source Port: 17568
Destination Port: 4189
[Stream index: 0]
[TCP Segment Len: 104]
Sequence number: 1 (relative sequence number)
[Next sequence number: 105 (relative sequence number)]
Acknowledgment number: 1 (relative ack number)
Header Length: 20 bytes
Flags: 0x018 (PSH, ACK)
Window size value: 63986
[Calculated window size: 63986]
[Window size scaling factor: -1 (unknown)]
Checksum: 0x7acc [unverified]
[Checksum Status: Unverified]
Urgent pointer: 0
[SEQ/ACK analysis]
[PDU Size: 104]
Path Computation Element communication Protocol
Path Computation Request (PCReq) Header
RP object
Object Class: RP OBJECT (2)
0001 .... = RP Object-Type: Request Parameters (1)
Flags
Object Length: 20
Reserved: 0x00
Flags: 0x000080
0000 0000 0... .... .... .... = Reserved Flags: Not set
.... .... .0.. .... .... .... = (C) Core-tree computation: Not set
.... .... ..0. .... .... .... = (F) Fragmentation: Not set
.... .... ...0 .... .... .... = (N) P2MP: Not set
.... .... .... 0... .... .... = (E) ERO-compression: Not set
.... .... .... .0.. .... .... = (M) Make-before-break: Not set
.... .... .... ..0. .... .... = (D) Report the request order: Not set
.... .... .... ...0 .... .... = (P) Path Key: Not set
.... .... .... .... 1... .... = (S) Supply OF on response: Set
.... .... .... .... .0.. .... = (V) VSPT: Not set
.... .... .... .... ..0. .... = (L) Strict/Loose: Not set
.... .... .... .... ...0 .... = (B) Bi-directional: Not set
.... .... .... .... .... 0... = (R) Reoptimization: Not set
.... .... .... .... .... .000 = (PRI) Priority: Off
Requested ID Number: 0x0000000c
PATH-SETUP-TYPE
Type: PATH-SETUP-TYPE (28)
Length: 4
Reserved: 0x000000
Path Setup Type: Path is setup using Segment Routing (1)
END-POINT object
LSP object
LSPA object
BANDWIDTH object
METRIC object
No. Time Source Destination Protocol Length Info
2 2017-11-09 15:39:54.622698028 10.93.1.11 10.92.224.112 PCEP 66 Error (PCErr)
Frame 2: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
Ethernet II, Src: Dell_c9:03:6a (ec:f4:bb:c9:03:6a), Dst: Cisco_66:aa:3d (70:e4:22:66:aa:3d)
Internet Protocol Version 4, Src: 10.93.1.11, Dst: 10.92.224.112
Transmission Control Protocol, Src Port: 4189, Dst Port: 17568, Seq: 1, Ack: 105, Len: 12
Source Port: 4189
Destination Port: 17568
[Stream index: 0]
[TCP Segment Len: 12]
Sequence number: 1 (relative sequence number)
[Next sequence number: 13 (relative sequence number)]
Acknowledgment number: 105 (relative ack number)
Header Length: 20 bytes
Flags: 0x018 (PSH, ACK)
Window size value: 229
[Calculated window size: 229]
[Window size scaling factor: -1 (unknown)]
Checksum: 0x7621 [unverified]
[Checksum Status: Unverified]
Urgent pointer: 0
[SEQ/ACK analysis]
[PDU Size: 12]
Path Computation Element communication Protocol
Error (PCErr) Header
ERROR object
Object Class: PCEP ERROR OBJECT (13)
0001 .... = PCEP-ERROR Object-Type: PCEP Error (1)
Flags
Object Length: 8
Reserved: 0x00
Flags: 0x00
Error-Type: Mandatory Object Missing (6)
Error-Value: RP object missing (1)
12-07-2017 01:11 PM
The Beryllium release of quite old. Is there a reason you need to use that? Is it possible for you to try to with a more current release, e.g. Carbon or Nitrogen. https://www.opendaylight.org/technical-community/getting-started-for-developers/downloads-and-documentation
Also, what version of software is running on the Cisco IOS XR router?
12-07-2017 01:36 PM
We also tried Carbon, same error.
And we are using IOS XR 6.2.2
Sent from my iPhone
12-08-2017 09:15 AM
interesting.
I've not tried 6.2.2 but IIRC 6.2.1 worked for me.
Might be worth emailing bgpcep-users@lists.opendaylight.org
12-08-2017 09:20 AM
Hi Giles,
Was there anything specific you configured on the Karaf xml files that is not documented on Opendaylight config guidelines ?
Thanks,
Mehdi
Sent from my iPhone
12-08-2017 09:31 AM
I'm afraid I don't use karaf XML. I configure using RESTCONF with JSON. I think I have some blog posts on here that explain what I do. I also have some stuff in github though i'm not sure how up to date it is:
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide