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

RT-Constrain Default route serializing Error

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Fluorine
    • Fluorine
    • BGP
    • None

      Overview: Configure app peer and internal peer with route-target-constrain. Send route via internal peer with play.py Error happening when parsing incoming message in odl.

      Hex is gained by sending the route to app-peer and catching the route on advertisement from the odl to peer. So the mistake could be in route config, Or route serializer or parser.

      When sending route-target-constrain-default-route before I had:

      ffffffffffffffffffffffffffffffff0031020000001a4001010040020040050400000064800e0900018404c714a62900
      

      Now with addition of origin-as it is:

      ffffffffffffffffffffffffffffffff0036020000001f4001010040020040050400000064800e0e00018404c714a62900600000ff98
      

      Steps to reproduce:

      • configure app-peer and int-peer.
        ./configure.py
        
      • start play.py (new version from attachments) with
        sudo ./start_play.sh
        

        Send route via play.py with

        ./hex_default.py
        

      Type default fails with:

      2018-06-27T13:27:40,080 | ERROR | epollEventLoopGroup-5-4 | BGPDocumentedException           | 211 - org.opendaylight.bgpcep.bgp-parser-api - 0.10.0.SNAPSHOT | Error = MALFORMED_ATTR_LIST
      org.opendaylight.protocol.bgp.parser.BGPDocumentedException: Could not parse BGP attributes.
      	at org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser.parseMessageBody(BGPUpdateMessageParser.java:155) [212:org.opendaylight.bgpcep.bgp-parser-impl:0.10.0.SNAPSHOT]
      	at org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser.parseMessageBody(BGPUpdateMessageParser.java:53) [212:org.opendaylight.bgpcep.bgp-parser-impl:0.10.0.SNAPSHOT]
      	at org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleMessageRegistry.parseBody(SimpleMessageRegistry.java:31) [213:org.opendaylight.bgpcep.bgp-parser-spi:0.10.0.SNAPSHOT]
      	at org.opendaylight.protocol.bgp.parser.spi.AbstractMessageRegistry.parseMessage(AbstractMessageRegistry.java:63) [213:org.opendaylight.bgpcep.bgp-parser-spi:0.10.0.SNAPSHOT]
      	at org.opendaylight.protocol.bgp.rib.impl.BGPByteToMessageDecoder.decode(BGPByteToMessageDecoder.java:50) [217:org.opendaylight.bgpcep.bgp-rib-impl:0.10.0.SNAPSHOT]
      	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) [93:io.netty.codec:4.1.22.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) [93:io.netty.codec:4.1.22.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) [93:io.netty.codec:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [93:io.netty.codec:4.1.22.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [93:io.netty.codec:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945) [98:io.netty.transport:4.1.22.Final]
      	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:806) [99:io.netty.transport-native-epoll:4.1.22.Final]
      	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) [99:io.netty.transport-native-epoll:4.1.22.Final]
      	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [99:io.netty.transport-native-epoll:4.1.22.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [95:io.netty.common:4.1.22.Final]
      	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [95:io.netty.common:4.1.22.Final]
      	at java.lang.Thread.run(Thread.java:748) [?:?]
      Caused by: java.lang.IndexOutOfBoundsException: readerIndex(1) + length(12) exceeds writerIndex(5): AbstractPooledDerivedByteBuf$PooledNonRetainedSlicedByteBuf(ridx: 1, widx: 5, cap: 5/5, unwrapped: PooledUnsafeDirectByteBuf(ridx: 54, widx: 54, cap: 512))
      	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1403) ~[?:?]
      	at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1390) ~[?:?]
      	at io.netty.buffer.AbstractByteBuf.readSlice(AbstractByteBuf.java:856) ~[?:?]
      	at org.opendaylight.protocol.bgp.route.targetcontrain.impl.nlri.RouteTargetConstrainNlriHandler.parseNlriDestinations(RouteTargetConstrainNlriHandler.java:60) ~[?:?]
      	at org.opendaylight.protocol.bgp.route.targetcontrain.impl.nlri.RouteTargetConstrainNlriHandler.parseNlri(RouteTargetConstrainNlriHandler.java:100) ~[?:?]
      	at org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleNlriRegistry.parseMpReach(SimpleNlriRegistry.java:228) ~[?:?]
      	at org.opendaylight.protocol.bgp.parser.impl.message.update.MPReachAttributeParser.parseAttribute(MPReachAttributeParser.java:44) ~[?:?]
      	at org.opendaylight.protocol.bgp.parser.spi.pojo.SimpleAttributeRegistry.parseAttributes(SimpleAttributeRegistry.java:136) ~[?:?]
      	at org.opendaylight.protocol.bgp.parser.impl.message.BGPUpdateMessageParser.parseMessageBody(BGPUpdateMessageParser.java:151) ~[?:?]
      	... 25 more
      

        1. configure.py
          2 kB
        2. delete.py
          0.5 kB
        3. hex_default.py
          0.4 kB
        4. play.py
          92 kB
        5. post_default.py
          1 kB
        6. start_play.sh
          0.1 kB

            cdgasparini Claudio David Gasparini
            tomas.markovic Tomas Markovic
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: