Uploaded image for project: 'OpenFlowPlugin'
  1. OpenFlowPlugin
  2. OPNFLWPLUG-22

Number of flows in a switch reported incorrectly when controller connects to a switch with existing flows.

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • General
    • 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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Avishnoi Anil Vishnoi
            jmedved@cisco.com Jan Medved
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: