<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:23: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>[NETVIRT-1351] NAPT_PFIB_TABLE flows for external network/subnet are incorrectly removed</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-1351</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;NAPT_PFIB_TABLE (table 47) flows for external network/subnet are incorrectly removed&lt;br/&gt;
when one of routers unset from the external subnet which still has some other routers&lt;br/&gt;
associating with it.&lt;/p&gt;

&lt;p&gt;Version Tested: flourine/master&lt;/p&gt;

&lt;p&gt;NAT mode: controller&lt;/p&gt;

&lt;p&gt;The scenario is illustrated as below:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ----------------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; | External Net |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ----------------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;-------------------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;| External Subnet |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;-------------------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;|&#160; &#160; &#160; &#160; &#160; |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ------&#160; &#160; &#160; &#160; &#160; ------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; |&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;-----------&#160; &#160; &#160; &#160; &#160; -----------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;| Router1 |&#160; &#160; &#160; &#160; &#160; | Router2 |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;-----------&#160; &#160; &#160; &#160; &#160; -----------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; |&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;|&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; |&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;|&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;----------&lt;del&gt;&#160; &#160; &#160; &#160; &#160; &#160;&lt;/del&gt;----------&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;| Subnet1 |&#160; &#160; &#160; &#160; &#160; &#160;| Subnet2 |&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;----------&lt;del&gt;&#160; &#160; &#160; &#160; &#160; &#160;&lt;/del&gt;----------&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;Reproduction Steps:&lt;/p&gt;

&lt;p&gt;1) Create External Network/Subnet1&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack network create ext-net1 --external --provider-physical-network physnet1 --provider-network-type flat&lt;/p&gt;

&lt;p&gt;openstack subnet create --network ext-net1 --allocation-pool start=192.168.56.9,end=192.168.56.20 --no-dhcp --gateway 192.168.56.1 --subnet-range 192.168.56.0/24 ext-subnet1&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;2) Create Router1, set External Subnet1 as gateway&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack router create router1&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;3) Create Router2, set External Subnet1 as gateway&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack router create router2&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;4) Creat Net/Subnet1&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack network create vx-net1 --provider-network-type vxlan --provider-segment 1501&lt;br/&gt;
openstack subnet create --network vx-net1 --subnet-range 10.100.1.0/24 --dns-nameserver 8.8.8.8 --allocation-pool start=10.100.1.5,end=10.100.1.100 vx-subnet1&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;5) Create VM on Subnet1&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack server create --flavor m1.nano --image cirros-0.3.5-x86_64-disk --nic net-id=vx-net1 vm11 --availability-zone=nova:control --key-name admin_key&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;6) Attach Subnet1 to Router1&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;tt&gt;openstack router add subnet router1 vx-subnet1&lt;/tt&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The following NAPT_PFIB flows are installed in table 47. The first flow is for router1&apos;s vpn, the 2nd/3rd flows are for external subnet abd external network&apos;s&lt;br/&gt;
 vpn respectively:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;cookie=0x8000006, duration=151.068s, table=47, n_packets=5, n_bytes=541, priority=5,ip,metadata=0x30d40/0xfffffe actions=load:0-&amp;gt;NXM_OF_IN_PORT[],resubmit(,21) &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;br/&gt;
 cookie=0x8000006, duration=49.138s, table=47, n_packets=8, n_bytes=680, priority=5,ip,metadata=0x30d4c/0xfffffe actions=load:0-&amp;gt;NXM_OF_IN_PORT[],resubmit(,21) &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 cookie=0x8000006, duration=49.138s, table=47, n_packets=0, n_bytes=0, priority=5,ip,metadata=0x30d4a/0xfffffe actions=load:0-&amp;gt;NXM_OF_IN_PORT[],resubmit(,21) &lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;7) Create Net/Subnet2&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack network create vx-net2 --provider-network-type vxlan --provider-segment 1502&lt;br/&gt;
openstack subnet create --network vx-net2 --subnet-range 10.100.2.0/24 --dns-nameserver 8.8.8.8 --allocation-pool start=10.100.2.5,end=10.100.2.100 vx-subnet2&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;8) Create VM on Subnet2&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack server create --flavor m1.nano --image cirros-0.3.5-x86_64-disk --nic net-id=vx-net2 vm21 --availability-zone=nova:control --key-name admin_key\&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;9) Attach Subnet2 to Router2&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack router add subnet router2 vx-subnet2&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;New NAPT_PFIB flow for router2&apos;s vpn is installed:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;cookie=0x8000006, duration=49.118s, table=47, n_packets=0, n_bytes=0, priority=5,ip,metadata=0x30d54/0xfffffe actions=load:0-&amp;gt;NXM_OF_IN_PORT[],resubmit(,21) &lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;10) Verify that VMs from both Subnet1 and Subnet2 can communicate with external network via Router1 and Router2 respectively&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;ssh from vm11/vm21 to external gateway server (192.168.56.1)&#160;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;11) Unset External subnet from router2&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;openstack router unset --external-gateway router2&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;---------------------------------------------------&lt;br/&gt;
Expected:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;VM from Subnet1 still can communicate with the External Network via Router1&lt;/li&gt;
	&lt;li&gt;VM from Subnet2 can not communicate with External Network since Router are unset from Externnal Network&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Actual&lt;br/&gt;
------&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Failure when Ssh from VMs in BOTH Subnet1 and Subnet2 to servers in External Network&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Issue:&lt;br/&gt;
NAPT_FIB flows after step 11) Unset Router2 from External Subnet1&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;cookie=0x8000006, duration=151.068s, table=47, n_packets=5, n_bytes=541, priority=5,ip,metadata=0x30d40/0xfffffe actions=load:0-&amp;gt;NXM_OF_IN_PORT[],resubmit(,21)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The NAPT_PFIB_TABLE flows &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt; are removed.&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Flow &lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt; - NAPT_PFIB for Router2&apos;s vpn - should be removed is removed.&lt;/li&gt;
	&lt;li&gt;However flows &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt; - NAPT_PFIB for the External Network1/Subnet1 -&lt;br/&gt;
 should not be removed since they are still used by Router1.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="30217">NETVIRT-1351</key>
            <summary>NAPT_PFIB_TABLE flows for external network/subnet are incorrectly removed</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="3" iconUrl="https://jira.opendaylight.org/images/icons/statuses/inprogress.png" description="This issue is being actively worked on at the moment by the assignee.">In Progress</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="xcheara">Chetan Arakere Gowdru</assignee>
                                    <reporter username="VinhNguyen">Vinh Nguyen</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Jun 2018 22:02:14 +0000</created>
                <updated>Wed, 27 Nov 2019 05:28:24 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="67474" author="abhinav.gupta" created="Wed, 27 Nov 2019 05:28:24 +0000"  >&lt;p&gt;Chetan, please reassign to Karthikeyan if required&lt;/p&gt;</comment>
                    </comments>
                    <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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03g2v:</customfieldvalue>

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