Ask Your Question

Managing Pica8 switch using ovsdb

asked 2015-12-11 06:52:23 -0700


I am trying to manage a Pica8 switch ( through ovsdb southbound protocol. The switch is running a ovsdb server on port 6640

Currently I do have a working OpenFlow connection through port 6633, and I see my node in the inventory and flow topology tables of ODL (at

I already managed to add other OVS instances of openstack nodes through the same ODL controller using OVSDB, these are working and visible in the ovsdb topology table.

However I do not see my Pica8 node in the ovsdb topology when doing a GET at: http://localhost:8181/restconf/operat...

For the Pica8 I added the ovs-vsctl set-manager "tcp:" command. This is the output of ovs-vsctl show

admin@PicOS-OVS$ovs-vsctl show     
    Manager "tcp:"
    Bridge "br0"
        Controller "tcp:"
            is_connected: true
        Port "ge-1/1/2"
            tag: 1
            Interface "ge-1/1/2"
                type: "pica8"
        Port "ge-1/1/1"
            tag: 1
            Interface "ge-1/1/1"
                type: "pica8"
        Port "br0"
            Interface "br0"
                type: internal
    ovs_version: "2.3.0"

I do see an established TCP session between the ODL controller and the switch on port 6640:

admin@PicOS-OVS$netstat -anp | grep 6640
tcp        0      0*               LISTEN      8717/ovsdb-server
tcp        0      0     ESTABLISHED 8717/ovsdb-server

But still it is not connected according to openvswitch, and ODL does not see it either.

If I do an ovsdb-client dump tcp: command this works fine.

Does any one have any idea why the manager connection is not established? Are there some criteria that are not met for ODL / OVS to set up the connection?

Thanks in advance for your feedback.

edit retag flag offensive close merge delete


can you look for any signs of trouble in your ODL karaf.log file? Also, what controller version are you using?

jamoluhrsen ( 2015-12-11 08:27:27 -0700 )edit

I am using the pre-built package from the website (distribution-karaf-0.3.1-Lithium-SR1). The newer SR2 version I had some other issues. SR1 works better for me. I am not sure what to look for in karaf.log. I enabled some logging options for OVSDB, but I didnt see any relevant error messages.

ph0tek ( 2015-12-14 07:49:10 -0700 )edit

SR3 is out now, if you want to try that. Also, there are ovsdb bugs you *may* be hitting. search for bug numbers 4756 and 4794. The bugs have some concrete messages to look for in the karaf.log file.

jamoluhrsen ( 2015-12-17 17:17:25 -0700 )edit

The other thing you can do, to debug, is a packet capture. Probably easiest to just do tcpdump on the ODL system for port 6640.

jamoluhrsen ( 2015-12-17 17:18:16 -0700 )edit

packet capture shows a lot of echo, and update messages (ovsdb) , so there is exchange of traffic. I cannot find any indication why the connection would not be established.

ph0tek ( 2015-12-23 06:47:16 -0700 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2016-01-04 15:48:27 -0700

jamoluhrsen gravatar image

ph0tek, sorry for the slow response, but just now able to take a look at your karaf.log and packet capture.

firstly, are you polling ODL with REST calls while it's coming up? If so, that would explain the many exceptions in WebAppPublisher while authentication is coming online. This is expected. However, if you are not polling it, that is something curious to debug, although probably not related to this problem.

secondly, I saw this:

ERROR - org.opendaylight.ovsdb.northbound
org.osgi.framework.BundleException: The bundle "org.opendaylight.ovsdb.northbound_0.7.1.Lithium-SR1 [423]" could not be resolved. Reason: Missing Constraint: Import-Package: org.opendaylight.ovsdb.plugin.api; version="[1.1.0,2.0.0)"

do you have any idea about that?

next, I saw this:

ERROR | ntLoopGroup-10-1 | ExecutionList                    | 64 - - 18.0.0 | RuntimeException while executing runnable$6@74dd028f with executor INSTANCE
java.lang.IllegalStateException: registered session context is invalid

this looks like some trouble with something openflow trying to establish a session. I know this is at a timestamp before you noted that pica8 connected (12:17:02,556 -vs- 12:17:58,177), but something is having trouble.

You do have a lot of features installed. Maybe there is some conflict happening. How are you installing the features? Can you give those details?

Also could you try connecting just the pica8 switch after only installing odl-ovsdb-southbound-impl-rest? This will not bring in any openflow, but it will be another good data point to know if it works or not.

I did not look at the packet capture too deeply yet.

edit flag offensive delete publish link more

answered 2016-01-07 03:37:03 -0700

jamoluhrsen, I appreciate the effort,

Here are some replies:

  • I am not intentionally doing any REST calls, which would trigger these WebAppPublisher exceptions.

  • I deinstalled the odl-ovsdb-plugin feature, because of a compatibility issue that I was facing. Please see: and

  • Mostly I added the required features for Openstack support, according to the manual: (feature:install odl-base-all odl-aaa-authn odl-restconf odl-nsf-all odl-adsal-northbound odl-mdsal-apidocs odl-ovsdb-openstack odl-ovsdb-northbound odl-dlux-core) Also I might have installed some additional features to get Yang-UI working, and the l2switch feature.

  • Now I tried to only install odl-ovsdb-southbound-impl-rest, on a fresh install of Lithium-SR1 with only the initial features installed. This has the same result. server OVS instances are connected, but the Pica8 still is not. I pasted my karaf.log at (when I only have the Pica8 connected using set-manager) , and the used feature-list at:

Hope this helps.

edit flag offensive delete publish link more


DeInstalling doesn't work well in my experience. I'd recommend doing a clean restart. I'd recommend installing only odl-ovsdb-openstack first. That will bring up all features required for most cases and then you can add any required for Yang UI etc.

Vishal Thapar ( 2016-01-07 03:57:22 -0700 )edit

I received information from Pica8 support that they arent able to set up the manager connection either, using ODL, but also not using Ryu, so it seems that the problem lies at Pica8. They created a bug report, and will work on this. So for the moment I will wait for their progress.

ph0tek ( 2016-01-15 13:06:17 -0700 )edit

thanks for the update, Ph0tek.

jamoluhrsen ( 2016-01-15 13:34:52 -0700 )edit

I had a similar problem with Pica8 3295...and the issue was the Latest PicOS supports OF 1.4, but ODL supports I had to make the switch run in OF1.3....not sure if you tried it..

vj396 ( 2016-01-27 07:19:38 -0700 )edit

Mine already seems to be working with OF1.3, since the command ovs-vsctl get Bridge br0 protocols produces: ["OpenFlow13"]. But thanks for the input.

ph0tek ( 2016-02-04 00:05:05 -0700 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2015-12-11 06:52:23 -0700

Seen: 366 times

Last updated: Jan 07 '16