[BGPCEP-1015] PCUpd with empty LSP is sent Created: 16/Nov/22  Updated: 03/Dec/22  Resolved: 03/Dec/22

Status: Resolved
Project: bgpcep
Component/s: PCEP
Affects Version/s: None
Fix Version/s: 0.19.0, 0.18.4, 0.17.8

Type: Bug Priority: Medium
Reporter: Ivan Hrasko Assignee: Ivan Hrasko
Resolution: Done Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Sending Update LSP RPC:

localhost:8181/rests/operations/network-topology-pcep:update-lsp 

with payload with missing LSP object:

{
    "input": {
        "node": "pcc://127.0.0.1",
        "name": "pcc_127.0.0.1_tunnel_1",
        "network-topology-ref": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='pcep-topology']",
        "arguments": {
            "ero": {
                "subobject": [
                    {
                        "ip-prefix": {
                            "ip-prefix": "10.190.204.1/32"
                        },
                        "loose": false
                    },
                    {
                        "ip-prefix": {
                            "ip-prefix": "10.190.201.3/32"
                        },
                        "loose": false
                    }
                ]
            }
        }
    }
}

returns success (200 with no errrors) and PCUpd message is sent with content:

Frame 3845: 112 bytes on wire (896 bits), 112 bytes captured (896 bits) on interface any, id 0
Linux cooked capture v1
Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1
Transmission Control Protocol, Src Port: 4189, Dst Port: 33823, Seq: 9, Ack: 9, Len: 44
Path Computation Element communication Protocol
    Path Computation LSP Update Request (PCUpd) Header
    SRP object
    LSP object
        Object Class: LSP OBJECT (32)
        0001 .... = LSP Object-Type: LSP (1)
        .... 0000 = Object Header Flags: 0x0
        Object Length: 8
        .... .... 0000 0000 0000 0000 0001 .... = PLSP-ID: 1
        Flags: 0x001000
            .... .... .... ...0 = Delegate (D): Not set
            .... .... .... ..0. = SYNC (S): Not set
            .... .... .... .0.. = Remove (R): Not set
            .... .... .... 0... = Administrative (A): Not set
            .... .... .000 .... = Operational (O): DOWN (0)
            .... .... 0... .... = Create (C): Not set
            .... 0000 .... .... = Reserved: Not set
    EXPLICIT ROUTE object (ERO) 

According to RFC 8231:

If the LSP object is missing, the receiving PCC
   MUST send a PCErr message with Error-type=6 (Mandatory Object
   missing) and Error-value=8 (LSP object missing)


 Comments   
Comment by Ivan Hrasko [ 16/Nov/22 ]

Let's make update LSP RPC (PCE) to even not send empty LSP and return corresponding error message directly (the same way as add LSP RPC behaves).

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