Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: Mac OS
Platform: Macintosh
-
286
Description
Controller connects to a switch with pre-existing flows (2 flows). When the operational state for a Table is issued, he Controller SHOULD report 2 flows, and display detailed statistics for both flows.
1. Retrieve operational data for a table:
http://192.168.4.1:8080/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2
2. The controller shows:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<table
xmlns="urn:opendaylight:flow:inventory">
<aggregate-flow-statistics
xmlns="urn:opendaylight:flow:statistics">
<byte-count>0</byte-count>
<packet-count>0</packet-count>
<flow-count>1</flow-count>
</aggregate-flow-statistics>
<id>2</id>
<flow-table-statistics
xmlns="urn:opendaylight:flow:table:statistics">
<packets-looked-up>0</packets-looked-up>
<packets-matched>0</packets-matched>
<active-flows>1</active-flows>
</flow-table-statistics>
</table>
Whereas it should show 2 flows and details for each flow.
3. check the flows with OVS in mininet:
mininet@mininet-vm:~$ sudo ovs-ofctl -O OpenFlow13 dump-flows s1
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0xa, duration=963.729s, table=0, n_packets=0, n_bytes=0, idle_timeout=3400, hard_timeout=1200, priority=2,ip,nw_dst=10.0.0.0/24 actions=dec_mpls_ttl
cookie=0x14, duration=1013.893s, table=2, n_packets=0, n_bytes=0, idle_timeout=3400, hard_timeout=1200, send_flow_rem priority=2,metadata=0x3039 actions=dec_ttl
Mininet's OVS shows both flows active.
Note that the REALLY correct behavior would be for the controller to detect the two flows and then reconcile them with its config space. Since the config space is empty, the controller SHOULD delete both flows upon reconnection. But, in order to be able to delete the flows, the controller MUST detect them properly, which is not happening.