We have received a number of requests to share how FRINX ODL connects with Tail-f/Cisco. Cisco has published a whitepaper that provides some explanation, but we found a few steps missing. These are our notes how we got it to work. Please let us know if you run into any other questions and we will add those to this README document, also accessible on github

The Tail-f paper can be found here: http://www.tail-f.com/integrating-confd-opendaylight/


We have two hosts: 1) localhost and 2) confd host

FRINX ODL runs on localhost.

Setting up FRINX ODL

Download FRINX ODL from here: https://frinx.io/downloads

Unzip the downloaded file to a directory of your choice.

go to the odl directory and run

If you are running FRINX ODL for the first time check out our operations guide here: https://frinx.io/frinx-documents/running-frinx-odl-distribution-for-the-first-time.html

In ODL you can install features in the following way:

We had the following NETCONF features installed in FRINX ODL when we connected to ConfD:

One step that we found missing in the Tail-f guide was the requirement to copy a number of YANG files manually to the ODL cache directory.

Copy the yang files from here: https://github.com/FRINXio/confd/tree/master/yang

to the “cache” folder in your local FRINX ODL directory: {your_ODL_directory}/cache/

Also, we had to modify the file “tailf-aaa@2015-06-16.yang”, since ODL was unable to compile a regex for password so we replaced the type with string type instead. The modified file is included in our repository.

Set up ConfD

We have created a Ubuntu 16.04.1 based VM and run it locally in Virtualbox on our localhost. We call that VM “confd host” and use the following credentials: user: admin, password: admin

The IP address of our confd host was You need to substitute that with the IP address that you are using in your setup.

Download Confd for Linux from the Cisco web page

Unzip the file

Create a new directory and run the installer

The directory now contains all confd files

Run confd

Verify confd is running

Putting it all together

Confd uses 2022 as the default port for NETCONF. Now we create a tunnel from localhost ( to port 2022 on confd host ( This session needs to stay active for as long as you connect to the confd host on port 2022.

Test connectivity from localhost to confd host on port 2022 via port forwarding

Open a new terminal window after the last step and type:

Output should be similar to:

If you see an output similar to the above, you know that NETCONF connectivity is working between localhost where ODL runs and your confd host.

Now you can use the following curl commands from your localhost, or you can use our Postman collection here: https://github.com/FRINXio/confd/tree/master/postman_collection

Mount the confd node “CONFD1” in ODL

Check config data store in ODL

Your output should look similar to the following:

Let’s check if the node is present in the operational data store in ODL.

Your output should look similar to: