[OPNFLWPLUG-75] No Flowmod sent when trying to delete all the flows in a table Created: 03/Mar/14  Updated: 27/Sep/21  Resolved: 02/May/14

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

Type: Bug
Reporter: David Splittberger Assignee: Vaclav Demcak
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC


External issue ID: 475

 Description   

Sending a delete message to the controller via REST to wildcard delete all the flows in a specific table does not result in a flow mod message being sent from the controller to the switch. I used tcpdump to cap packets leaving the controller with a source/destination port of 6653 to verify whether or not the flow mod was ever being sent.

Steps to reproduce:

1. add flow to switch
http://192.168.0.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:5/table/0/flow/2

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
<priority>5000</priority>
<match>
<in-port>31</in-port>
<protocol-match-fields>
<mpls-label>1234</mpls-label>
</protocol-match-fields>
</match>
<id>2</id>
<table_id>0</table_id>
<idle-timeout>0</idle-timeout>
<hard-timeout>0</hard-timeout>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<pop-mpls-action>
<ethernet-type>2048</ethernet-type>
</pop-mpls-action>
</action>
<action>
<order>1</order>
<output-action>
<output-node-connector>12</output-node-connector>
<max-length>60</max-length>
</output-action>
</action>
</apply-actions>
</instruction>
</instructions>
</flow>

2. verify flow was installed on switch

ovs-ofctl --protocols OpenFlow13 dump-flows s1
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=3.934s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=5000,in_port=31 actions=pop_mpls:0x0800,output:12

3. send delete, specifying table only
curl --user "admin":"admin" -H "Content-Type: application/xml" -X DELETE http://192.168.0.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:5/table/0

Actual results:
Flow is still present on the switch

ovs-ofctl --protocols OpenFlow13 dump-flows s1
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x0, duration=162.522s, table=0, n_packets=0, n_bytes=0, send_flow_rem priority=5000,in_port=31 actions=pop_mpls:0x0800,output:12

Expected results:
Flow mod should be sent and all flows in the specified tablet should be deleted



 Comments   
Comment by David Splittberger [ 03/Mar/14 ]

I get some output on the controller when I issue the table delete command:

2014-03-03 17:39:52.668 EST [http-bio-8080-exec-3] INFO o.o.c.sal.restconf.impl.BrokerFacade - Delete Configuration via Restconf: /(urn:opendaylight:inventory?revision=2013-08-19)nodes/(urn:opendaylight:inventory?revision=2013-08-19)node[

{(urn:opendaylight:inventory?revision=2013-08-19)id=openflow:5}

]/(urn:opendaylight:flow:inventory?revision=2013-08-19)table[

{(urn:opendaylight:flow:inventory?revision=2013-08-19)id=0}

]

And if I try to delete individual flows via /restconf/config/opendaylight-inventory:nodes/node/openflow:5/table/0/flow/2 then the flow gets deleted fine.

Comment by Abhijit Kumbhare [ 14/Apr/14 ]

New data store will solve this. Vaclav would be the contact for this.

Comment by Vaclav Demcak [ 02/May/14 ]

New tree-based data store is made as default and I haven't seen described behavior anymore.

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