<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:20:58 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-208] BGPVPN Network association does not work if subnets have routers</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-208</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;This is a regression compared to Be with vpnservice. &lt;/p&gt;

&lt;p&gt;The most minimal setup I could reproduce this with was:&lt;/p&gt;

&lt;p&gt;-Two networks and a subnet for each&lt;br/&gt;
-Create two routers and connect each to one subnet&lt;br/&gt;
-Create an instance on each subnet&lt;br/&gt;
-Pinging instances does not work at this step as it should be&lt;br/&gt;
-Create a bgpvpn:&lt;br/&gt;
neutron bgpvpn-create --name rski1 --import-targets 88:88 --export-targets 88:88 --route-distinguishers 11:11&lt;br/&gt;
-create net assocs with the two networks:&lt;br/&gt;
bgpvpn-net-assoc-create --network net1id bgpvpnid&lt;br/&gt;
bgpvpn-net-assoc-create --network net2id bgpvpnid&lt;br/&gt;
-try to ping instance 2 from instance one: does not work.&lt;/p&gt;

&lt;p&gt;It seems like the mechanism that ensures that layer 2 routing is disabled and instead packets are routed on layer 3 does not work. ARP related flows are active and the packets&apos; dst ethernet address fields are not rewritten. &lt;/p&gt;

&lt;p&gt;Tested with Boron 0.5.1-20161017.001225-477&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="20129">NETVIRT-208</key>
            <summary>BGPVPN Network association does not work if subnets have routers</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="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="10001">Won&apos;t Do</resolution>
                                        <assignee username="abhinav.gupta">Abhinav Gupta</assignee>
                                    <reporter username="rski@intracom-telecom.com">Romanos Skiadas</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Oct 2016 11:30:23 +0000</created>
                <updated>Tue, 19 Nov 2019 18:34:39 +0000</updated>
                            <resolved>Fri, 8 Nov 2019 10:46:07 +0000</resolved>
                                    <version>Boron</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="36557" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 11:30:46 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: karaf log&lt;/p&gt;</comment>
                            <comment id="36558" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 11:31:27 +0000"  >&lt;p&gt;Attachment controller_ovs.txt has been added with description: Ovs information from the controller node&lt;/p&gt;</comment>
                            <comment id="36559" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 11:31:45 +0000"  >&lt;p&gt;Attachment compute_ovs.txt has been added with description: Compute ovs information&lt;/p&gt;</comment>
                            <comment id="36550" author="abhinav.gupta" created="Tue, 18 Oct 2016 11:58:53 +0000"  >&lt;p&gt;Please use bpvpn-router-assoc-create * commands.&lt;/p&gt;

&lt;p&gt;Since you have subnets associated to routers, associate these routers to the same vpn and then try out ping between instances.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Abhinav&lt;/p&gt;</comment>
                            <comment id="36551" author="abhinav.gupta" created="Tue, 18 Oct 2016 12:20:02 +0000"  >&lt;p&gt;Please allow me to correct myself here.&lt;/p&gt;

&lt;p&gt;1. As per the current implementation, we can associate only one router to a VPN.&lt;/p&gt;

&lt;p&gt;2. For your use-case, upon router-create for each of the routers, internal VPNs will be created. So, upon doing a &#8220;bgpvpn-net-assoc-create&#8221; after that, you are essentially indicating for this network to be a part of:&lt;/p&gt;

&lt;p&gt;a. The internal VPN previously created&lt;br/&gt;
AND&lt;br/&gt;
b. The new VPN it is being associated to.&lt;br/&gt;
This is rightfully not allowed, hence you do not see the ping to be successful.&lt;/p&gt;

&lt;p&gt;So, either:&lt;/p&gt;

&lt;p&gt;1. add both of the subnets to router via &#8220;router-interface-add&#8221; and then do a &#8220;bgpvpn-router-assoc-create&#8221;&lt;br/&gt;
OR&lt;br/&gt;
2. create networks with subnets and instances, then the VPNs, followed by &#8220;bgpvpn-net-assoc-create&#8221;. DO NOT add these subnets to the router via &#8220;router-interface-add&#8221;.&lt;/p&gt;

&lt;p&gt;Hope this clarifies.&lt;/p&gt;</comment>
                            <comment id="36552" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 12:39:19 +0000"  >&lt;p&gt;(In reply to Abhinav Gupta from comment #5)&lt;br/&gt;
&amp;gt; Please allow me to correct myself here.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; 1. As per the current implementation, we can associate only one router to a&lt;br/&gt;
&amp;gt; VPN.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; 2. For your use-case, upon router-create for each of the routers, internal&lt;br/&gt;
&amp;gt; VPNs will be created. So, upon doing a &#8220;bgpvpn-net-assoc-create&#8221; after that,&lt;br/&gt;
&amp;gt; you are essentially indicating for this network to be a part of:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; a. The internal VPN previously created&lt;br/&gt;
&amp;gt; AND&lt;br/&gt;
&amp;gt; b. The new VPN it is being associated to.&lt;br/&gt;
&amp;gt; This is rightfully not allowed, hence you do not see the ping to be&lt;br/&gt;
&amp;gt; successful.&lt;br/&gt;
&amp;gt; So, either:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; 1. add both of the subnets to router via &#8220;router-interface-add&#8221; and then do&lt;br/&gt;
&amp;gt; a &#8220;bgpvpn-router-assoc-create&#8221;&lt;br/&gt;
&amp;gt; OR&lt;/p&gt;

&lt;p&gt;&amp;gt; &lt;br/&gt;
&amp;gt; Hope this clarifies.&lt;/p&gt;

&lt;p&gt;I understand your points, but the openstack documentation states it like so:&lt;br/&gt;
Associating a BGPVPN to a Network can be done for both BGPVPN of type l2 and of type l3. For type L3, the semantic is that all Subnets bound to the Network will be interconnected with the BGP VPN (and thus between themselves).&lt;br/&gt;
&lt;a href=&quot;http://docs.openstack.org/developer/networking-bgpvpn/api.html#network-association&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.openstack.org/developer/networking-bgpvpn/api.html#network-association&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It seems to me that limiting the network association depending on whether subnets have been added to routers breaks the semantics of net-assoc. &lt;br/&gt;
What I mean is that openstack promises that net-assoc will bind all the subnets to the VPN, but due to opendaylight constraints, this will fail silently, i.e. this bug.&lt;/p&gt;

&lt;p&gt;Further down in the openstack docs however:&lt;br/&gt;
To avoid any ambiguity on semantics in particular the context of processing associated to a Router (e.g. NAT or FWaaS), if a said Subnet in a Network is bound to a Router, this API does not allow to both associate the Network to an L3 BGPVPN and the Router to the same or to a distinct L3 BGPVPN.&lt;/p&gt;

&lt;p&gt;This is indeed in some way what you&apos;re saying, but not exactly. Network assoc should not happen if there is a router assoc. For opendaylight there is an internal router assoc so having a router means that network assoc will always fail.&lt;/p&gt;

&lt;p&gt;I think that this same paragraph that explains the mutual exclusion of network and router association implies that network assoc should work for subnets attached to routers that don&apos;t participate in assocs, which is the gist of this bug.&lt;/p&gt;

&lt;p&gt;&amp;gt; 2. create networks with subnets and instances, then the VPNs, followed by&lt;br/&gt;
&amp;gt; &#8220;bgpvpn-net-assoc-create&#8221;. DO NOT add these subnets to the router via&lt;br/&gt;
&amp;gt; &#8220;router-interface-add&#8221;.&lt;br/&gt;
Yes, if we do not create routers this case works for Boron.&lt;/p&gt;</comment>
                            <comment id="36553" author="abhinav.gupta" created="Tue, 18 Oct 2016 12:51:31 +0000"  >&lt;p&gt;(In reply to Romanos Skiadas from comment #6)&lt;br/&gt;
&amp;gt; (In reply to Abhinav Gupta from comment #5)&lt;br/&gt;
&amp;gt; &amp;gt; Please allow me to correct myself here.&lt;br/&gt;
&amp;gt; &amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; 1. As per the current implementation, we can associate only one router to a&lt;br/&gt;
&amp;gt; &amp;gt; VPN.&lt;br/&gt;
&amp;gt; &amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; 2. For your use-case, upon router-create for each of the routers, internal&lt;br/&gt;
&amp;gt; &amp;gt; VPNs will be created. So, upon doing a &#8220;bgpvpn-net-assoc-create&#8221; after that,&lt;br/&gt;
&amp;gt; &amp;gt; you are essentially indicating for this network to be a part of:&lt;br/&gt;
&amp;gt; &amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; a. The internal VPN previously created&lt;br/&gt;
&amp;gt; &amp;gt; AND&lt;br/&gt;
&amp;gt; &amp;gt; b. The new VPN it is being associated to.&lt;br/&gt;
&amp;gt; &amp;gt; This is rightfully not allowed, hence you do not see the ping to be&lt;br/&gt;
&amp;gt; &amp;gt; successful.&lt;br/&gt;
&amp;gt; &amp;gt; So, either:&lt;br/&gt;
&amp;gt; &amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; 1. add both of the subnets to router via &#8220;router-interface-add&#8221; and then do&lt;br/&gt;
&amp;gt; &amp;gt; a &#8220;bgpvpn-router-assoc-create&#8221;&lt;br/&gt;
&amp;gt; &amp;gt; OR&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; Hope this clarifies.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; I understand your points, but the openstack documentation states it like so:&lt;br/&gt;
&amp;gt; Associating a BGPVPN to a Network can be done for both BGPVPN of type l2 and&lt;br/&gt;
&amp;gt; of type l3. For type L3, the semantic is that all Subnets bound to the&lt;br/&gt;
&amp;gt; Network will be interconnected with the BGP VPN (and thus between&lt;br/&gt;
&amp;gt; themselves).&lt;br/&gt;
&amp;gt; &lt;a href=&quot;http://docs.openstack.org/developer/networking-bgpvpn/api.html#network-&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://docs.openstack.org/developer/networking-bgpvpn/api.html#network-&lt;/a&gt;&lt;br/&gt;
&amp;gt; association&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; It seems to me that limiting the network association depending on whether&lt;br/&gt;
&amp;gt; subnets have been added to routers breaks the semantics of net-assoc. &lt;br/&gt;
&amp;gt; What I mean is that openstack promises that net-assoc will bind all the&lt;br/&gt;
&amp;gt; subnets to the VPN, but due to opendaylight constraints, this will fail&lt;br/&gt;
&amp;gt; silently, i.e. this bug.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Further down in the openstack docs however:&lt;br/&gt;
&amp;gt; To avoid any ambiguity on semantics in particular the context of processing&lt;br/&gt;
&amp;gt; associated to a Router (e.g. NAT or FWaaS), if a said Subnet in a Network is&lt;br/&gt;
&amp;gt; bound to a Router, this API does not allow to both associate the Network to&lt;br/&gt;
&amp;gt; an L3 BGPVPN and the Router to the same or to a distinct L3 BGPVPN.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; This is indeed in some way what you&apos;re saying, but not exactly. Network&lt;br/&gt;
&amp;gt; assoc should not happen if there is a router assoc. For opendaylight there&lt;br/&gt;
&amp;gt; is an internal router assoc so having a router means that network assoc will&lt;br/&gt;
&amp;gt; always fail.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; I think that this same paragraph that explains the mutual exclusion of&lt;br/&gt;
&amp;gt; network and router association implies that network assoc should work for&lt;br/&gt;
&amp;gt; subnets attached to routers that don&apos;t participate in assocs, which is the&lt;br/&gt;
&amp;gt; gist of this bug.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; 2. create networks with subnets and instances, then the VPNs, followed by&lt;br/&gt;
&amp;gt; &amp;gt; &#8220;bgpvpn-net-assoc-create&#8221;. DO NOT add these subnets to the router via&lt;br/&gt;
&amp;gt; &amp;gt; &#8220;router-interface-add&#8221;.&lt;br/&gt;
&amp;gt; Yes, if we do not create routers this case works for Boron.&lt;/p&gt;



&lt;p&gt;I totally agree with you. Due to ODL limitations, we are restricting ourselves here.&lt;br/&gt;
All along the implementation for Openstack/REST support for router/network(s) associations to VPN(s), this assumption was always taken into account.&lt;br/&gt;
I believe with this bug, we should look at enabling both:&lt;br/&gt;
a. L3 forwarding across subnets associated to the router.&lt;br/&gt;
b. L3 forwarding across network(s) associated to this VPN&lt;/p&gt;

&lt;p&gt;Also, for associations/dissociations via REST APIs, we send out explicit detailed error logs, but for BGPVPN APIs, no error is being propagated. This also needs to be fixed.&lt;/p&gt;</comment>
                            <comment id="36554" author="nikolas.hermanns@ericsson.com" created="Tue, 4 Apr 2017 08:23:18 +0000"  >&lt;p&gt;Do we have progress on this bug?&lt;/p&gt;</comment>
                            <comment id="36555" author="abhinav.gupta" created="Tue, 4 Apr 2017 08:27:05 +0000"  >&lt;p&gt;(In reply to Nikolas Hermanns from comment #8)&lt;br/&gt;
&amp;gt; Do we have progress on this bug?&lt;/p&gt;

&lt;p&gt;I don&apos;t think so, this was in unassigned state until today, and today has been assigned to me.&lt;br/&gt;
I don&apos;t see any fixes having gone in to take care of this..&lt;/p&gt;</comment>
                            <comment id="36556" author="nikolas.hermanns@ericsson.com" created="Tue, 4 Apr 2017 08:35:46 +0000"  >&lt;p&gt;Ah ok, that is now problem. But thanks that you look into that!&lt;/p&gt;</comment>
                            <comment id="60583" author="tomsou" created="Tue, 2 Jan 2018 12:11:36 +0000"  >&lt;p&gt;Hello, is there any news from this bug?&lt;/p&gt;</comment>
                            <comment id="67370" author="abhinav.gupta" created="Fri, 8 Nov 2019 10:46:07 +0000"  >&lt;p&gt;Old bug, will reopen if seen again&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12266" name="compute_ovs.txt" size="19871" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 11:31:45 +0000"/>
                            <attachment id="12265" name="controller_ovs.txt" size="13037" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 11:31:27 +0000"/>
                            <attachment id="12264" name="karaf.log" size="691000" author="rski@intracom-telecom.com" created="Tue, 18 Oct 2016 11:30: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>6962</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=6962]]></customfieldvalue>

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

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