<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:21:12 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-297] Router interfaces constructed with pre-created ports fails L3 in Datapath when such router is put into BGPVPN</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-297</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;When the router interfaces are added using pre-constructed neutron ports (with subnet gateway ips of course), and then when we associate such router to a L3 BGPVPN, L3 forwarding fails in datapath between VMs on the arms of such router.&lt;/p&gt;

&lt;p&gt;Steps to create the problem:&lt;/p&gt;

&lt;p&gt;1. Create network 1&lt;/p&gt;

&lt;p&gt;2. Create a subnet1 on network1.&lt;/p&gt;

&lt;p&gt;3. Boot VM1 on network 1&lt;/p&gt;

&lt;p&gt;4. Create network 2&lt;/p&gt;

&lt;p&gt;5. Create a subnet2 on network2.&lt;/p&gt;

&lt;p&gt;6. Boot VM2 on network 2&lt;/p&gt;

&lt;p&gt;7. Create a Router&lt;/p&gt;

&lt;p&gt;8. Create a port using neutron-port-create &lt;br/&gt;
with name as say &quot;port-router-net1-interface&quot; and fixed-ip as subnet gateway ip of subnet1.&lt;/p&gt;

&lt;p&gt;9. Create a port using neutron-port-create &lt;br/&gt;
with name as say &quot;port-router-net2-interface&quot; and fixed-ip as subnet gateway ip of subnet2.&lt;/p&gt;

&lt;p&gt;10. Attach &quot;port-router-net1-interface&apos; to the router using&lt;br/&gt;
neutron router-interface-add Router port=port-router-net1-interface&lt;/p&gt;

&lt;p&gt;11. Attach &quot;port-router-net2-interface&quot; to the router using&lt;br/&gt;
neutron router-interface-add Router port=port-router-net2-interface&lt;/p&gt;

&lt;p&gt;12. Now make sure VM1 pings VM2.  It may fail (or) succeed &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;13. Create a L3 BGPVPN.&lt;br/&gt;
neutron bgpvpn-create --route-targets 40:4 --import-targets 40:1 --route-distinguishers &apos;400:1&apos;  --tenant_id $(keystone tenant-list | grep &apos;\sadmin&apos; | awk &apos;&lt;/p&gt;
{print $2}&apos;) --name myBgpVpn1&lt;br/&gt;
&lt;br/&gt;
14. Associate the router to this myBgpVpn1.&lt;br/&gt;
neutron bgpvpn-net-assoc-create myBgpVpn1 --network $(neutron router-list |grep &apos;\sRouter&apos; |awk &apos;{print $2}
&lt;p&gt;&apos;)&lt;/p&gt;

&lt;p&gt;15. Now again ping from VM1 to VM2 and it FAILS.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="20218">NETVIRT-297</key>
            <summary>Router interfaces constructed with pre-created ports fails L3 in Datapath when such router is put into BGPVPN</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="abhinav.gupta">Abhinav Gupta</assignee>
                                    <reporter username="n.vivekanandan@ericsson.com">Vivekanandan Narasimhan</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Nov 2016 17:48:47 +0000</created>
                <updated>Tue, 19 Nov 2019 18:34:40 +0000</updated>
                            <resolved>Thu, 8 Dec 2016 08:19:38 +0000</resolved>
                                    <version>Boron</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="36802" author="abhinav.gupta" created="Fri, 25 Nov 2016 06:01:03 +0000"  >&lt;p&gt;Hi Vivek,&lt;/p&gt;

&lt;p&gt;We have been all through supporting router-interface add by specifying subnet, like as in:&lt;br/&gt;
router-interface-add &amp;lt;router-name&amp;gt; &amp;lt;subnet-name&amp;gt; &amp;#8212; (1)&lt;/p&gt;

&lt;p&gt;Is there a new requirement to support such a config where first the port is manually created to behave like a router interface port and then doing:&lt;br/&gt;
router-interface-add &amp;lt;router-name&amp;gt; port=&amp;lt;port-name&amp;gt;&lt;/p&gt;


&lt;p&gt;As of now, we match on the device_owner tag shipped to us by Openstack for the router-interface-port created as part of operation (1) and thereby, we proceed going through the ports on that subnet to add VPN rules.&lt;/p&gt;

&lt;p&gt;With the way as described in the bug, will this created router-interface-port carry the device_owner tag (I don&apos;t think so!) ?&lt;br/&gt;
If it does not, we need to explicitly figure from the fixed IP that it is essentially a router-interface-port and accordingly proceed.&lt;/p&gt;

&lt;p&gt;Please share your thoughts on this. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="36803" author="n.vivekanandan@ericsson.com" created="Fri, 25 Nov 2016 06:42:32 +0000"  >&lt;p&gt;&quot;With the way as described in the bug, will this created router-interface-port&lt;br/&gt;
carry the device_owner tag (I don&apos;t think so!) ?&lt;br/&gt;
If it does not, we need to explicitly figure from the fixed IP that it is&lt;br/&gt;
essentially a router-interface-port and accordingly proceed.&lt;br/&gt;
?&quot;&lt;/p&gt;

&lt;p&gt;The port will get updated with DEVICE_ID as router-id and DEVICE_OWNER as network:router_interface and we have to service that updated port the same way we service a brand new router interface port.  The IP in itself has no bearing, though it is better to give the fixed_ip to match the subnet-gateway-ip to mimic the subnet attach to router behavior.&lt;/p&gt;

&lt;p&gt;Try it out yourself on the openstack setup and based on that come back with more questions (if you have &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; ) !&lt;/p&gt;</comment>
                            <comment id="36804" author="abhinav.gupta" created="Fri, 25 Nov 2016 08:58:13 +0000"  >&lt;p&gt;Hi Vivek,&lt;/p&gt;

&lt;p&gt;I&apos;ve checked on Openstack.&lt;br/&gt;
The port gets updated the way you mentioned.&lt;/p&gt;

&lt;p&gt;Looking at the implementation aspects now.&lt;/p&gt;


&lt;p&gt;Thanks,&lt;br/&gt;
Abhinav&lt;/p&gt;</comment>
                            <comment id="36805" author="abhinav.gupta" created="Tue, 6 Dec 2016 11:48:07 +0000"  >&lt;p&gt;Hi Vivek,&lt;/p&gt;

&lt;p&gt;I&apos;ve tested as per the steps given.&lt;br/&gt;
Ping works! (both as per steps 12 and 14)&lt;/p&gt;

&lt;p&gt;This is because the code to handle updation of a port to become a router-interface port is already there.&lt;/p&gt;


&lt;p&gt;Besides this, upon explicit creation of such a neutron port, we do treat it like a normal vm interface and add it to VPN Interfaces config DS.&lt;br/&gt;
Unavailability of the UP state for this leads to it being absent from vpninterfaces OPER DS, and thus further processing. This leads to datapath being always in tact.&lt;br/&gt;
Just that, some code changes need to be there to avoid vpninterfaces config population.&lt;/p&gt;

&lt;p&gt;I&apos;ve tested router-interface-delete too, and it works as expected.&lt;/p&gt;

&lt;p&gt;In this case, shall we close this bug, and create a new with lower priority to handle port-creation handling, or we make that fix with this bug id itself?&lt;/p&gt;

&lt;p&gt;Regards,&lt;br/&gt;
Abhinav&lt;/p&gt;</comment>
                            <comment id="36806" author="abhinav.gupta" created="Thu, 8 Dec 2016 07:20:56 +0000"  >&lt;p&gt;Hi Vivek,&lt;/p&gt;

&lt;p&gt;As discussed, now we do need to create vpn-interfaces for router-interface ports.&lt;br/&gt;
So, the fix I was working on to remove the same is no longer required.&lt;/p&gt;

&lt;p&gt;If you see it deem fit, can we close this bug now?&lt;/p&gt;</comment>
                            <comment id="36807" author="n.vivekanandan@ericsson.com" created="Thu, 8 Dec 2016 07:31:43 +0000"  >&lt;p&gt;Hi Abhinav,&lt;/p&gt;

&lt;p&gt;If the issue is not appearing, yes let us close the bug.&lt;/p&gt;

&lt;p&gt;Vivek&lt;/p&gt;</comment>
                            <comment id="36808" author="abhinav.gupta" created="Thu, 8 Dec 2016 08:19:38 +0000"  >&lt;p&gt;The issue is not reproducible, and all the usecases indicated to be failing work as expected.&lt;br/&gt;
Hence closing the bug as &quot;RESOLVED&quot; and &quot;INVALID&quot;&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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7237</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=7237]]></customfieldvalue>

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

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