Uploaded image for project: 'bgpcep'
  1. bgpcep
  2. BGPCEP-974

PCEP Error Message are sent while they do not

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Highest Highest
    • 0.16.4, Silicon SR3
    • Aluminium, Silicon, Aluminium SR1, Silicon SR1, Aluminium SR4, 0.16.0, 0.16.1
    • None
    • None
    • High

      When routers are sending Pcep Report Message, following a PcInitiate, PcUpdate or during the Synchronisation phase, ODL wrongly sent Pcep Error Message with error type 6 (Mandatory Object Missing) and error value 8 (LSP Object Missing).

      Fortunately, routers are ignore this PCEP Error message and ODL stores correctly the information in the data store.

      The error is located in validateLsp() method of StatefulPCReportMessageParser class. In fact, validate() method call getValidReports() which call validateLSP() and then validatePath(). Inside validatePath(), there is a call to parsePath() which loop other remaining object found in the stream buffer. The loop call insertObject() method which is the faulty method. The method assume that the PCEP Object are present in the PcReport message in a certain order: SRP, LSP, ERO, LSPA, ... If first objects (SRP, LSP, ERO) are really in this order, LSPA could not immediately follow the ERO. Thus, in this case, the rest of Objects are not correctly validate. As the object list is not empty, validateLSP() is call again thinking there is another report which call validateLSP(), but this time it failed as it attempt to validate a non LSP object.

      More precisely, the problem take place in the state machine of insertObject() method.

      The problem could be observe with a wireshark capture or when activating PCEP log to TRACE level.

            odd22 Olivier Dugeon
            odd22 Olivier Dugeon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: