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

Buckets in groups are not ordered.

    XMLWordPrintable

Details

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

    • 2664
    • High

    Description

      According to spec 1.3.x the action buckets are "an ordered list of action buckets, where each action bucket contains a set of
      actions to execute and associated parameters". The problem is that these buckets are not ordered, thus when designing an app that involves multiple buckets for, say, fast fail-over, the result is not predictable. This http request:

      <group xmlns="urn:opendaylight:flow:inventory">
      <group-type>group-ff</group-type>
      <buckets>
      <bucket>
      <action>
      <output-action>
      <output-node-connector>openflow:1:2</output-node-connector>
      </output-action>
      <order>0</order>
      </action>
      <bucket-id>1</bucket-id>
      <watch_port>2</watch_port>
      </bucket>
      <bucket>
      <action>
      <output-action>
      <output-node-connector>openflow:1:3</output-node-connector>
      </output-action>
      <order>0</order>
      </action>
      <bucket-id>2</bucket-id>
      <watch_port>3</watch_port>
      </bucket>
      </buckets>
      <group-name>Foo</group-name>
      <group-id>1</group-id>
      </group>

      produces this data in the configuration tree:

      <group xmlns="urn:opendaylight:flow:inventory">
      <group-id>1</group-id>
      <buckets>
      <bucket>
      <bucket-id>2</bucket-id>
      <watch_port>3</watch_port>
      <action>
      <order>0</order>
      <output-action>
      <output-node-connector>openflow:1:3</output-node-connector>
      </output-action>
      </action>
      </bucket>
      <bucket>
      <bucket-id>1</bucket-id>
      <watch_port>2</watch_port>
      <action>
      <order>0</order>
      <output-action>
      <output-node-connector>openflow:1:2</output-node-connector>
      </output-action>
      </action>
      </bucket>
      </buckets>
      <group-type>group-ff</group-type>
      <group-name>Foo</group-name>
      <barrier>false</barrier>
      </group>

      and the message send to the switch contains the buckets as in the data store. This way we cannot create proper paths in a network using groups as we don't know which bucket will be used when.

      I suggest a change in the model so that each bucket has an "order" field, much like actions have an order field. Then the OpenFlow pluggin should respect this order and create the proper OF message.

      Attachments

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

        Activity

          People

            iosam@intracom-telecom.com Ioakeim Samaras
            ckaidos@intracom-telecom.com Charalampos Kaidos
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: