[BGPCEP-802] RT-Constrain Default route serializing Error Created: 22/Jun/18 Updated: 27/Jun/18 Resolved: 27/Jun/18 |
|
| Status: | Verified |
| Project: | bgpcep |
| Component/s: | BGP |
| Affects Version/s: | Fluorine |
| Fix Version/s: | Fluorine |
| Type: | Bug | Priority: | Medium |
| Reporter: | Tomas Markovic | Assignee: | Claudio David Gasparini |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
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:
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 |