Ask is moving to Stack Overflow and! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

pbraun's profile - activity

2016-08-18 06:55:09 -0700 received badge  Popular Question (source)
2016-02-22 07:17:06 -0700 received badge  Famous Question (source)
2016-02-14 04:05:24 -0700 received badge  Notable Question (source)
2015-12-07 14:50:27 -0700 received badge  Teacher (source)
2015-10-26 23:06:50 -0700 received badge  Popular Question (source)
2015-10-18 22:58:27 -0700 received badge  Notable Question (source)
2015-10-18 22:58:27 -0700 received badge  Famous Question (source)
2015-10-07 23:45:54 -0700 received badge  Enthusiast
2015-10-06 06:26:35 -0700 answered a question add-flow in lithium controller


From Helium on the UI looks differently from what you can see in the video you have posted.

However you can manage flows via the RESTCONF interface using e.g. curl or Postman extension of Chromium.

You can find useful postman collection on this link. I've also started with this one. :)

Regards, peter

2015-10-06 06:20:19 -0700 answered a question Where SAL matches flow?


The packet-processing.yang file in openflowplugin defines the following notification:

notification packet-received {
    description "Delivery of incoming packet wrapped in openflow structure.";
    leaf connection-cookie {
        type connection-cookie;

    leaf flow-cookie {
        type flow-type:flow-cookie;

    leaf table-id {
        type table-type:table-id;

    leaf packet-in-reason {
        type identityref {
            base packet-in-reason;

    container match {
            uses match-type:match;

    uses raw-packet;

I guess, you can register listener for this notification from your module as a kind of call-back function, which gets called when packet-in event happens.

Regards, peter

2015-10-06 05:59:46 -0700 answered a question How to get source code?
$ cat 
export ODLREPOS=(aaa aalldp affinity alto autorelease bgpcep builder capwap controller coretutorials defense4all didm discovery dlux docs groupbasedpolicy integration iotdm l2switch lacp lispflowmapping mdsal nemo netconf net-virt-platform neutron nic odlparent opendove openflowjava openflowplugin opflex ovsdb packetcable persistence plugin2oc reservation sdninterfaceapp sfc snbi snmp snmp4sdn sxp tcpmd5 toolkit topoprocessing tsdr ttp usc vpnservice vtn yangtools faas yang-push)

$ cat 
for i in ${ODLREPOS[*]}; do
  echo "----> Cloning repository '$i'"
  git clone$i

$ cat 

RELATIVE_PATH=`dirname $0`
cd `readlink /proc/self/cwd`
cd - > /dev/null

for i in ${ODLREPOS[*]}; do
  echo "----> Performing 'git $@' on '$i' repo"
  cd $BASEDIR/$i
  git $@
2015-10-06 05:48:17 -0700 asked a question Is 'leafref' condition enforced?


Previously I posted this question, and this current one somehow relates to that.

So it seems that 'leafref' condition is not enforced by MD-SAL in the master branch.

Example: I have a model, which contains list of links, and list of services. A service contains reference to the links it is built on.

Although the model specifies that the service link must be part of the link list, this condition is not enforced by the controller.

container configuration {
    list connections {
        key id;
    list services {
        config true;
        key id;
        leaf-list supportingConnections {
            type leafref {
                path "/configuration/connections/id";

So I can create service with "supportingConnections": [ 1, 2, 3]" without creating those links beforehand.

Is it so by design? Is it a missing feature which will be added later to the code?

Regards, peter

2015-10-06 04:06:21 -0700 asked a question Is 'when' statement enforced?


I augmented an exiting Yang model, and used conditional augmention.

It seems the 'when' statement is not enforced by the MD-SAL when I change the data in the data store via RESTCONF.

Is it so by design? Is it a missing feature which will be added later to the code?

Regards, peter

2015-10-05 11:15:48 -0700 received badge  Popular Question (source)
2015-09-30 08:18:22 -0700 received badge  Editor (source)
2015-09-30 08:17:41 -0700 asked a question Manage Netconf devices via Java API


I'd like like to manage (e.g. connect, disconnect, etc.) Netconf devices from within an ODL plugin.

Many questions and responses here contain information about e.g. how to connect a Netconf device through RESTCONF, but I could not find any, which describes how to do this from Java code.

This tutorial also skips this nuance.

I'd really appreciate if somebody could suggest any reference (web page, wiki page, code snippet, etc) which describes how to manage Netconf device from code.

Thanks, Peter

2015-09-30 07:37:16 -0700 answered a question is it possible to connect netconf testtool devices?

After checking the help of the built in netconf test tool, I'd say it is not possible to connect them (like connecting e.g. mininet switches). I think this tool is just a plain protocol simulator. But correct me if I'm wrong.

2015-07-17 03:09:21 -0700 commented answer Error terminating instances on OpenStack with OpenDaylight L3

I think in this case ODL doesn't manage L3.

2015-07-08 01:41:03 -0700 answered a question Error terminating instances on OpenStack with OpenDaylight L3


I had the same issue.

However after changing L3 plugin to Openstack provided one, the problem has solved.

Part of local.conf:

# ODL_L3=True

# service_plugins = networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin
service_plugins =


2015-06-05 05:12:00 -0700 commented answer ODL controller build error: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils

This worked fine for me as well. Thanks.

2015-05-07 02:12:14 -0700 received badge  Popular Question (source)
2015-05-07 02:12:14 -0700 received badge  Notable Question (source)
2015-05-07 02:12:14 -0700 received badge  Famous Question (source)
2015-04-29 08:20:57 -0700 asked a question DLUX and NAPT issue


I have two physical machines: "A" and "B".

On "B", I would like to run multiple ODL Helium SR3 instances in separate VMs. Each ODL is for testing purpose, and the individual instances do / should not have any connection to each other.

The networking between "A" and the ODL VMs are done by performing NAPT on "B".

I would like to make the DLUX GUI of each ODLs on "B" available from the outside world (i.e. for users on "A").

That's why I made the following port forwarding (using iptables) on "B": B_IP:18181 -> ODL_1_IP:8181; B_IP:28181 -> ODL_2_IP:8181; ... and so on.

Although I can see the login screen for each instance, but when I give admin/admin and try to login, it fails with "Unable to login" error message.

When I reconfigure the first rule above to be B_IP:8181 -> ODL_1_IP:8181, the login succeeds.

The question:

1) Why it is not working in the first case above?

2) How to debug this?

3) How to solve this?

I've also tried to disable the login by setting authEnabled=false in etc/ file, but authentication on DLUX was forced by ODL even with this setting.

I've also tried to change jetty.port to 18181 (28181, ...) in etc/jetty.xml. After this ODL was reachable on these ports, login screen was seeable, but login still failed the same message: "Unable to login".

Thanks for the answers in advance.