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

ipv6 formatting error

XMLWordPrintable

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

      When I try to connect exabgp with ipv6 address for example 2607:f0d0:1002:11::2, and I configure bgp peer with the same format of ipv6 "2607:f0d0:1002:11::2" I get error:

      2018-03-08T12:57:53,115 | ERROR | epollEventLoopGroup-6-1 | BGPDocumentedException           | 214 - org.opendaylight.bgpcep.bgp-parser-api - 0.9.0.SNAPSHOT | Error = CONNECTION_REJECTED
      org.opendaylight.protocol.bgp.parser.BGPDocumentedException: BGP peer with ip: IpAddress [_ipv6Address=Ipv6Address [_value=2607:f0d0:1002:11:0:0:0:2]] not configured, check configured peers in : StrictBGPPeerRegistry{peers=[IpAddress [_ipv4Address=Ipv4Address [_value=192.0.2.1]], IpAddress [_ipv6Address=Ipv6Address [_value=2607:f0d0:1002:11::2]]]}
      	at org.opendaylight.protocol.bgp.rib.impl.AbstractBGPSessionNegotiator.startNegotiation(AbstractBGPSessionNegotiator.java:104) [220:org.opendaylight.bgpcep.bgp-rib-impl:0.9.0.SNAPSHOT]
      	at org.opendaylight.protocol.bgp.rib.impl.AbstractBGPSessionNegotiator.channelActive(AbstractBGPSessionNegotiator.java:279) [220:org.opendaylight.bgpcep.bgp-rib-impl:0.9.0.SNAPSHOT]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:64) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:64) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(DefaultChannelPipeline.java:1347) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:911) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:518) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482) [65:io.netty.transport:4.1.16.Final]
      	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [62:io.netty.common:4.1.16.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) [62:io.netty.common:4.1.16.Final]
      	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:309) [66:io.netty.transport-native-epoll:4.1.16.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [62:io.netty.common:4.1.16.Final]
      	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138) [62:io.netty.common:4.1.16.Final]
      	at java.lang.Thread.run(Thread.java:748) [?:?]
      

      bgp is clearly looking only for peer with ipv6 in format 2607:f0d0:1002:11:0:0:0:2

      The same happens with full text address 2607:f0d0:1002:0011:0000:0000:0000:0002, again expecting only peer with ipv6 in format 2607:f0d0:1002:11:0:0:0:2

      Steps to reproduce:

      Start Karaf, (oxygen and fluorine tested and bug present)
      Install odl-restoncf, odl-bgpcep-bgp, odl-bgpcep-bgp-config-example
      Configure odl with script from attachements

      ./ipv6peerconf.py
      

      start exabgp with

      env exabgp.tcp.port=1790 exabgp --debug exaipv6.cfg
      

      watch $KARAF_HOME/data/log/karaf.log
      where bug should be immediately visible

      2018-03-19T12:53:34,059 | WARN  | epollEventLoopGroup-5-7 | AbstractBGPSessionNegotiator     | 126 - org.opendaylight.bgpcep.bgp-rib-impl - 0.10.0.SNAPSHOT | Channel [id: 0x161287c4, L:/0:0:0:0:0:0:0:1%0:1790 - R:/0:0:0:0:0:0:0:1%0:43791] negotiation failed: BGP peer with ip: IpAddress{_ipv6Address=Ipv6Address{_value=0:0:0:0:0:0:0:1}} not configured, check configured peers in : StrictBGPPeerRegistry{peers=[IpAddress{_ipv6Address=Ipv6Address{_value=::1}}, IpAddress{_ipv4Address=Ipv4Address{_value=192.0.2.1}}]}
      

      You can check after fix if the routes are present for example in full rib. If they are missing even in topology they should still be in full-rib-output

      curl -H "Accept: application/json" -u admin:admin "http://localhost:8181/restconf/operational/bgp-rib:bgp-rib/rib/example-bgp-rib"
      

        1. exaipv6.cfg
          0.3 kB
        2. ipv6peerconf.py
          2 kB

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

              Created:
              Updated:
              Resolved: