[OPNFLWPLUG-713] Modifying config flow does not work if first flow creation failed Created: 18/Jun/16  Updated: 27/Sep/21  Resolved: 24/Jul/16

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Anil Vishnoi Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 6085

 Description   

User installs a flow (e.g id=X) using the config data store and switch didn't not accept that flow because of the flow_mod error. Now user modifies the same flow in config data store to correct it, but flow does not get install on the switch.

E.g

Install following flow on the switch. This flow should fail, because of the out of range port number 65535.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow
xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<idle-timeout>0</idle-timeout>
<hard-timeout>0</hard-timeout>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<output-action>
<output-node-connector>openflow:1:65535</output-node-connector>
</output-action>
<order>3</order>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>0</table_id>
<id>1</id>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
<ethernet-destination>
<address>FF:FF:29:01:19:61</address>
</ethernet-destination>
</ethernet-match>
</match>
<flow-name>wrong-flow</flow-name>
<priority>2</priority>
</flow>

Now user modify the same flow in config data store and correct the port number

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow
xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<idle-timeout>0</idle-timeout>
<hard-timeout>0</hard-timeout>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<output-action>
<output-node-connector>openflow:1:1</output-node-connector>
</output-action>
<order>3</order>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>0</table_id>
<id>1</id>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
<ethernet-destination>
<address>FF:FF:29:01:19:61</address>
</ethernet-destination>
</ethernet-match>
</match>
<flow-name>wrong-flow</flow-name>
<priority>2</priority>
</flow>

This flow is correct and ideally it should be installed on the switch, but that's not happening.



 Comments   
Comment by Andrej Leitner [ 20/Jun/16 ]

Hi Anil,
just FYI, retry mechanism (OPNFLWPLUG-651) is solving this in new FRM (FR-sync). It's not merged yet, but in testing with your inputs I get log message for first flow

syncup errors: [RpcError [message=Device reported error type BADACTION code BADOUTPORT, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=org.opendaylight.openflowjava.protocol.api.connection.DeviceRequestFailedException: Device-side failure]]

and retry is started. When I push to config correct flow, it is updated in config and successfully installed to device, then retry is stopped.

Comment by Shuva Jyoti Kar [ 24/Jun/16 ]

for flows:

https://git.opendaylight.org/gerrit/#/c/40744/ on the master and
https://git.opendaylight.org/gerrit/#/c/40510/ on stable/Be

groups/meters:
https://git.opendaylight.org/gerrit/#/c/40807/ - stable/Be
https://git.opendaylight.org/gerrit/#/c/40804/ - master

Comment by Shuva Jyoti Kar [ 21/Jul/16 ]

need to devise some other method for groups/meters. Anil , can we close this Bug now , since its been done for groups?

Generated at Wed Feb 07 20:33:11 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.