Closed gl closed 8 years ago
Hi Guillaume, to be honest, I have never done any testing with a JunOS router, so it is an interesting use case !
I have an idea regarding the way we can fix this but I would like to have a closer look at some BGP LS update coming from a JunOS router.
Could you send me a pcap capture containing the"killing" update ?
Thanks a bunch
TE Default metric TLV must be 4 bytes long.
I have just committed a fix
and updated binary package as well.
Could you please give it a try and let me know ?
I'm sorry but you'll have to guide me into the jar generation process, I'm not best friend with all things java :)
Binary package already contains the fix, just download the zip file again here and let me know.
Oh, thanks. Well, that's working now. The BGP is stable, the topology renders, but all routers are shown as "unknown".
Hello,
I'm trying to send the link state DB from a Juniper router. I have done the proper configuration for BGP and it works fine from a BGP point of view.
However, on reception of the updates, BLT crashes. Here's the log dump with DEBUG enabled:
2016-03-13 21:02:06,039 INFO [New I/O worker #154] InternalFSM: FSM for peer Backbone moved to Established 21:02:06.039 [QuartzScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 1 triggers 2016-03-13 21:02:06,039 DEBUG [QuartzScheduler_QuartzSchedulerThread] QuartzSchedulerThread: batch acquisition of 1 triggers 21:02:06.072 [New I/O worker #154] INFO o.n.b.bgp.netty.handlers.BGPv4Codec - received packet onl.netfishers.blt.bgp.netty.protocol.KeepalivePacket@5f22eb6[type=4] 2016-03-13 21:02:06,072 INFO [New I/O worker #154] BGPv4Codec: received packet onl.netfishers.blt.bgp.netty.protocol.KeepalivePacket@5f22eb6[type=4] 21:02:06.073 [New I/O worker #154] INFO o.n.blt.bgp.netty.fsm.BGPv4FSM - received message onl.netfishers.blt.bgp.netty.protocol.KeepalivePacket@5f22eb6[type=4] 2016-03-13 21:02:06,073 INFO [New I/O worker #154] BGPv4FSM: received message onl.netfishers.blt.bgp.netty.protocol.KeepalivePacket@5f22eb6[type=4] 21:02:06.073 [QuartzScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 1 triggers 2016-03-13 21:02:06,073 DEBUG [QuartzScheduler_QuartzSchedulerThread] QuartzSchedulerThread: batch acquisition of 1 triggers 21:02:06.073 [New I/O worker #154] ERROR o.n.b.b.n.p.u.UpdatePacketDecoder - Invalid length (4) for teDefaultMetric 2016-03-13 21:02:06,073 ERROR [New I/O worker #154] UpdatePacketDecoder: Invalid length (4) for teDefaultMetric 21:02:06.074 [New I/O worker #154] ERROR o.n.b.b.n.p.u.UpdatePacketDecoder - failed to decode TE default metric LINK_STATE attribute onl.netfishers.blt.bgp.netty.protocol.update.OptionalAttributeErrorException: null at onl.netfishers.blt.bgp.netty.protocol.update.LinkStateAttributeCodec.decodeTEDefaultMetric(LinkStateAttributeCodec.java:393) [blt.jar:na] at onl.netfishers.blt.bgp.netty.protocol.update.LinkStateAttributeCodec.decodeAttr(LinkStateAttributeCodec.java:82) [blt.jar:na] at onl.netfishers.blt.bgp.netty.protocol.update.UpdatePacketDecoder.decodeLinkStateAttribute(UpdatePacketDecoder.java:461) [blt.jar:na] at onl.netfishers.blt.bgp.netty.protocol.update.UpdatePacketDecoder.decodePathAttributes(UpdatePacketDecoder.java:542) [blt.jar:na] at onl.netfishers.blt.bgp.netty.protocol.update.UpdatePacketDecoder.decodeUpdatePacket(UpdatePacketDecoder.java:136) [blt.jar:na] at onl.netfishers.blt.bgp.netty.protocol.BGPv4PacketDecoder.decodePacket(BGPv4PacketDecoder.java:55) [blt.jar:na] at onl.netfishers.blt.bgp.netty.handlers.BGPv4Codec.messageReceived(BGPv4Codec.java:59) [blt.jar:na] at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88) [blt.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560) [blt.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787) [blt.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) [blt.jar:na] at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462) [blt.jar:na] at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443) [blt.jar:na] at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) [blt.jar:na] at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [blt.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560) [blt.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555) [blt.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [blt.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [blt.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [blt.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107) [blt.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) [blt.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88) [blt.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [blt.jar:na] at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [blt.jar:na] at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [blt.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_74] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_74] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_74] 2016-03-13 21:02:06,074 ERROR [New I/O worker #154] UpdatePacketDecoder: failed to decode TE default metric LINK_STATE attribute