Ask Your Question

NodeConnector Statistics ODL using RestAPI

asked 2015-03-22 11:13:44 -0700

Nuno gravatar image

updated 2015-03-22 11:29:35 -0700


I'm currently checking the apidoc explorer for documentation on rest requests to the controller. I'm trying to obtain the node connector statistics (namely the current transmit speed). In the documentation the model on node connector is like this and on this link ( ) they teach you to send a request that gives you that information.

However when I try the same ( http://localhost:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/node-connector/openflow:1:1 ) I only receive this information which is has wrong values like the link speed.

It is giving me always 10mb no matter what ("flow-node-inventory:current-speed": 10000000). The current speed according to documentation is the "Current port bit rate in kbps". However is always 10000000, even though I'm not sending packets on the link.

So, I'm having some issues with the northbound API. Wiki states a way to do it, but in reality that isn't working as it says there. Any help would be apreciated.

Details: I'm using Helium SR2 with mininet 2.2 and I'm using of13 .

Regards, Nuno B.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2015-03-22 19:15:04 -0700


Hi Nuno,

I'm willing to bet you're using mininet with openvswitch, right now openvswitch will report all it's interface are 10Gb interface, I don't believe the OpenFlow spec were created to give you the current rate of the interface. But most of these issue would be how does the switch report these information to the controller.

from the OpenFlow 1.3 Specs

The currspeed and maxspeed fields indicate the current and maximum bit rate (raw transmission speed) of the link in kbps. The number should be rounded to match common usage. For example, an optical 10 Gb Ethernet port should have this field set to 10000000 (instead of 10312500), and an OC-192 port should have this field set to 10000000 (instead of 9953280).

The maxspeed fields indicate the maximum configured capacity of the link, whereas the currspeed indicates the current capacity. If the port is a LAG with 3 links of 1Gb/s capacity, with one of the ports of the LAG being down, one port auto-negotiated at 1Gb/s and 1 port auto-negotiated at 100Mb/s, the maxspeed is 3 Gb/s and the currspeed is 1.1 Gb/s

edit flag offensive delete publish link more


Yes I am. But I saw in the mailing list the same doubt and he could get the speed of the link. Also, I've changed the max speed to 100mbps instead of 10gbps using tc command (mininet uses it, I just signal the link max speed I want) and the value is the same. So you are saying I can't get the current transmission rate of the a link/interface ?

Nuno ( 2015-03-23 06:33:28 -0700 )edit

So you're change the link speed between the two interface and not changing the Interface speeds. IE you may have a 1Gb interface to modem, but your modem only allows 50Mbits.

Chris O'Shea ( 2015-03-23 15:00:32 -0700 )edit

Ok. However the of13 spec states uint32_t curr_speed; /* Current port bitrate in kbps. */ uint32_t max_speed; /* Max port bitrate in kbps */ which means that is possible to get the current port bitrate. I also saw an email on openflowplugin mailing list where I think Anil and another person received the current link state ( ) by sending an rest request querying for info of a node connector. I do the same I get the values I put on the question. Is this happening because I'm using mininet with openvswitch ?

Nuno ( 2015-03-23 18:16:02 -0700 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Question Tools

1 follower


Asked: 2015-03-22 11:13:44 -0700

Seen: 614 times

Last updated: Mar 22 '15