<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:51 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[OPNFLWPLUG-211] lists of actions are not ordered consistently</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-211</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;Reported on the mailing list here:&lt;br/&gt;
&lt;a href=&quot;https://lists.opendaylight.org/pipermail/controller-dev/2014-July/005499.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/controller-dev/2014-July/005499.html&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;If you have the YANG data model, have you tried specifying &quot;ordered-by-user&quot; in the list?&lt;br/&gt;
Thanks&lt;br/&gt;
Kiran&lt;/p&gt;


&lt;p&gt;----&lt;del&gt;Original Message&lt;/del&gt;----&lt;br/&gt;
From: controller-dev-bounces at lists.opendaylight.org &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;mailto:controller-dev-bounces at lists.opendaylight.org&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;controller-dev-bounces at lists.opendaylight.org&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.opendaylight.org/images/icons/mail_small.gif&quot; height=&quot;12&quot; width=&quot;13&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; On Behalf Of Shigeru Yasuda&lt;br/&gt;
Sent: Tuesday, July 08, 2014 11:18 AM&lt;br/&gt;
To: controller-dev at lists.opendaylight.org; openflowplugin-dev at lists.opendaylight.org; vtn-dev at lists.opendaylight.org&lt;br/&gt;
Subject: &lt;span class=&quot;error&quot;&gt;&amp;#91;controller-dev&amp;#93;&lt;/span&gt; Flow actions were reordered.&lt;/p&gt;

&lt;p&gt;Hi folks,&lt;/p&gt;

&lt;p&gt;I observed that flow actions in a flow entry were reordered unexpectedly when I tested VTN with OF13 plugin.&lt;/p&gt;

&lt;p&gt;I configured 3 actions in a flow entry (via sal-compatibility):&lt;/p&gt;

&lt;p&gt;   action&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;: PUSH_VLAN&lt;br/&gt;
   action&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;: SET_FIELD (VLAN_VID)&lt;br/&gt;
   action&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;: OUTPUT&lt;/p&gt;

&lt;p&gt;But above actions were encoded into an OF13 FLOW_MOD as follows:&lt;/p&gt;

&lt;p&gt;   action&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt;: OUTPUT&lt;br/&gt;
   action&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;: PUSH_VLAN&lt;br/&gt;
   action&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;: SET_FIELD (VLAN_VID)&lt;/p&gt;

&lt;p&gt;I embedded some trace logs into the controller source, then I observed that flow actions in MD-SAL flow were already reordered when&lt;br/&gt;
FlowChangeListener.add() was called.&lt;/p&gt;

&lt;p&gt;  _applyActions=ApplyActions [&lt;br/&gt;
    _action=[&lt;br/&gt;
      Action [&lt;br/&gt;
        _order=2, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;,&lt;br/&gt;
        _action=OutputActionCase [&lt;br/&gt;
          _outputAction=OutputAction [&lt;br/&gt;
            _outputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:4:1&amp;#93;&lt;/span&gt;,&lt;br/&gt;
            augmentation=[]&lt;br/&gt;
          ],&lt;br/&gt;
          augmentation=[]&lt;br/&gt;
        ],&lt;br/&gt;
        augmentation=[]&lt;br/&gt;
      ],&lt;br/&gt;
      Action [&lt;br/&gt;
        _order=0, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;,&lt;br/&gt;
        _action=PushVlanActionCase [&lt;br/&gt;
          _pushVlanAction=PushVlanAction [&lt;br/&gt;
            _ethernetType=33024,&lt;br/&gt;
            augmentation=[]&lt;br/&gt;
          ],&lt;br/&gt;
          augmentation=[]&lt;br/&gt;
        ],&lt;br/&gt;
        augmentation=[]&lt;br/&gt;
      ],&lt;br/&gt;
      Action [&lt;br/&gt;
        _order=1, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;,&lt;br/&gt;
        _action=SetVlanIdActionCase [&lt;br/&gt;
          _setVlanIdAction=SetVlanIdAction [&lt;br/&gt;
            _vlanId=VlanId &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10&amp;#93;&lt;/span&gt;,&lt;br/&gt;
            augmentation=[]&lt;br/&gt;
          ],&lt;br/&gt;
          augmentation=[]&lt;br/&gt;
        ],&lt;br/&gt;
        augmentation=[]&lt;br/&gt;
      ]&lt;br/&gt;
    ],&lt;br/&gt;
    augmentation=[]&lt;br/&gt;
  ], ...&lt;/p&gt;


&lt;p&gt;And I enabled trace logging for BindingToNormalizedNodeCodec class in sal-binding-broker, then I observed that MD-SAL actions were deserialized out of order.&lt;/p&gt;

&lt;p&gt;  2014-07-09 00:37:40.849 GMT+09:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-17-thread-1&amp;#93;&lt;/span&gt; TRACE \&lt;br/&gt;
    o.o.c.m.s.b.i.BindingToNormalizedNodeCodec - \&lt;br/&gt;
    InstanceIdentifier Path Deserialization: &lt;span class=&quot;error&quot;&gt;&amp;#91;... snipped ..&amp;#93;&lt;/span&gt; \&lt;br/&gt;
    action/(urn:opendaylight:flow:inventory?revision=2013-08-19)output-action&lt;/p&gt;

&lt;p&gt;  2014-07-09 00:37:40.851 GMT+09:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-17-thread-1&amp;#93;&lt;/span&gt; TRACE \&lt;br/&gt;
    o.o.c.m.s.b.i.BindingToNormalizedNodeCodec - \&lt;br/&gt;
    InstanceIdentifier Path Deserialization: &lt;span class=&quot;error&quot;&gt;&amp;#91;... snipped ..&amp;#93;&lt;/span&gt; \&lt;br/&gt;
    action/(urn:opendaylight:flow:inventory?revision=2013-08-19)set-vlan-id-action&lt;/p&gt;

&lt;p&gt;  2014-07-09 00:37:40.851 GMT+09:00 &lt;span class=&quot;error&quot;&gt;&amp;#91;pool-17-thread-1&amp;#93;&lt;/span&gt; TRACE \&lt;br/&gt;
    o.o.c.m.s.b.i.BindingToNormalizedNodeCodec - \&lt;br/&gt;
    InstanceIdentifier Path Deserialization: &lt;span class=&quot;error&quot;&gt;&amp;#91;... snipped ..&amp;#93;&lt;/span&gt; \&lt;br/&gt;
    action/(urn:opendaylight:flow:inventory?revision=2013-08-19)push-vlan-action&lt;/p&gt;

&lt;p&gt;The order of elements in a YANG data list seems to be unspecified because it may be randomized by deserialization. My understanding is correct?&lt;br/&gt;
If so, I think openflowplugin should sort MD-SAL actions according to action order (Action.getOrder()) when it converts MD-SAL actions into OF actions.&lt;/p&gt;

&lt;p&gt;Regards,&lt;/p&gt;

&lt;p&gt;&amp;#8211;&lt;br/&gt;
Shigeru Yasuda&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27479">OPNFLWPLUG-211</key>
            <summary>lists of actions are not ordered consistently</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="yasuda">Shigeru Yasuda</assignee>
                                    <reporter username="colindixon">Colin Dixon</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Jul 2014 22:52:52 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:15 +0000</updated>
                            <resolved>Tue, 19 Aug 2014 07:16:13 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="55835" author="colin@colindixon.com" created="Tue, 8 Jul 2014 23:00:59 +0000"  >&lt;p&gt;Should be fixed by &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/8830/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/8830/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Waiting for confirmation on the mailing list.&lt;/p&gt;</comment>
                            <comment id="55836" author="yasuda" created="Wed, 9 Jul 2014 07:39:50 +0000"  >&lt;p&gt;Verified that this issue was fixed by the following patch.&lt;/p&gt;

&lt;p&gt;  &lt;a href=&quot;https://git.opendaylight.org/gerrit/8842&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/8842&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="55837" author="readams@readams.net" created="Tue, 5 Aug 2014 15:47:17 +0000"  >&lt;p&gt;This patch fixes the issue for me and I think it&apos;s more &quot;correct&quot; than changing the yang model in the way that has been proposed.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/9702/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/9702/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="55838" author="kramesha@cisco.com" created="Fri, 8 Aug 2014 18:00:33 +0000"  >&lt;p&gt;Two gerrits have been added :&lt;br/&gt;
Controller : &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/9802/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/9802/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Openflowplugin: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/9214/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/9214/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This would take care the ordering of the actions as well as instructions and table-feature-properties&lt;/p&gt;

&lt;p&gt;Currently waiting for api freeze waiver and review.&lt;/p&gt;</comment>
                            <comment id="55839" author="kramesha@cisco.com" created="Fri, 15 Aug 2014 15:56:05 +0000"  >&lt;p&gt;Hi Shigeru,&lt;/p&gt;

&lt;p&gt;Can you please take the latest and check if this issue is fixed.&lt;/p&gt;

&lt;p&gt;Please mark it resolved once reviewed.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Kamal&lt;/p&gt;</comment>
                            <comment id="55840" author="abhijit2511" created="Mon, 18 Aug 2014 14:13:45 +0000"  >&lt;p&gt;Shigeru, Colin,&lt;/p&gt;

&lt;p&gt;Can you guys check? This is merged now.&lt;/p&gt;

&lt;p&gt;Abhijit&lt;/p&gt;</comment>
                            <comment id="55841" author="yasuda" created="Tue, 19 Aug 2014 07:16:13 +0000"  >&lt;p&gt;I verified that merged patches fixed the issue I reported.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="24262">OPNFLWJAVA-32</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1338</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=1338]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02zr3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>