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

Flow update rejected by switch generates faulty flow entry in operational DS

    XMLWordPrintable

Details

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

    • 7335

    Description

      As far as I can tell this is only happening with Beryllium.

      To reproduce:

      1) Start controller Beryllium + mininet OVS 2.3+

      2) Push the following sample flow:

      <flow xmlns="urn:opendaylight:flow:inventory">
      <strict>false</strict>
      <instructions>
      <instruction>
      <order>0</order>
      <apply-actions>
      <action>
      <set-field>
      <vlan-match>
      <vlan-id>
      <vlan-id>79</vlan-id>
      <vlan-id-present>true</vlan-id-present>
      </vlan-id>
      </vlan-match>
      </set-field>
      <order>1</order>
      </action>
      <action>
      <output-action>
      <output-node-connector>1</output-node-connector>
      </output-action>
      <order>2</order>
      </action>
      </apply-actions>
      </instruction>
      </instructions>
      <table_id>0</table_id>
      <id>48</id>
      <match>
      <ethernet-match>
      <ethernet-type>
      <type>2048</type>
      </ethernet-type>
      <ethernet-destination>
      <address>FF:FF:29:01:19:61</address>
      </ethernet-destination>
      <ethernet-source>
      <address>00:00:00:11:23:AE</address>
      </ethernet-source>
      </ethernet-match>
      <vlan-match>
      <vlan-id>
      <vlan-id>78</vlan-id>
      <vlan-id-present>true</vlan-id-present>
      </vlan-id>
      <vlan-pcp>7</vlan-pcp>
      </vlan-match>
      <in-port>openflow:1:1</in-port>
      </match>
      <flow-name>vlan_flow</flow-name>
      <priority>2</priority>
      </flow>

      2) Then update the flow removing the vlan-match (it will fail in ovs 2.3+):

      <flow xmlns="urn:opendaylight:flow:inventory">
      <strict>false</strict>
      <instructions>
      <instruction>
      <order>0</order>
      <apply-actions>
      <action>
      <set-field>
      <vlan-match>
      <vlan-id>
      <vlan-id>79</vlan-id>
      <vlan-id-present>true</vlan-id-present>
      </vlan-id>
      </vlan-match>
      </set-field>
      <order>1</order>
      </action>
      <action>
      <output-action>
      <output-node-connector>1</output-node-connector>
      </output-action>
      <order>2</order>
      </action>
      </apply-actions>
      </instruction>
      </instructions>
      <table_id>0</table_id>
      <id>48</id>
      <match>
      <ethernet-match>
      <ethernet-type>
      <type>2048</type>
      </ethernet-type>
      <ethernet-destination>
      <address>FF:FF:29:01:19:61</address>
      </ethernet-destination>
      <ethernet-source>
      <address>00:00:00:11:23:AE</address>
      </ethernet-source>
      </ethernet-match>
      <in-port>openflow:1:1</in-port>
      </match>
      <flow-name>vlan_flow</flow-name>
      <priority>2</priority>
      </flow>

      3) Check operational and flow is still there unmodified (switch has no flow):

      "flow": [
      {
      "id": "48",
      "instructions": {
      "instruction": [
      {
      "order": 0,
      "apply-actions": {
      "action": [
      {
      "order": 0,
      "set-field": {
      "vlan-match": {
      "vlan-id":

      { "vlan-id": 79, "vlan-id-present": true }

      }
      }
      },
      {
      "order": 1,
      "output-action":

      { "output-node-connector": "1", "max-length": 0 }

      }
      ]
      }
      }
      ]
      },
      "cookie": 0,
      "match": {
      "in-port": "openflow:1:1",
      "ethernet-match": {
      "ethernet-source":

      { "address": "00:00:00:11:23:AE" }

      ,
      "ethernet-destination":

      { "address": "FF:FF:29:01:19:61" }

      ,
      "ethernet-type":

      { "type": 2048 }

      },
      "vlan-match": {
      "vlan-id":

      { "vlan-id": 78, "vlan-id-present": true }

      ,
      "vlan-pcp": 7
      }
      },
      "hard-timeout": 0,
      "flags": "",
      "priority": 2,
      "table_id": 0,
      "opendaylight-flow-statistics:flow-statistics": {
      "packet-count": 0,
      "byte-count": 0,
      "duration":

      { "nanosecond": 728000000, "second": 28 }

      },
      "idle-timeout": 0
      }
      ]
      }

      Attachments

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

        Activity

          People

            Avishnoi Anil Vishnoi
            ecelgp Luis Gomez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: