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


Insert queue with rate using REST API - OF13

asked 2015-02-25 10:30:02 -0800

Nuno gravatar image

updated 2015-02-25 11:00:51 -0800


I'm using ODL HeliumSR2 with Mininet 2.2. So I'm trying to add a queue via REST API of ODL to later set that queue to a given flow. However it does not allow me to send the rate, saying that 'Schema node "rate" was not found in module'.

According to this documentation the model schema does not allow to insert the minimum or maximum rate ( http://localhost:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/PUTqueueput_33 ) however on github there are modules that define it as you can see here.

My request is to the link:

where is my controller ip, openflow:1 is the node id for my s1 and openflow:1:1 is the node-connector id for port 1 of the switch.

My request is the following: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <queue xmlns="urn:opendaylight:flow:inventory"> <property>1</property> <port>1</port> <queue-id>1</queue-id> <rate>2000</rate> </queue>

  1. According to OpenFlow13 specification we could be able to insert the minimum or maximum rate, so is there a way to do it ?
  2. If we took the <rate> from the xml request, the request is accepted, but what does that exactly do if we can define a rate ?</rate>

Regards, Nuno B.

edit retag flag offensive close merge delete


Are you using Openvswitch or CpQD as your virtual switch in Mininet? not sure that openvswitch supports openflow queues

Chris O'Shea ( 2015-02-25 15:06:05 -0800 )edit

I'm using openvswitch at the moment. But if I can't define the rate using REST API how can I apply a diferenciated service to packets ?

Nuno ( 2015-02-25 15:09:28 -0800 )edit You may be able to use OVSDB to push the queue config, you have to make an OVSDB connection to ODL or tell ODL how to connect to the switch.

Chris O'Shea ( 2015-02-25 15:49:08 -0800 )edit

I cannot connect to the ovsdb server. Using Postman the request is just "Loading..." all the time. I tried this link ( ) using Postman and action PUT. I've also set the manager listening on port 6640 by doing this at mininet "sh ovs-vsctl set-manager ptcp:6640". is the controller IP and is the eth0 mininet IP.

Nuno ( 2015-02-26 13:08:47 -0800 )edit

Just check you have the ovsdb southbound and northbound features installed. also check that ODL is listening to port 6640. Or you can get the switch to connect with ovs-vsctl set-manager tcp:

Chris O'Shea ( 2015-02-26 13:36:31 -0800 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2015-03-17 02:34:04 -0800

Luca gravatar image

Hi Nuno, have you managed to insert queues in your network via REST API ? The only option I found was to use the action "enqueue" with Hydrogen, but I don't know how to write the request in cURL for Helium ODL. (My ultimate goal would be to retrieve a sort of queue statistics from the controller).

Thanks in advance, Luca

edit flag offensive delete publish link more


According to specification "Queue configuration takes place outside the OpenFlow protocol, either through a command line tool or through an external dedicated configuration protocol. "Create the queue using ovsdb for example and then use the enqueue action in your flow. Regards, Nuno B.

Nuno ( 2015-03-18 08:34:47 -0800 )edit

Thanks Nuno, I will try with OVSDB. Regards, Luca

Luca ( 2015-03-20 02:50:35 -0800 )edit

Try the northbound v2, they have a postman collection on github. However the json requests are not fully correct in some cases, unfortunately. Glad I could help. Regards, Nuno B.

Nuno ( 2015-03-20 17:39:43 -0800 )edit

Hello, did you manage to insert queues using REST API, please provide the url I have also to map flows to the queues. do you have any idea how it is done Thanks

berririasma ( 2016-06-06 08:02:46 -0800 )edit
Login/Signup to Answer

Question Tools



Asked: 2015-02-25 10:30:02 -0800

Seen: 957 times

Last updated: Mar 17 '15