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

Flow matching function (operational flow reconciliation) is not stable

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 6917

    Description

      To reproduce:

      1) start mininet 1 switch: sudo mn --controller=remote,ip=127.0.0.1 --topo tree,1 --switch ovsk,protocols=OpenFlow13

      2) Push this flow:
      PUT restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/144
      <flow xmlns="urn:opendaylight:flow:inventory">
      <strict>false</strict>
      <flow-name>FooXf21</flow-name>
      <id>144</id>
      <cookie_mask>255</cookie_mask>
      <cookie>21</cookie>
      <table_id>2</table_id>
      <priority>21</priority>
      <installHw>false</installHw>
      <instructions>
      <instruction>
      <order>0</order>
      <apply-actions>
      <action>
      <order>0</order>
      <dec-nw-ttl/>
      </action>
      </apply-actions>
      </instruction>
      </instructions>
      <match>
      <ethernet-match>
      <ethernet-type>
      <type>34525</type>
      </ethernet-type>
      </ethernet-match>
      <ipv6-source>1234:5678:9ABC:DEF0:FDCD:A987:6543:210F/76</ipv6-source>
      <ipv6-destination>fe80::2acf:e9ff:fe21:6431/128</ipv6-destination>
      <metadata>
      <metadata>12345</metadata>
      </metadata>
      <ip-match>
      <ip-protocol>17</ip-protocol>
      <ip-dscp>8</ip-dscp>
      <ip-ecn>3</ip-ecn>
      </ip-match>
      <udp-source-port>25364</udp-source-port>
      <udp-destination-port>8080</udp-destination-port>
      </match>
      </flow>

      3) Check flow is reconciled in operational:

      GET restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2
      {
      "flow-node-inventory:table": [
      {
      "id": 2,
      "flow": [
      {
      "id": "144",
      "opendaylight-flow-statistics:flow-statistics": {
      "packet-count": 0,
      "duration":

      { "nanosecond": 1000000, "second": 3 }

      ,
      "byte-count": 0
      },
      "priority": 21,
      "table_id": 2,
      "hard-timeout": 0,
      "match": {
      "ethernet-match": {
      "ethernet-type":

      { "type": 34525 }

      },
      "metadata":

      { "metadata": 12345 }

      ,
      "ip-match":

      { "ip-dscp": 8, "ip-protocol": 17, "ip-ecn": 3 }

      ,
      "ipv6-destination": "fe80::2acf:e9ff:fe21:6431/128",
      "ipv6-source": "1234:5678:9abc:def0:fdc0::/76",
      "udp-source-port": 25364,
      "udp-destination-port": 8080
      },
      "cookie": 21,
      "flags": "",
      "instructions": {
      "instruction": [
      {
      "order": 0,
      "apply-actions": {
      "action": [
      {
      "order": 0,
      "dec-nw-ttl": {}
      }
      ]
      }
      }
      ]
      },
      "idle-timeout": 0
      }
      ],
      "opendaylight-flow-table-statistics:flow-table-statistics":

      { "packets-matched": 0, "active-flows": 0, "packets-looked-up": 0 }

      }
      ]
      }

      4) Delete flow:
      DELETE restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/144

      5) repeat 2-4 until you see alien ID is step 3) (normally 4-5 times)
      GET restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2
      {
      "flow-node-inventory:table": [
      {
      "id": 2,
      "flow": [
      {
      "id": "#UF$TABLE*2-13",
      "opendaylight-flow-statistics:flow-statistics": {
      "packet-count": 0,
      "duration":

      { "nanosecond": 609000000, "second": 21 }

      ,
      "byte-count": 0
      },
      "priority": 21,
      "table_id": 2,
      "hard-timeout": 0,
      "match": {
      "ethernet-match": {
      "ethernet-type":

      { "type": 34525 }

      },
      "metadata":

      { "metadata": 12345 }

      ,
      "ip-match":

      { "ip-dscp": 8, "ip-protocol": 17, "ip-ecn": 3 }

      ,
      "ipv6-destination": "fe80::2acf:e9ff:fe21:6431/128",
      "ipv6-source": "1234:5678:9abc:def0:fdc0::/76",
      "udp-source-port": 25364,
      "udp-destination-port": 8080
      },
      "cookie": 21,
      "flags": "",
      "instructions": {
      "instruction": [
      {
      "order": 0,
      "apply-actions": {
      "action": [
      {
      "order": 0,
      "dec-nw-ttl": {}
      }
      ]
      }
      }
      ]
      },
      "idle-timeout": 0
      }
      ],
      "opendaylight-flow-table-statistics:flow-table-statistics":

      { "packets-matched": 0, "active-flows": 1, "packets-looked-up": 0 }

      }
      ]
      }

      Attachments

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

        Activity

          People

            ecelgp Luis Gomez
            ecelgp Luis Gomez
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: