[OPNFLWPLUG-59] Set-field cannot update read-only actions on OVS Created: 27/Jan/14 Updated: 27/Sep/21 Resolved: 24/Mar/14 |
|
| Status: | Resolved |
| Project: | OpenFlowPlugin |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Krishnan Iyer | Assignee: | Krishnan Iyer |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: Linux |
||
| Attachments: |
|
| External issue ID: | 381 |
| Description |
|
We cannot use set-field action for: We were testing using XMLs and the odl_tests.py script, which failed. mininet@mininet-vm:~$ sudo ovs-ofctl mininet@mininet-vm:~$ sudo ovs-ofctl mininet@mininet-vm:~$ sudo ovs-ofctl and so on. Version Info: Turned down logging in ErrorTranslator from ERROR to DEBUG Change-Id: I296451951e41320def91234b67671211948f5908 |
| Comments |
| Comment by Jyotsna Priya [ 29/Jan/14 ] |
|
If the flow is being written from CLI, what is the role of controller in this? I think the openvswitch code is working as intended and this is an invalid scenario: Try to write the set field that are read-only. The set-field action parameters are set as read-only in openvswitch. In file openvswitch<version>/lib/ofp-parse.c, method set_field_parse(), the code checks for the those variables that are not writable and returns fatal error if they are read-only. Please update that my understanding is correct on this or not? |
| Comment by Krishnan Iyer [ 03/Feb/14 ] |
|
Hi Jyotsna, "If the flow is being written from CLI, what is the role of controller in this?" "I think the openvswitch code is working as intended and this is an invalid scenario: Try to write the set field that are read-only. " "The set-field action parameters are set as read-only in openvswitch. In file openvswitch<version>/lib/ofp-parse.c, method set_field_parse(), the code checks for the those variables that are not writable and returns fatal error if they are read-only. |
| Comment by Krishnan Iyer [ 03/Feb/14 ] |
|
Also, restconf sends an OK/Success when tested. PUT/GET succeeds. |
| Comment by Jyotsna Priya [ 06/Feb/14 ] |
|
>"The OpenFlow 1.3.2 spec says that we should be able to set the values for these fields" So this is ovs bug and not of openflowplugin. OVS needs to make them read-write. |
| Comment by Jyotsna Priya [ 10/Feb/14 ] |
|
Hi Krishnan, Can you please provide the url and xml file that you used in restclient. Thanks |
| Comment by Krishnan Iyer [ 05/Mar/14 ] |
|
One of the example XML |
| Comment by Krishnan Iyer [ 05/Mar/14 ] |
|
Attachment f129.xml has been added with description: ICMPv4 Type XML |
| Comment by Michal Rehak [ 05/Mar/14 ] |
|
On cpqd switch the attached xml works. But on ovs it fails and corresponding error message arrives from switch. This message gets translated into MD-SAL model and published to MD-SAL. I believe that controller is processing this scenario as expected. Krishnan, could you please mark this bug as resolved and eventually file a bug into openvswitch.org? Thank you. |
| Comment by Abhijit Kumbhare [ 24/Mar/14 ] |
|
Any update on this Krishnan? |
| Comment by Krishnan Iyer [ 24/Mar/14 ] |
|
Abhijit/Michal, |
| Comment by Krishnan Iyer [ 24/Mar/14 ] |
|
Have emailed bugs@openvswitch.org with the details. |
| Comment by Ben Pfaff [ 24/Mar/14 ] |
|
(In reply to Krishnan Iyer from comment #2) This is some kind of misunderstanding. Here's what OpenFlow 1.3.3 says in section 5.12. Set-Field is clearly optional: Optional Action: Set-Field. The various Set-Field actions are Here's what 7.2.5 Action Structures says: All header fields are valid in the set-field action, as well as |
| Comment by Ben Pfaff [ 24/Mar/14 ] |
|
(In reply to Jyotsna Priya from comment #4) This is wrong. ofp_table_features allows one to find out the switch's features, including whether it can write various fields, and to request changes to the switch's features. The text in 1.3.2 means that the controller can request a change to any feature, but it doesn't mean that the switch must be able to implement any change that the controller requests. |