<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:05 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-293] of-flow: flow not deleted from device not operational table (but deleted from operational flow)</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-293</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;odl: distribution-karaf-0.2.0-Helium-RC1-6-v201409220013&lt;/p&gt;

&lt;p&gt;env: mininet 2.1.0, ovs 2.0.0&lt;/p&gt;

&lt;p&gt;flow: integration.git   /test/csit/variables/xmls/f32.xml&lt;/p&gt;

&lt;p&gt;steps to reproduce:&lt;/p&gt;

&lt;p&gt;1) add flow:&lt;br/&gt;
PUT request sent to url &lt;a href=&quot;http://pce-guest37.cisco.com:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://pce-guest37.cisco.com:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&lt;/a&gt;&lt;br/&gt;
with f32.xml as a content&lt;/p&gt;

&lt;p&gt;2) check operational ds&lt;br/&gt;
GEThttp://pce-guest37.cisco.com:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&lt;/p&gt;

&lt;p&gt;GEThttp://pce-guest37.cisco.com:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2&lt;/p&gt;

&lt;p&gt;returned 200 OK with flow details&lt;/p&gt;

&lt;p&gt;OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
 cookie=0xa, duration=8.969s, table=2, n_packets=0, n_bytes=0, idle_timeout=300, hard_timeout=600, send_flow_rem priority=32,ip,nw_dst=10.0.0.0/24 actions=set_mpls_ttl(1)&lt;/p&gt;

&lt;p&gt;3) delete &lt;br/&gt;
DEL request sent to url &lt;a href=&quot;http://pce-guest37.cisco.com:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://pce-guest37.cisco.com:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&lt;/a&gt;&lt;br/&gt;
DEL Response 200&lt;/p&gt;

&lt;p&gt;4) check: &lt;br/&gt;
present on device&lt;br/&gt;
OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
 cookie=0xa, duration=39.373s, table=2, n_packets=0, n_bytes=0, idle_timeout=300, hard_timeout=600, send_flow_rem priority=32,ip,nw_dst=10.0.0.0/24 actions=set_mpls_ttl(1)&lt;/p&gt;

&lt;p&gt;not present in &quot;flow&quot;&lt;br/&gt;
GET request sent to url &lt;a href=&quot;http://pce-guest37.cisco.com:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://pce-guest37.cisco.com:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/155&lt;/a&gt;&lt;br/&gt;
GET response 404&lt;/p&gt;

&lt;p&gt;but present in &quot;table&quot;&lt;br/&gt;
GET request sent to url &lt;a href=&quot;http://pce-guest37.cisco.com:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://pce-guest37.cisco.com:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2&lt;/a&gt;&lt;br/&gt;
GET response 200&lt;br/&gt;
Response content: &amp;lt;table xmlns=&quot;urn:opendaylight:flow:inventory&quot;&amp;gt;&amp;lt;id&amp;gt;2&amp;lt;/id&amp;gt;&amp;lt;flow-table-statistics xmlns=&quot;urn:opendaylight:flow:table:statistics&quot;&amp;gt;&amp;lt;packets-looked-up&amp;gt;0&amp;lt;/packets-looked-up&amp;gt;&amp;lt;active-flows&amp;gt;1&amp;lt;/active-flows&amp;gt;&amp;lt;packets-matched&amp;gt;0&amp;lt;/packets-matched&amp;gt;&amp;lt;/flow-table-statistics&amp;gt;&amp;lt;flow-cookie-map&amp;gt;&amp;lt;cookie&amp;gt;10&amp;lt;/cookie&amp;gt;&amp;lt;flow-ids&amp;gt;#UF$TABLE*2-1&amp;lt;/flow-ids&amp;gt;&amp;lt;flow-ids&amp;gt;155&amp;lt;/flow-ids&amp;gt;&amp;lt;/flow-cookie-map&amp;gt;&amp;lt;flow&amp;gt;&amp;lt;id&amp;gt;#UF$TABLE*2-1&amp;lt;/id&amp;gt;&amp;lt;flags&amp;gt;SEND_FLOW_REM&amp;lt;/flags&amp;gt;&amp;lt;match&amp;gt;&amp;lt;ipv4-destination&amp;gt;10.0.0.0/24&amp;lt;/ipv4-destination&amp;gt;&amp;lt;ethernet-match&amp;gt;&amp;lt;ethernet-type&amp;gt;&amp;lt;type&amp;gt;2048&amp;lt;/type&amp;gt;&amp;lt;/ethernet-type&amp;gt;&amp;lt;/ethernet-match&amp;gt;&amp;lt;/match&amp;gt;&amp;lt;priority&amp;gt;32&amp;lt;/priority&amp;gt;&amp;lt;idle-timeout&amp;gt;300&amp;lt;/idle-timeout&amp;gt;&amp;lt;instructions&amp;gt;&amp;lt;instruction&amp;gt;&amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&amp;lt;apply-actions&amp;gt;&amp;lt;action&amp;gt;&amp;lt;order&amp;gt;0&amp;lt;/order&amp;gt;&amp;lt;set-mpls-ttl-action&amp;gt;&amp;lt;mpls-ttl&amp;gt;1&amp;lt;/mpls-ttl&amp;gt;&amp;lt;/set-mpls-ttl-action&amp;gt;&amp;lt;/action&amp;gt;&amp;lt;/apply-actions&amp;gt;&amp;lt;/instruction&amp;gt;&amp;lt;/instructions&amp;gt;&amp;lt;flow-statistics xmlns=&quot;urn:opendaylight:flow:statistics&quot;&amp;gt;&amp;lt;duration&amp;gt;&amp;lt;nanosecond&amp;gt;234000000&amp;lt;/nanosecond&amp;gt;&amp;lt;second&amp;gt;49&amp;lt;/second&amp;gt;&amp;lt;/duration&amp;gt;&amp;lt;byte-count&amp;gt;0&amp;lt;/byte-count&amp;gt;&amp;lt;packet-count&amp;gt;0&amp;lt;/packet-count&amp;gt;&amp;lt;/flow-statistics&amp;gt;&amp;lt;table_id&amp;gt;2&amp;lt;/table_id&amp;gt;&amp;lt;hard-timeout&amp;gt;600&amp;lt;/hard-timeout&amp;gt;&amp;lt;cookie&amp;gt;10&amp;lt;/cookie&amp;gt;&amp;lt;/flow&amp;gt;&amp;lt;/table&amp;gt;&lt;/p&gt;

&lt;p&gt;expected: to be deleted from everywhere&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27561">OPNFLWPLUG-293</key>
            <summary>of-flow: flow not deleted from device not operational table (but deleted from operational flow)</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="10003">Cannot Reproduce</resolution>
                                        <assignee username="Avishnoi">Anil Vishnoi</assignee>
                                    <reporter username="pgubka@cisco.com">Peter Gubka</reporter>
                        <labels>
                    </labels>
                <created>Mon, 22 Sep 2014 16:36:17 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:21 +0000</updated>
                            <resolved>Wed, 27 May 2015 13:10:04 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="56230" author="pgubka@cisco.com" created="Mon, 22 Sep 2014 16:41:46 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: log file&lt;/p&gt;</comment>
                            <comment id="56221" author="vishnoianil@gmail.com" created="Mon, 22 Sep 2014 20:30:04 +0000"  >&lt;p&gt;Hi Peter,&lt;/p&gt;

&lt;p&gt;In the reported scenario, statistics manager is working as expected. Statistics manage to their respective flow/group/meter etc. In this scenario, when user installs the flow, it augment the flow statistics to flow/155 in operational data store. Then when you remove the flow (flow/155) from config data store, statistics manager also remove the respective flow statistics from operational data store. &lt;br/&gt;
BUT because this flow was not removed from the switch, in the next cycle of statistics data, it receives the statistics of the that flow. Now statistics manager try to search the respective flow in config data store to augment its statistics data, but it won&apos;t find it because it was already removed from the config data store. So it augment this flow as a alien flow using the alien ID (#UF$TABLE*2-1).&lt;/p&gt;

&lt;p&gt;So the main issue here is why flow was not removed from the switch when user deleted the flow from config data store. Because if it would have been removed from switch, statistics manager should not have received any flow statistics update from switch and therefore you should not have seen any statistics augmented against the alien id.&lt;/p&gt;

&lt;p&gt;Can you please update the bug with the details of the features you installed in karaf for testing this scenario?.If someone won&apos;t be able to look at it by tomorrow morning my time, i will have a look at it.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="56222" author="pgubka@cisco.com" created="Tue, 23 Sep 2014 05:47:41 +0000"  >&lt;p&gt;I use:&lt;br/&gt;
feature:install odl-mdsal-broker odl-restconf odl-bgpcep-all odl-netconf-all odl-netconf-connector-all odl-openflowplugin-all odl-openflowplugin-drop-test odl-sfcofl2 odl-sfc-test-consumer&lt;/p&gt;</comment>
                            <comment id="56223" author="vishnoianil@gmail.com" created="Tue, 23 Sep 2014 08:43:00 +0000"  >&lt;p&gt;Hi Peter,&lt;/p&gt;

&lt;p&gt;I tried to recreate this issue in my local setup.  My local setup is running mininet (2.0.0) and ovs (2.1.2). I used the same karaf RC build which you mentioned for the testing. In my setup when i tried to install the flow (f32.xml), i get following error message from switch &lt;/p&gt;

&lt;p&gt;Type: Error in action description - OFPET_BAD_ACTION (2)&lt;br/&gt;
Code: Action can&#8217;t apply for this match or Set-Field missing prerequisite - OFPBAC_MATCH_INCONSISTENT (0x000a)&lt;/p&gt;

&lt;p&gt;As per specs this is valid error message.&lt;/p&gt;

&lt;p&gt;Although this flow didn&apos;t get installed in switch, but it was augmented in the config data store, so i sent DELETE REST call to delete it, and i can see that flow_mod (for delete) also reaches to the switch. But this flow mod for delete also results in error from switch side. I get following error message from switch (which is obvious because we are trying to delete the flow which doesn&apos;t exist in the switch):&lt;/p&gt;

&lt;p&gt;Type: Problem modifying flow entry - OFPET_FLOW_MOD_FAILED (5)&lt;br/&gt;
Code: Unspecified error - OFPFMFC_UNKNOWN (0x0000)&lt;/p&gt;

&lt;p&gt;From controller perspective, i can see that its sending flow mod for both installing and removing the flow as expected. That make me believe that its an issue from switch side. It seems to be a bug in OVS 2.0.0 version.&lt;/p&gt;

&lt;p&gt;In my environment i don&apos;t have OVS version==2.0.0, can you please favor me and  capture the wireshark dump (.pcap file) in your environment and attach to the bug report. You just have to start the wireshark, send the flow add request, confirm that flow got installed on switch and then immediately delete the from using restconf. Through this pcap file, i want to confirm two things, &lt;/p&gt;

&lt;p&gt;1) That switch is receiving both the flow mod (for installing and removing the flow) &lt;br/&gt;
2) If switch throws any error for the flow_mod for flow delete. &lt;/p&gt;

&lt;p&gt;1st observation will confirm that controller is indeed sending appropriate flow mods to add/remove flow. Secondly, if we see error for flow delete flow mod, it can give us further pointer on why it&apos;s not deleting the flow. There can be two possible reasons, 1)controller is not sending appropriate flow_mod for flow deletion (very unlikely because its not putting any extra intelligence for flow deletion compared to flow add) OR 2) there is some issue from switch side.&lt;/p&gt;

&lt;p&gt;Please let me know if you need any help in capturing the wireshark dump.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="56224" author="pgubka@cisco.com" created="Tue, 23 Sep 2014 09:19:17 +0000"  >&lt;p&gt;please filter ports 6633 and 8181 for the traffic you are interested in&lt;/p&gt;</comment>
                            <comment id="56231" author="pgubka@cisco.com" created="Tue, 23 Sep 2014 09:19:17 +0000"  >&lt;p&gt;Attachment f32.pcap has been added with description: pcap file&lt;/p&gt;</comment>
                            <comment id="56225" author="vishnoianil@gmail.com" created="Tue, 23 Sep 2014 11:58:49 +0000"  >&lt;p&gt;So this pcap file shows that there was no error while installing the flow, but it throws error for the flow mod that deletes the flow. Error thrown is same as i get in my environment. Flow mode sent by controller also looks fine to me. So i believe OVS== 2.0.0 is buggy for mpls related flows. Initial implementation of mpls related actions (set and decrement) was introduced in 1.11.0 version of OVS, so its highly likely that its not fully bug free. As per specs OVS should not allow this flow to be installed and that&apos;s what we see in ovs==2.1.2 version.&lt;/p&gt;</comment>
                            <comment id="56226" author="abhijit2511" created="Tue, 23 Sep 2014 15:14:20 +0000"  >&lt;p&gt;This is not a blocking bug for Helium (Peter agrees).&lt;/p&gt;</comment>
                            <comment id="56227" author="abhijit2511" created="Wed, 6 May 2015 17:16:47 +0000"  >&lt;p&gt;Peter,&lt;/p&gt;

&lt;p&gt;Can you retest and update this old bug? Also check the priority of the bug - should it be critical or major?&lt;/p&gt;

&lt;p&gt;Abhijit&lt;/p&gt;</comment>
                            <comment id="56228" author="pgubka@cisco.com" created="Thu, 7 May 2015 13:24:30 +0000"  >&lt;p&gt;i updated the importance to &quot;normal&quot; as it is very odl, i&apos;ll recheck it on monday, had different task today&lt;/p&gt;</comment>
                            <comment id="56229" author="pgubka@cisco.com" created="Wed, 27 May 2015 13:10:04 +0000"  >&lt;p&gt;tested with lithium odl and ovs 2.3.0&lt;br/&gt;
you were right, the flow is not correct. ovs rejected the flow&lt;/p&gt;

&lt;p&gt;closing bug as invalid&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13925" name="f32.pcap" size="438354" author="pgubka@cisco.com" created="Tue, 23 Sep 2014 09:19:17 +0000"/>
                            <attachment id="13924" name="karaf.log" size="177494" author="pgubka@cisco.com" created="Mon, 22 Sep 2014 16:41:46 +0000"/>
                    </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>2028</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=2028]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10316"><![CDATA[Helium-1]]></customfieldvalue>

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

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