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

Unable to parse flowspec BGP UPDATE when there are multiple NLRI in one message

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Bugzilla Migration
    • Bugzilla Migration
    • BGP
    • None
    • Operating System: All
      Platform: All

    • 8292

      When there are more than one NLRI batched in one BGP UPDATE message, the NLRI length byte cannot be parsed correctly.

      The NLRI length byte should be read for every NLRI. However, right now it's only read for the first NLRI.

      Caused by: org.opendaylight.protocol.bgp.parser.BGPDocumentedException: Could not parse BGP attributes.
      at org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser.parseMessageBody(BGPUpdateMessageParser.java:135)[349:org.opendaylight.bgpcep.bgp-parser-impl:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser.parseMessageBody(BGPUpdateMessageParser.java:46)[349:org.opendaylight.bgpcep.bgp-parser-impl:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleMessageRegistry.parseBody(SimpleMessageRegistry.java:31)[348:org.opendaylight.bgpcep.bgp-parser-spi:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.spi.AbstractMessageRegistry.parseMessage(AbstractMessageRegistry.java:66)[348:org.opendaylight.bgpcep.bgp-parser-spi:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.rib.impl.BGPByteToMessageDecoder.decode(BGPByteToMessageDecoder.java:49)[361:org.opendaylight.bgpcep.bgp-rib-impl:0.6.1.Boron-SR1]
      at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411)[114:io.netty.codec:4.0.37.Final]
      ... 21 more
      Caused by: java.lang.IllegalStateException: NLRI length read from message doesn't match. Length expected (read from NLRI) is 1537, length readable is 1296
      at com.google.common.base.Preconditions.checkState(Preconditions.java:197)[39:com.google.guava:18.0.0]
      at org.opendaylight.protocol.bgp.flowspec.AbstractFlowspecNlriParser.verifyNlriLength(AbstractFlowspecNlriParser.java:608)[362:org.opendaylight.bgpcep.bgp-flowspec:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.flowspec.AbstractFlowspecNlriParser.parseNlri(AbstractFlowspecNlriParser.java:629)[362:org.opendaylight.bgpcep.bgp-flowspec:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleNlriRegistry.parseMpReach(SimpleNlriRegistry.java:239)[348:org.opendaylight.bgpcep.bgp-parser-spi:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.impl.message.update.MPReachAttributeParser.parseAttribute(MPReachAttributeParser.java:49)[349:org.opendaylight.bgpcep.bgp-parser-impl:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleAttributeRegistry.parseAttributes(SimpleAttributeRegistry.java:138)[348:org.opendaylight.bgpcep.bgp-parser-spi:0.6.1.Boron-SR1]
      at org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser.parseMessageBody(BGPUpdateMessageParser.java:131)[349:org.opendaylight.bgpcep.bgp-parser-impl:0.6.1.Boron-SR1]

            Unassigned Unassigned
            kevinxw Kevin Wang
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: