<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:35:46 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>[OVSDB-197] Network delete doesnot removed the Vxlan tunnel entries on ovs switch</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-197</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;Build#: Lithium-SR1 Build&lt;br/&gt;
Openstack: stable/kilo&lt;/p&gt;

&lt;p&gt;local.conf snip&lt;br/&gt;
=======&lt;br/&gt;
enable_plugin networking-odl &lt;a href=&quot;https://github.com/stackforge/networking-odl&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/stackforge/networking-odl&lt;/a&gt; stable/kilo&lt;br/&gt;
Q_PLUGIN=ml2&lt;br/&gt;
ENABLE_TENANT_TUNNELS=True&lt;br/&gt;
Q_ML2_TENANT_NETWORK_TYPE=vxlan&lt;/p&gt;


&lt;p&gt;Problem:&lt;br/&gt;
=======&lt;br/&gt;
1.Create Network on openstack(using horizon/cli)&lt;/p&gt;

&lt;p&gt;Following flow entries created for specific tunnel.&lt;br/&gt;
openflow@os-controller:~/devstack$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-int | grep 439&lt;br/&gt;
 cookie=0x0, duration=285.661s, table=0, n_packets=8, n_bytes=648, in_port=12,dl_src=fa:16:3e:3d:bd:d9 actions=set_field:0x439-&amp;gt;tun_id,load:0x1-&amp;gt;NXM_NX_REG0[],goto_table:20&lt;br/&gt;
 cookie=0x0, duration=283.527s, table=0, n_packets=0, n_bytes=0, tun_id=0x439,in_port=5 actions=load:0x2-&amp;gt;NXM_NX_REG0[],goto_table:20&lt;br/&gt;
 cookie=0x0, duration=283.594s, table=110, n_packets=0, n_bytes=0, priority=8192,tun_id=0x439 actions=drop&lt;br/&gt;
 cookie=0x0, duration=283.680s, table=110, n_packets=2, n_bytes=140, priority=16383,reg0=0x1,tun_id=0x439,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=output:12,output:5&lt;br/&gt;
 cookie=0x0, duration=283.744s, table=110, n_packets=0, n_bytes=0, priority=16384,reg0=0x2,tun_id=0x439,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=output:12&lt;br/&gt;
 cookie=0x0, duration=283.810s, table=110, n_packets=0, n_bytes=0, tun_id=0x439,dl_dst=fa:16:3e:3d:bd:d9 actions=output:12&lt;/p&gt;

&lt;p&gt;openflow@os-compute1:~/devstack$ sudo ovs-ofctl -O OpenFlow13 dump-flows br-int | grep 439&lt;br/&gt;
 cookie=0x0, duration=316.031s, table=110, n_packets=0, n_bytes=0, tun_id=0x439,dl_dst=fa:16:3e:3d:bd:d9 actions=output:3&lt;/p&gt;


&lt;p&gt;2.After deleting the Network,Expected to delete this tunnel entries from flow table.&lt;br/&gt;
But this entries retaining in the ovs-switch both openstack controller and compute node.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21889">OVSDB-197</key>
            <summary>Network delete doesnot removed the Vxlan tunnel entries on ovs switch</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="10002">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="vasanthan_balasubram@dell.com">Vasanthan Balasubramaniyan</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Aug 2015 11:53:28 +0000</created>
                <updated>Thu, 3 May 2018 14:37:01 +0000</updated>
                            <resolved>Tue, 15 Sep 2015 06:48:58 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>openstack.net-virt</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="40937" author="ravi_sabapathy@dell.com" created="Tue, 1 Sep 2015 11:08:47 +0000"  >&lt;p&gt;              The issue in the bug is when a network is created, flows are configured in the openvswitch for a particular tunnel ID. When the same network is deleted, these flows are not deleted.&lt;/p&gt;


&lt;p&gt;Observation:&lt;/p&gt;

&lt;p&gt;1.	When the network is to be deleted, the network:dhcp neutron port is not present (getTenantNetwork did not find neutronPort) in OVSDB. Because of this the local and tunnel rules were not deleted. &lt;/p&gt;

&lt;p&gt;getTenantNetwork for OvsdbTerminationPointAugmentation{getInterfaceExternalIds=&lt;span class=&quot;error&quot;&gt;&amp;#91;InterfaceExternalIds{getExternalIdKey=iface-id, getExternalIdValue=27581e57-ca33-40fa-aced-ef0aa7b56629, augmentations={}}, InterfaceExternalIds{getExternalIdKey=iface-status, getExternalIdValue=active, augmentations={}}, InterfaceExternalIds{getExternalIdKey=attached-mac, getExternalIdValue=fa:16:3e:84:24:a3, augmentations={}}&amp;#93;&lt;/span&gt;, getInterfaceType=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeInternal, getInterfaceUuid=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=2238f5b3-f004-452d-94ec-d7268409c5c0&amp;#93;&lt;/span&gt;, getName=tap27581e57-ca, getOfport=11, getPortUuid=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=a8c26072-08b3-4125-9872-2c76e2abca96&amp;#93;&lt;/span&gt;}&lt;br/&gt;
2015-08-31 06:17:10,279 | INFO  | ntDispatcherImpl | TenantNetworkManagerImpl         | 259 - org.opendaylight.ovsdb.openstack.net-virt - 1.1.1.Lithium-SR1 | getTenantNetwork did not find neutronPort 27581e57-ca33-40fa-aced-ef0aa7b56629 from termination point tap27581e57-ca &lt;/p&gt;

&lt;p&gt;2.	When a network is created a subnet and a DHCP interface (network:dhcp) is also created. &lt;/p&gt;

&lt;p&gt;Work Around:&lt;br/&gt;
        When I tried to delete the subnet/disable the dhcp in the subnet, the local and tunnel rules were deleted properly.&lt;/p&gt;


&lt;p&gt;      a.	In the above case if I delete the subnet, I could also see a Null pointer exception which corresponds to the &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-196&quot; title=&quot;VM delete doesnot removed all related flows(i.e specific to VMs)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-196&quot;&gt;&lt;del&gt;OVSDB-196&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;java.lang.NullPointerException&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.impl.SecurityServicesImpl.getDHCPServerPort(SecurityServicesImpl.java:133)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13.OF13Provider.removeLocalRules(OF13Provider.java:844)&lt;span class=&quot;error&quot;&gt;&amp;#91;260:org.opendaylight.ovsdb.openstack.net-virt-providers:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13.OF13Provider.handleInterfaceDelete(OF13Provider.java:1147)&lt;span class=&quot;error&quot;&gt;&amp;#91;260:org.opendaylight.ovsdb.openstack.net-virt-providers:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.handleInterfaceDelete(SouthboundHandler.java:112)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.processPortDelete(SouthboundHandler.java:165)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.processPortEvent(SouthboundHandler.java:290)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.SouthboundHandler.processEvent(SouthboundHandler.java:232)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:97)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl.access$100(EventDispatcherImpl.java:30)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.ovsdb.openstack.netvirt.impl.EventDispatcherImpl$1.run(EventDispatcherImpl.java:59)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.ovsdb.openstack.net-virt:1.1.1.Lithium-SR1&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_79&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_79&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_79&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_79&amp;#93;&lt;/span&gt;e&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_79&amp;#93;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="40938" author="ravi_sabapathy@dell.com" created="Wed, 2 Sep 2015 16:29:13 +0000"  >&lt;p&gt;The workaround for this issue is disable the dhcp in the subnet. Then go ahead and delete the network. The local and tunnel rules were deleted properly.&lt;/p&gt;</comment>
                            <comment id="40939" author="vasanthan_balasubram@dell.com" created="Thu, 3 Sep 2015 12:40:30 +0000"  >&lt;p&gt;As a workaround,&lt;br/&gt;
1.Disabled the Subnet DHCP service&lt;br/&gt;
2.Delete the Network&lt;/p&gt;

&lt;p&gt;Only below stale tunnel OF entries retained,&lt;/p&gt;

&lt;p&gt;cookie=0x0, duration=160.332s, table=110, n_packets=0, n_bytes=0, priority=8192,tun_id=0x406 actions=drop&lt;/p&gt;

&lt;p&gt;Without Disable DHCP,if we delete the Network,It will retained the 6 OF stale entries related to same tunnel.&lt;/p&gt;</comment>
                            <comment id="40940" author="aswins" created="Wed, 9 Sep 2015 16:31:35 +0000"  >&lt;p&gt;For a DHCP port, the same port shall be returned without checking the subnet cache in getDHCPServerPort. This can prevent the null pointer exception caused by the reference to subnet cache in case of a DHCP port delete&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/26740&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/26740&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="40941" author="ravi_sabapathy@dell.com" created="Tue, 15 Sep 2015 06:48:58 +0000"  >&lt;p&gt;The &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-197&quot; title=&quot;Network delete doesnot removed the Vxlan tunnel entries on ovs switch&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-197&quot;&gt;&lt;del&gt;OVSDB-197&lt;/del&gt;&lt;/a&gt; is a duplicate of &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-196&quot; title=&quot;VM delete doesnot removed all related flows(i.e specific to VMs)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-196&quot;&gt;&lt;del&gt;OVSDB-196&lt;/del&gt;&lt;/a&gt;. The issue&lt;br/&gt;
in 4205 is related to removing neutron port while VM deletion.&lt;br/&gt;
The issue in &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-197&quot; title=&quot;Network delete doesnot removed the Vxlan tunnel entries on ovs switch&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-197&quot;&gt;&lt;del&gt;OVSDB-197&lt;/del&gt;&lt;/a&gt; is related to removing dhcp neutron port while deleting network.&lt;br/&gt;
So, for confirmation we put a sleep in the handler for removing&lt;br/&gt;
neutron port in neutron transcriber module. After that the issue in&lt;br/&gt;
&lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-196&quot; title=&quot;VM delete doesnot removed all related flows(i.e specific to VMs)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-196&quot;&gt;&lt;del&gt;OVSDB-196&lt;/del&gt;&lt;/a&gt; and 4206 were not re-created.&lt;br/&gt;
So, a proper fix for 4205 will also resolve the &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-197&quot; title=&quot;Network delete doesnot removed the Vxlan tunnel entries on ovs switch&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-197&quot;&gt;&lt;del&gt;OVSDB-197&lt;/del&gt;&lt;/a&gt;. Hence, moving the BUG to DUPLICATE state&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="21888">OVSDB-196</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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>4206</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=4206]]></customfieldvalue>

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

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