[CONTROLLER-60] Signed Value Used for OpenFlow Port Number Created: 22/Nov/13 Updated: 25/Jul/23 Resolved: 02/Jun/15 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | adsal |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | seils | Assignee: | Venkata Siva Vijayendra Bhamidipati |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: Linux |
||
| Attachments: |
|
| External issue ID: | 161 |
| Priority: | Highest |
| Description |
|
The signed value for OpenFlow port numbers is exposed in the web GUI, which causes problems for port numbers >=32768. Aside from the negative value being confusing, this prevents flow programming when the port is specified. Steps to Reproduce using OVS:
|
| Comments |
| Comment by Rajani Srivastava [ 04/Feb/14 ] |
|
Hi Seils, The command : It will not accept the negative values.So it is working fine. |
| Comment by seils [ 05/Feb/14 ] |
|
(In reply to Rajani Srivastava from comment #1) I just tested the Hydrogen base image and the issue still exists. Port numbers >32768 are represented as negative values. |
| Comment by Rajani Srivastava [ 06/Feb/14 ] |
|
Attachment attachment_for_value>32768_in_mininet.png has been added with description: checked for the value 33333 |
| Comment by Rajani Srivastava [ 06/Feb/14 ] |
|
Attachment opendaylight_GUI_for_vale>32768.png has been added with description: checked in opendaylight GUI |
| Comment by Rajani Srivastava [ 06/Feb/14 ] |
|
Hi Seils, I tested it again on Hydrogen base image.And found that for port number > 32768 ,it is working fine in command line as well in Opendaylight GUI. |
| Comment by Rajani Srivastava [ 06/Feb/14 ] |
|
Attachment ports_info.png has been added with description: checked port number is accepted by ; |
| Comment by Rajani Srivastava [ 06/Feb/14 ] |
|
Checked that port number is accepted with following commands : sudo ovs-vsctl list interface |
| Comment by Venkata Siva Vijayendra Bhamidipati [ 07/Feb/14 ] |
|
Hi Rajani, If you pass a port number greater than 32767 when adding an interface to the bridge in ovs, it will show up as a negative integer in the ODL GUI when you look at the port numbers for devices. You will see the right value in ovs-vsctl dump-ports because ovs is fine with it, but ODL currently won't be able to store/discover/parse it correctly, and will show the port as a negative number. The problem is that the open flow specification sets 16 bits aside for a port in the headers, and the third party openflowj library also accordingly reads/writes 16 bits on the wire, but java on the other hand, treats all short integers as signed. This is causing issues with the openflowj library and all other parts of the ODL code that deals with open flow ports because those 16 bits are treated as signed ints, not unsigned short ints as they should be. I'm working on the fix for this, and the fix is complicated and will take a while. Regards, |
| Comment by Ermin Sakic [ 21/May/14 ] |
|
Any updates on this? Calling TCP/UDP.getSourcePort() for iperf supplied packets very often results in returned negative values. I name iperf since the client does not allow for specifying the source port and instead reserves a random available port thus almost always resulting in problems if port no. needs to be extracted from the packet. |
| Comment by Carol Sanders [ 04/May/15 ] |
|
This bug is part of the project to Move all ADSAL associated component bugs to ADSAL |
| Comment by Carol Sanders [ 02/Jun/15 ] |
|
Deprecated code. |