<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:23 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-26] Forwarding Rules Manager (Installs Flows on SB devices)</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-26</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;To remove flow1:&lt;/p&gt;

&lt;p&gt;After you create a flow1 (It got succeeded and verified too) and when you try to delete the respective flow1 i.e using DELETE &lt;a href=&quot;http://10.125.136.52:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:2/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://10.125.136.52:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:2/staticFlow/flow1&lt;/a&gt; thorugh REST-API, I am getting an error &apos;404 - Not Found&apos;&lt;/p&gt;

&lt;p&gt;Please note this is for mininet - OF1.3.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Windows&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27294">OPNFLWPLUG-26</key>
            <summary>Forwarding Rules Manager (Installs Flows on SB devices)</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="Avishnoi">Anil Vishnoi</assignee>
                                    <reporter username="madhusudhan.opendaylight@yahoo.com">Madhusudhan Ananderi</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Jan 2014 18:09:29 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:01 +0000</updated>
                            <resolved>Tue, 28 Jan 2014 11:59:36 +0000</resolved>
                                                                    <component>General</component>
                        <due>Wed, 22 Jan 2014 00:00:00 +0000</due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="55136" author="hagbard@gmail.com" created="Thu, 16 Jan 2014 16:37:44 +0000"  >&lt;p&gt;Note, this is the old API, not the new RESTCONF API.&lt;/p&gt;

&lt;p&gt;So this is an issue with the MD-SAL Adaptation.&lt;/p&gt;</comment>
                            <comment id="55137" author="moraja@cisco.com" created="Sat, 18 Jan 2014 01:20:57 +0000"  >&lt;p&gt;I tried it today. This works fine for me in the sense I get a 204 - the flow itself does not get removed from the switch which is a separate issue problem on the openflowplugin/openflowjava side.&lt;/p&gt;</comment>
                            <comment id="55138" author="hagbard@gmail.com" created="Tue, 21 Jan 2014 16:45:51 +0000"  >&lt;p&gt;Please reverify.&lt;/p&gt;</comment>
                            <comment id="55139" author="priyanka.chopra@tcs.com" created="Wed, 22 Jan 2014 09:14:15 +0000"  >&lt;p&gt;Verified. Works fine.&lt;br/&gt;
Using the DELETE URL, the flow gets deleted from switch as well but &quot;204 - No Content&quot; in response.&lt;/p&gt;

&lt;p&gt;Following is the test procedure followed:&lt;/p&gt;

&lt;p&gt;I created a mininet topology with 1 switch and 3 hosts on Mininet OPenflow1.3.&lt;br/&gt;
Added 2 flows statically through dashboard.&lt;br/&gt;
Can see the flows through URI &lt;br/&gt;
GET &lt;a href=&quot;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow1&lt;/a&gt;&lt;br/&gt;
GET &lt;a href=&quot;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also can see the flows on switch through mininet : dpctl dump-flows&lt;/p&gt;

&lt;p&gt;Now if i delete the flows through URL &lt;br/&gt;
DELETE &lt;a href=&quot;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow1&lt;/a&gt;&lt;br/&gt;
the flow gets deleted from switch but gives &quot;204 - No Content&quot; in response body.&lt;/p&gt;</comment>
                            <comment id="55155" author="priyanka.chopra@tcs.com" created="Wed, 22 Jan 2014 09:14:15 +0000"  >&lt;p&gt;Attachment Screenshots_290.zip has been added with description: Screenshots for test procedure&lt;/p&gt;</comment>
                            <comment id="55156" author="madhusudhan.opendaylight@yahoo.com" created="Wed, 22 Jan 2014 19:53:20 +0000"  >&lt;p&gt;Attachment FRM_defect_OF10mininet.txt has been added with description: FRM_defect_OF10mininet&lt;/p&gt;</comment>
                            <comment id="55140" author="madhusudhan.opendaylight@yahoo.com" created="Wed, 22 Jan 2014 19:55:10 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;It worked fine for OF13mininet as seen with the screenshots. Can you try using the same procedure for OF10 mininet? Have elaborated the defect in the attachment &quot;FRM_defect_OF10mininet.txt&quot;&lt;/p&gt;</comment>
                            <comment id="55141" author="madhusudhan.opendaylight@yahoo.com" created="Thu, 23 Jan 2014 00:11:06 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;To be clear, here is the details for the issue.&lt;/p&gt;

&lt;p&gt;After you add the flow (Using OF10 mininet), I get 201 response. But, when I look at the statistics, I could not see the match field for IP address, due to which the flow statistics is failing.&lt;/p&gt;</comment>
                            <comment id="55142" author="priyanka.chopra@tcs.com" created="Thu, 23 Jan 2014 12:28:34 +0000"  >&lt;p&gt;I have the new openflowplugin integrated and used Mininet Openflow1.0.&lt;br/&gt;
The GET response shows details of the flow that was previously added.(Very different from what you are getting)&lt;/p&gt;

&lt;p&gt;Have created the attachment for detailed explanation.&lt;br/&gt;
DELETE also works fine for mininet OF10&lt;/p&gt;</comment>
                            <comment id="55157" author="priyanka.chopra@tcs.com" created="Thu, 23 Jan 2014 12:28:34 +0000"  >&lt;p&gt;Attachment OF1mininet.txt has been added with description: FRM OF10 mininet&lt;/p&gt;</comment>
                            <comment id="55143" author="madhusudhan.opendaylight@yahoo.com" created="Thu, 23 Jan 2014 19:54:02 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Can you do the following steps in your setup and confirm back?&lt;/p&gt;

&lt;p&gt;For OF13 mininet:&lt;/p&gt;

&lt;p&gt;1. Start the controller using -OF13 option&lt;br/&gt;
2. Use the command for mininet&lt;br/&gt;
sudo mn --controller=remote,ip=127.0.0.1 --topo tree,3 --switch ovsk,protocols=OpenFlow13&lt;br/&gt;
3. PUT &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt; &lt;br/&gt;
 Include the below body:&lt;br/&gt;
-------------------------------------------------------------------------------&lt;br/&gt;
&amp;lt;flowConfig&amp;gt;&lt;br/&gt;
   &amp;lt;installInHw&amp;gt;true&amp;lt;/installInHw&amp;gt;&lt;br/&gt;
   &amp;lt;name&amp;gt;flow1&amp;lt;/name&amp;gt;&lt;br/&gt;
   &amp;lt;node&amp;gt;&lt;br/&gt;
      &amp;lt;id&amp;gt;openflow:6&amp;lt;/id&amp;gt;&lt;br/&gt;
      &amp;lt;type&amp;gt;MD_SAL&amp;lt;/type&amp;gt;&lt;br/&gt;
   &amp;lt;/node&amp;gt; &lt;br/&gt;
   &amp;lt;priority&amp;gt;1&amp;lt;/priority&amp;gt;&lt;br/&gt;
   &amp;lt;etherType&amp;gt;0x800&amp;lt;/etherType&amp;gt;&lt;br/&gt;
   &amp;lt;nwDst&amp;gt;10.0.0.1/32&amp;lt;/nwDst&amp;gt;&lt;br/&gt;
   &amp;lt;actions&amp;gt;OUTPUT=openflow:6:1&amp;lt;/actions&amp;gt;&lt;br/&gt;
&amp;lt;/flowConfig&amp;gt;&lt;br/&gt;
-------------------------------------------------------------------------------&lt;br/&gt;
4. GET &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirm here whether you get the correct flow&lt;/p&gt;

&lt;p&gt;5. GET &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow&lt;/a&gt;&lt;br/&gt;
You must be able see the flow for the particular node (Node is Openflow:6). Also, Check the match field i.e IP address for the particular node (Openflow:6) in the response&lt;br/&gt;
6. DELETE &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt;&lt;br/&gt;
7. Repeat step 4 and step 5 and check the flow doesn&apos;t exists.&lt;/p&gt;

&lt;p&gt;For OF13 mininet:&lt;/p&gt;

&lt;p&gt;8. Use the command for mininet&lt;br/&gt;
sudo mn --controller=remote,ip=127.0.0.1 --topo tree,3&lt;br/&gt;
9. Repeat steps 3,4,5&lt;br/&gt;
10. Check the match field i.e IP address for the particular node (Openflow:6) in the response&lt;br/&gt;
11.Repeat step 6 and 7, check the flows doesn&apos;t exists.&lt;/p&gt;

&lt;p&gt;It will be good if you could write YES/NO with your findings for every steps to avoid confusion.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                            <comment id="55144" author="madhusudhan.opendaylight@yahoo.com" created="Thu, 23 Jan 2014 20:19:25 +0000"  >&lt;p&gt;Please find the correct typo error in my previous comments:&lt;/p&gt;

&lt;p&gt;For steps 8 - 11, it is for OF10 mininet.&lt;/p&gt;</comment>
                            <comment id="55145" author="madhusudhan.opendaylight@yahoo.com" created="Fri, 24 Jan 2014 02:11:30 +0000"  >&lt;p&gt;One more findings:&lt;/p&gt;

&lt;p&gt;It is not a problem on stats, the flow is NOT installed correctly in the switch after pushing this:&lt;/p&gt;

&lt;p&gt;PUT &lt;a href=&quot;http://10.125.136.52:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:2/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://10.125.136.52:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:2/staticFlow/flow1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;flowConfig&amp;gt;&lt;br/&gt;
   &amp;lt;installInHw&amp;gt;true&amp;lt;/installInHw&amp;gt;&lt;br/&gt;
   &amp;lt;name&amp;gt;flow1&amp;lt;/name&amp;gt;&lt;br/&gt;
   &amp;lt;node&amp;gt;&lt;br/&gt;
     &amp;lt;id&amp;gt;openflow:2&amp;lt;/id&amp;gt;&lt;br/&gt;
      &amp;lt;type&amp;gt;MD_SAL&amp;lt;/type&amp;gt;&lt;br/&gt;
   &amp;lt;/node&amp;gt; &lt;br/&gt;
   &amp;lt;priority&amp;gt;1&amp;lt;/priority&amp;gt;&lt;br/&gt;
   &amp;lt;etherType&amp;gt;0x800&amp;lt;/etherType&amp;gt;&lt;br/&gt;
   &amp;lt;nwDst&amp;gt;10.0.0.1/32&amp;lt;/nwDst&amp;gt;&lt;br/&gt;
  &amp;lt;actions&amp;gt;OUTPUT=openflow:2:1&amp;lt;/actions&amp;gt;&lt;br/&gt;
&amp;lt;/flowConfig&amp;gt;&lt;/p&gt;

&lt;p&gt;mininet@mininet-vm:~\&amp;gt; sudo ovs-ofctl dump-flows s2&lt;br/&gt;
NXST_FLOW reply (xid=0x4):&lt;br/&gt;
cookie=0x0, duration=12.23s, table=0, n_packets=0, n_bytes=0, idle_age=12, priority=1,ip actions=output:1&lt;/p&gt;

&lt;p&gt;Note there is no &amp;lt;NwDst&amp;gt; match field in the installed flow!&lt;/p&gt;</comment>
                            <comment id="55146" author="priyanka.chopra@tcs.com" created="Fri, 24 Jan 2014 11:15:02 +0000"  >&lt;p&gt;Hi Madhusudhan,&lt;/p&gt;

&lt;p&gt;Your observation is correct. &lt;/p&gt;

&lt;p&gt;Please find the comments inline:&lt;/p&gt;

&lt;p&gt;For OF13 mininet:&lt;/p&gt;

&lt;p&gt;1. Start the controller using -OF13 option&lt;br/&gt;
2. Use the command for mininet&lt;br/&gt;
sudo mn --controller=remote,ip=127.0.0.1 --topo tree,3 --switch ovsk,protocols=OpenFlow13&lt;br/&gt;
3. PUT &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt; &lt;br/&gt;
 Include the below body:&lt;br/&gt;
&amp;lt;flowConfig&amp;gt;&lt;br/&gt;
   &amp;lt;installInHw&amp;gt;true&amp;lt;/installInHw&amp;gt;&lt;br/&gt;
   &amp;lt;name&amp;gt;flow1&amp;lt;/name&amp;gt;&lt;br/&gt;
   &amp;lt;node&amp;gt;&lt;br/&gt;
      &amp;lt;id&amp;gt;openflow:6&amp;lt;/id&amp;gt;&lt;br/&gt;
      &amp;lt;type&amp;gt;MD_SAL&amp;lt;/type&amp;gt;&lt;br/&gt;
   &amp;lt;/node&amp;gt; &lt;br/&gt;
   &amp;lt;priority&amp;gt;1&amp;lt;/priority&amp;gt;&lt;br/&gt;
   &amp;lt;etherType&amp;gt;0x800&amp;lt;/etherType&amp;gt;&lt;br/&gt;
   &amp;lt;nwDst&amp;gt;10.0.0.1/32&amp;lt;/nwDst&amp;gt;&lt;br/&gt;
   &amp;lt;actions&amp;gt;OUTPUT=openflow:6:1&amp;lt;/actions&amp;gt;&lt;br/&gt;
&amp;lt;/flowConfig&amp;gt;&lt;/p&gt;

&lt;p&gt;Yes - The flow gets installed on the switch, although we cant see the nwDst field in mininet.&lt;br/&gt;
-------------------------------------------------------------------------------&lt;br/&gt;
4. GET &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirm here whether you get the correct flow - Yes we can see the same flow we installed previously&lt;br/&gt;
-------------------------------------------------------------------------------&lt;br/&gt;
5. GET &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow&lt;/a&gt;&lt;br/&gt;
You must be able see the flow for the particular node (Node is Openflow:6). Also, Check the match field i.e IP address for the particular node (Openflow:6) in the response&lt;/p&gt;

&lt;p&gt;No, Match field does not show the nwDst&lt;br/&gt;
-------------------------------------------------------------------------------&lt;br/&gt;
6. DELETE &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes, the flow gets deleted from the switch&lt;br/&gt;
-------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;7. Repeat step 4 and step 5 and check the flow doesn&apos;t exists.&lt;br/&gt;
Repeated step 4: 404 not found&lt;br/&gt;
Repeated step 5: Flow does not exist&lt;br/&gt;
-------------------------------------------------------------------------------&lt;/p&gt;


&lt;p&gt;Also i have attached a detailed report of all the usecases that i tried along with their observations.&lt;/p&gt;</comment>
                            <comment id="55158" author="priyanka.chopra@tcs.com" created="Fri, 24 Jan 2014 11:15:02 +0000"  >&lt;p&gt;Attachment TestCases.ods has been added with description: Test cases&lt;/p&gt;</comment>
                            <comment id="55147" author="priyanka.chopra@tcs.com" created="Sat, 25 Jan 2014 13:40:19 +0000"  >&lt;p&gt;I was trying to find the root cause for the missing ip field (nwSrc / nwDst) in flow statistics. As per my observations whenever any changes corresponding to flow are made, the flowStatistics cache is updated in &lt;/p&gt;

&lt;p&gt;StatisticsManager.java:&lt;br/&gt;
public void nodeFlowStatisticsUpdated(Node node, List&amp;lt;FlowOnNode&amp;gt; flowStatsList) {&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;So when I do &lt;br/&gt;
PUT &lt;a href=&quot;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.56.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;lt;flowConfig&amp;gt;&lt;br/&gt;
   &amp;lt;installInHw&amp;gt;true&amp;lt;/installInHw&amp;gt;&lt;br/&gt;
   &amp;lt;name&amp;gt;flow1&amp;lt;/name&amp;gt;&lt;br/&gt;
   &amp;lt;node&amp;gt;&lt;br/&gt;
      &amp;lt;id&amp;gt;openflow:6&amp;lt;/id&amp;gt;&lt;br/&gt;
      &amp;lt;type&amp;gt;MD_SAL&amp;lt;/type&amp;gt;&lt;br/&gt;
   &amp;lt;/node&amp;gt; &lt;br/&gt;
   &amp;lt;priority&amp;gt;1&amp;lt;/priority&amp;gt;&lt;br/&gt;
   &amp;lt;etherType&amp;gt;0x800&amp;lt;/etherType&amp;gt;&lt;br/&gt;
   &amp;lt;nwDst&amp;gt;10.0.0.1/32&amp;lt;/nwDst&amp;gt;&lt;br/&gt;
   &amp;lt;actions&amp;gt;OUTPUT=openflow:6:1&amp;lt;/actions&amp;gt;&lt;br/&gt;
&amp;lt;/flowConfig&amp;gt;&lt;/p&gt;

&lt;p&gt;then, &quot;&quot;nodeFlowStatisticsUpdated(Node node, List&amp;lt;FlowOnNode&amp;gt; flowStatsList) {}&quot;&quot; method is called.&lt;/p&gt;

&lt;p&gt;While debugging I observed the flowStatsList passed as an argument to the above method missed the ip fields(nwSrc / nwDst) in match.&lt;br/&gt;
But I could see the DL_TYPE field in match, which is retrieved when we hit URI----&amp;gt; GET &lt;a href=&quot;http://192.168.56.1:8080/controller/nb/v2/statistics/default/flow&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://192.168.56.1:8080/controller/nb/v2/statistics/default/flow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So basically whenever the flow is created in a switch,the match fields in flowStatistics cache is not updated properly because of which it is missing in the response. Seems the issue is in Statistics manager.&lt;/p&gt;</comment>
                            <comment id="55148" author="vishnoianil@gmail.com" created="Mon, 27 Jan 2014 13:33:46 +0000"  >&lt;p&gt;Hi Madhusudhan/Priyanka,&lt;/p&gt;

&lt;p&gt;There are two minor issues that&apos;s causing this bug.&lt;/p&gt;

&lt;p&gt;1) When user adds flow to the switch, plugin was sending 0 as a mask down to the switch (because it&apos;s not getting mask associated with the IP), and that&apos;s why you were not seeing ip address when you were dumping flows from switch. So one issue still remains is why plugin is receiving only ip address (10.0.0.1) and not mask(/32) when user is providing both -ip address with mask (10.0.0.1/32). I think somebody who is aware of that part of code should investigate this. Irrespective of this issue, if plugin gets ip address with no mask, its mask should be set to /32 rather then 0. Mask=0 means, it masks the whole IP address and makes it wildcard. Once I changed the mask to /32, I was able to see the ip address in the switch flows.&lt;/p&gt;

&lt;p&gt;Deepti/Prasanna-- can you please investigate this issue. You can follow the steps in &quot;Comment 10&quot; above. If you put break point in addFlow() method of ModelDrivenSwitchImpl.java and connect your eclipse to controller jvm in remote debugging mode, this is what you get as AddFlowInput:&lt;/p&gt;

&lt;p&gt;AddFlowInput [_flowRef=FlowRef [_value=InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_id=0&amp;#93;&lt;/span&gt;], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow[key=FlowKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=677b32e3-bd81-4b06-b081-d63def7286e2&amp;#93;&lt;/span&gt;]]]]], _flowTable=FlowTableRef [_value=InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_id=0&amp;#93;&lt;/span&gt;]]]], _barrier=null, _bufferId=null, _containerName=null, _cookieMask=null, _flags=null, _flowName=null, _installHw=null, _instructions=Instructions [_instruction=[Instruction [_order=0, _key=InstructionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, _instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_order=null, _key=ActionKey [], _action=OutputActionCase [_outputAction=OutputAction [_maxLength=null, _outputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1:1&amp;#93;&lt;/span&gt;, augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], augmentation=[]], augmentation=[]]], augmentation=[]], _match=Match [_ethernetMatch=EthernetMatch [_ethernetDestination=null, _ethernetSource=null, _ethernetType=EthernetType [_type=EtherType &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=2048&amp;#93;&lt;/span&gt;, augmentation=[]], augmentation=[]], _icmpv4Match=null, _icmpv6Match=null, _inPhyPort=null, _inPort=null, _ipMatch=null, _layer3Match=Ipv4Match [_ipv4Destination=Ipv4Prefix &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.0.1&amp;#93;&lt;/span&gt;, _ipv4Source=null, augmentation=[]], _layer4Match=null, _metadata=null, _protocolMatchFields=null, _tunnel=null, _vlanMatch=null, augmentation=[]], _outGroup=null, _outPort=null, _strict=null, _cookie=0, _hardTimeout=0, _idleTimeout=0, _priority=1, _tableId=0, _node=NodeRef [_value=InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;]]]]], _transactionUri=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=BA-3598&amp;#93;&lt;/span&gt;, augmentation=[]]&lt;/p&gt;

&lt;p&gt;So if you notice &lt;br/&gt;
_layer3Match=Ipv4Match [_ipv4Destination=Ipv4Prefix &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.0.1&amp;#93;&lt;/span&gt;, _ipv4Source=null, augmentation=[]],&lt;/p&gt;

&lt;p&gt;IP String plugin received is 10.0.0.1 and not 10.0.0.1/32 what user entered.&lt;/p&gt;

&lt;p&gt;2) Minor issue while decoding IP addresses from statistics response. I was using wrong wild card to make decision to decode the IP addresses. &lt;/p&gt;

&lt;p&gt;After fixing both these issues I can see that its working as expected.&lt;/p&gt;

&lt;p&gt;I pushed code changes through following gerrit:&lt;/p&gt;

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

&lt;p&gt;Once it get merged can you please verify it.&lt;/p&gt;


&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="55149" author="vishnoianil@gmail.com" created="Mon, 27 Jan 2014 13:39:49 +0000"  >&lt;p&gt;Adding Prasanna/Deepti in CC&lt;/p&gt;</comment>
                            <comment id="55150" author="madhusudhan.opendaylight@yahoo.com" created="Mon, 27 Jan 2014 19:56:51 +0000"  >&lt;p&gt;I still see the same issue after merging into the latest code.&lt;/p&gt;

&lt;p&gt;FYI, I have taken the latest code at &lt;/p&gt;

&lt;p&gt;wget &lt;a href=&quot;https://jenkins.opendaylight.org/integration/job/integration-project-centralized-integration/lastSuccessfulBuild/artifact/distributions/base/target/distributions-base-0.1.0-SNAPSHOT-osgipackage.zip&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/integration/job/integration-project-centralized-integration/lastSuccessfulBuild/artifact/distributions/base/target/distributions-base-0.1.0-SNAPSHOT-osgipackage.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please let me know the process/steps that you have tested so far.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                            <comment id="55151" author="sunny.malhotra@tcs.com" created="Tue, 28 Jan 2014 10:36:13 +0000"  >&lt;p&gt;Tested for OF10 and OF13.&lt;br/&gt;
Works fine.&lt;br/&gt;
Test Procedure&lt;/p&gt;

&lt;p&gt;1.for OF10 : sudo mn --controller=remote,ip=127.0.0.1 --topo tree,3 --switch&lt;/p&gt;</comment>
                            <comment id="55152" author="sunny.malhotra@tcs.com" created="Tue, 28 Jan 2014 11:02:40 +0000"  >&lt;p&gt;Tested for OF10 and OF13.&lt;br/&gt;
Works fine.&lt;br/&gt;
Test Procedure followed&lt;/p&gt;

&lt;p&gt;For OF13 mininet:&lt;br/&gt;
1. Start the controller using -OF13 option&lt;br/&gt;
2. Use the command for mininet&lt;br/&gt;
sudo mn --controller=remote,ip=127.0.0.1 --topo tree,3 --switch ovsk,protocols=OpenFlow13&lt;br/&gt;
3. PUT &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt; &lt;br/&gt;
 Include the below body:&lt;br/&gt;
-------------------------------------------------------------------------------&lt;br/&gt;
&amp;lt;flowConfig&amp;gt;&lt;br/&gt;
   &amp;lt;installInHw&amp;gt;true&amp;lt;/installInHw&amp;gt;&lt;br/&gt;
   &amp;lt;name&amp;gt;flow1&amp;lt;/name&amp;gt;&lt;br/&gt;
   &amp;lt;node&amp;gt;&lt;br/&gt;
      &amp;lt;id&amp;gt;openflow:6&amp;lt;/id&amp;gt;&lt;br/&gt;
      &amp;lt;type&amp;gt;MD_SAL&amp;lt;/type&amp;gt;&lt;br/&gt;
   &amp;lt;/node&amp;gt; &lt;br/&gt;
   &amp;lt;priority&amp;gt;1&amp;lt;/priority&amp;gt;&lt;br/&gt;
   &amp;lt;etherType&amp;gt;0x800&amp;lt;/etherType&amp;gt;&lt;br/&gt;
   &amp;lt;nwDst&amp;gt;10.0.0.1/32&amp;lt;/nwDst&amp;gt;&lt;br/&gt;
   &amp;lt;actions&amp;gt;OUTPUT=openflow:6:1&amp;lt;/actions&amp;gt;&lt;br/&gt;
&amp;lt;/flowConfig&amp;gt;&lt;br/&gt;
-------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;Yes - (201 created)&lt;/p&gt;

&lt;p&gt;4. GET &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirm here whether you get the correct flow&lt;/p&gt;

&lt;p&gt;YES-response-body&lt;/p&gt;

&lt;p&gt;    &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&amp;gt;&lt;br/&gt;
    &amp;lt;flowConfig&amp;gt;&lt;br/&gt;
    &amp;lt;installInHw&amp;gt;true&amp;lt;/installInHw&amp;gt;&lt;br/&gt;
    &amp;lt;name&amp;gt;flow1&amp;lt;/name&amp;gt;&lt;br/&gt;
    &amp;lt;node&amp;gt;&lt;br/&gt;
    &amp;lt;id&amp;gt;openflow:6&amp;lt;/id&amp;gt;&lt;br/&gt;
    &amp;lt;type&amp;gt;MD_SAL&amp;lt;/type&amp;gt;&lt;br/&gt;
    &amp;lt;/node&amp;gt;&lt;br/&gt;
    &amp;lt;priority&amp;gt;1&amp;lt;/priority&amp;gt;&lt;br/&gt;
    &amp;lt;etherType&amp;gt;0x800&amp;lt;/etherType&amp;gt;&lt;br/&gt;
    &amp;lt;nwDst&amp;gt;10.0.0.1/32&amp;lt;/nwDst&amp;gt;&lt;br/&gt;
    &amp;lt;actions&amp;gt;OUTPUT=openflow:6:1&amp;lt;/actions&amp;gt;&lt;br/&gt;
    &amp;lt;/flowConfig&amp;gt;&lt;/p&gt;


&lt;p&gt;*flow also seen through dpctl dump-flows&lt;/p&gt;

&lt;p&gt;5. GET &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/statistics/default/flow&lt;/a&gt;&lt;br/&gt;
You must be able see the flow for the particular node (Node is Openflow:6). Also, Check the match field i.e IP address for the particular node (Openflow:6) in the response&lt;/p&gt;

&lt;p&gt;YES-response body match field:&lt;/p&gt;

&lt;p&gt;&amp;lt;match&amp;gt;&lt;br/&gt;
  &amp;lt;matchField&amp;gt;&lt;br/&gt;
    &amp;lt;type&amp;gt;NW_DST&amp;lt;/type&amp;gt;&lt;br/&gt;
    &amp;lt;value&amp;gt;10.0.0.1&amp;lt;/value&amp;gt;&lt;br/&gt;
  &amp;lt;/matchField&amp;gt;&lt;br/&gt;
  &amp;lt;matchField&amp;gt;&lt;br/&gt;
    &amp;lt;type&amp;gt;DL_TYPE&amp;lt;/type&amp;gt;&lt;br/&gt;
    &amp;lt;value&amp;gt;2048&amp;lt;/value&amp;gt;&lt;br/&gt;
  &amp;lt;/matchField&amp;gt;&lt;br/&gt;
&amp;lt;/match&amp;gt;&lt;/p&gt;



&lt;p&gt;6. DELETE &lt;a href=&quot;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://127.0.0.1:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:6/staticFlow/flow1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes-(204 No Content)&lt;/p&gt;

&lt;p&gt;7. Repeat step 4 and step 5 and check the flow doesn&apos;t exists.&lt;br/&gt;
Yes- (404 NOt Found)&lt;/p&gt;


&lt;p&gt;For OF10 mininet:&lt;/p&gt;

&lt;p&gt;8. Use the command for mininet&lt;br/&gt;
sudo mn --controller=remote,ip=127.0.0.1 --topo tree,3&lt;/p&gt;

&lt;p&gt;9. Repeat steps 3,4,5&lt;br/&gt;
Yes - Verified (getting required response)&lt;/p&gt;

&lt;p&gt;10. Check the match field i.e IP address for the particular node (Openflow:6) in the response&lt;br/&gt;
Yes - Verified(getting correct IP address)&lt;/p&gt;

&lt;p&gt;11.Repeat step 6 and 7, check the flows doesn&apos;t exists.&lt;br/&gt;
Yes - Verified(flow doesn&apos;t exist)&lt;/p&gt;</comment>
                            <comment id="55153" author="vishnoianil@gmail.com" created="Tue, 28 Jan 2014 11:26:08 +0000"  >&lt;p&gt;Hi Madhusudhan,&lt;/p&gt;

&lt;p&gt;Looks like sunny is able to verify that this issue is resolved now.&lt;/p&gt;

&lt;p&gt;Sunny, can you please share the details of the build you used for verifying the fix with madhusudhan?&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="55154" author="ecelgp" created="Tue, 28 Jan 2014 11:27:48 +0000"  >&lt;p&gt;Yes, I agree this issues is fixed now.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13842" name="FRM_defect_OF10mininet.txt" size="4393" author="madhusudhan.opendaylight@yahoo.com" created="Wed, 22 Jan 2014 19:53:20 +0000"/>
                            <attachment id="13843" name="OF1mininet.txt" size="2781" author="priyanka.chopra@tcs.com" created="Thu, 23 Jan 2014 12:28:34 +0000"/>
                            <attachment id="13841" name="Screenshots_290.zip" size="934592" author="priyanka.chopra@tcs.com" created="Wed, 22 Jan 2014 09:14:15 +0000"/>
                            <attachment id="13844" name="TestCases.ods" size="23223" author="priyanka.chopra@tcs.com" created="Fri, 24 Jan 2014 11:15:02 +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>290</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=290]]></customfieldvalue>

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

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