[CONTROLLER-106] Only the first programmed flow in a Table reported in the operational store for the Table Created: 28/Dec/13  Updated: 25/Jul/23  Resolved: 04/May/15

Status: Resolved
Project: controller
Component/s: adsal
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Jan Medved Assignee: Jan Medved
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: Macintosh


External issue ID: 263

 Description   

Steps to reproduce:

1. Connect mininet with a single OF switch to the controller, e.g.:
' sudo mn --topo single,3 --controller 'remote,ip=192.168.4.1:6633' --switch ovsk,protocols=OpenFlow13'

2. Program multiple flows in Table 0 through restconf, e.g.:
HTTP PUT to 'http://192.168.4.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/126'with XML data:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow
xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<dec-nw-ttl/>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>0</table_id>
<id>126</id>
<cookie_mask>255</cookie_mask>
<out_port>0</out_port>
<installHw>false</installHw>
<out_group>2</out_group>
<match>
<ipv4-destination>10.2.3.4/24</ipv4-destination>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
</ethernet-match>
</match>
<hard-timeout>0</hard-timeout>
<flags/>
<cookie>11</cookie>
<idle-timeout>0</idle-timeout>
<flow-name>FooXf2</flow-name>
<priority>2</priority>
<barrier>false</barrier>
</flow>

3. Similarly, program flow 125 in Table 0 by issuing HTTP PUT to ''http://192.168.4.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/125' (and corresponding changes to flow id in the XML payload)

4. Verify that flows are present in the switch in mininet:
'sudo ovs-ofctl -O OpenFlow13 dump-flows s1'

5. verify that flows are present in the RESTCONG config space:
issue HTTP GET to 'http://192.168.4.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0' - both flows are showing

6. Try to retrieve the operational state for Table 0 by issuing HTTP GET to ''http://192.168.4.1:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0' - only the first programmed flow will show.

Before issuing Step 6, wait for the stats collection cycle to complete.



 Comments   
Comment by Sachi Gupta [ 15/Jan/14 ]

Hi Jan Medved,

In step 2: To program multiple flows through restconf using the above mentioned URL, I am getting internal server error 500.

Can you please elaborate which module you are using for this rest call. For eg( ForwardingRulesManager have different set of rest calls)

Also, please specify your mininet, and opendaylight controller versions being used to replicate this bug.

Thanks

Comment by Sachi Gupta [ 20/Jan/14 ]

Hi Jan Medved,

I am able to replicate this bug with openflowplugin and mininet version2.0 (with ofsoftswitch 1.3 integration).

Will investigate further and update.

Comment by Michal Rehak [ 06/Mar/14 ]

Now it works on both: ovs and cpqd. Tested with 3 flows in the same table. All 3 flows found on device, in config context, in operational context.

Comment by Carol Sanders [ 04/May/15 ]

This bug is part of the project to Move all ADSAL associated component bugs to ADSAL

Generated at Wed Feb 07 19:52:12 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.