<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:59:50 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>[GENIUS-69] Flow based tunnels not being handled correctly</title>
                <link>https://jira.opendaylight.org/browse/GENIUS-69</link>
                <project id="10126" key="GENIUS">genius</project>
                    <description>&lt;p&gt;So this is what I am doing.&lt;/p&gt;

&lt;p&gt;I am enabling the global netvirt option to use OF tunnels. This makes netvirt make the TZs VTEPs with that option. Let&apos;s say I have 2 nodes so 2 VTEPs. &lt;/p&gt;

&lt;p&gt;I see the corresponding logical tunnel interfaces in IETF config interfaces. &lt;/p&gt;

&lt;p&gt;&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;interfaces&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface&quot;: [&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tunca6ebf5c4f6&quot;,
&amp;gt;         &quot;odl-interface:datapath-node-identifier&quot;: 17826645854953,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:tunnel-interface-type&quot;: &quot;odl-interface:tunnel- 
&amp;gt; type-vxlan&quot;,
&amp;gt;         &quot;odl-interface:tunnel-source&quot;: &quot;172.19.0.3&quot;,
&amp;gt;         &quot;odl-interface:monitor-enabled&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-interval&quot;: 1000,
&amp;gt;         &quot;odl-interface:tunnel-destination&quot;: &quot;172.19.0.2&quot;,
&amp;gt;         &quot;odl-interface:tunnel-remote-ip-flow&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-protocol&quot;: &quot;odl-interface:tunnel- 
&amp;gt; monitoring-type-bfd&quot;,
&amp;gt;         &quot;odl-interface:tunnel-gateway&quot;: &quot;0.0.0.0&quot;,
&amp;gt;         &quot;odl-interface:internal&quot;: true,
&amp;gt;         &quot;description&quot;: &quot;VXLAN Trunk Interface&quot;
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tun3141ddab506&quot;,
&amp;gt;         &quot;odl-interface:datapath-node-identifier&quot;: 22984997280292,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:tunnel-interface-type&quot;: &quot;odl-interface:tunnel- 
&amp;gt; type-vxlan&quot;,
&amp;gt;         &quot;odl-interface:tunnel-source&quot;: &quot;172.19.0.2&quot;,
&amp;gt;         &quot;odl-interface:monitor-enabled&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-interval&quot;: 1000,
&amp;gt;         &quot;odl-interface:tunnel-destination&quot;: &quot;172.19.0.3&quot;,
&amp;gt;         &quot;odl-interface:tunnel-remote-ip-flow&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-protocol&quot;: &quot;odl-interface:tunnel- 
&amp;gt; monitoring-type-bfd&quot;,
&amp;gt;         &quot;odl-interface:tunnel-gateway&quot;: &quot;0.0.0.0&quot;,
&amp;gt;         &quot;odl-interface:internal&quot;: true,
&amp;gt;         &quot;description&quot;: &quot;VXLAN Trunk Interface&quot;
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;71e6cfd9-cb83-4827-a244-2adbda5857c9&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;odl-interface:l2vlan-mode&quot;: &quot;trunk&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:parent-interface&quot;: &quot;tap71e6cfd9-cb&quot;
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;d4bbeeba-c062-45d7-9bdd-89114b978705&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;odl-interface:l2vlan-mode&quot;: &quot;trunk&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:parent-interface&quot;: &quot;tapd4bbeeba-c0&quot;
&amp;gt;       }
&lt;p&gt;&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;

&lt;p&gt;I see none in the IETF operational interfaces. &lt;/p&gt;

&lt;p&gt;&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;interfaces-state&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface&quot;: [&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tap71e6cfd9-cb&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;0a:d5:5e:b4:3e:9b&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:22984997280292:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;71e6cfd9-cb83-4827-a244-2adbda5857c9&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;0a:d5:5e:b4:3e:9b&quot;,
&amp;gt;         &quot;if-index&quot;: 1,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:22984997280292:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;d4bbeeba-c062-45d7-9bdd-89114b978705&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;a2:28:e2:58:35:18&quot;,
&amp;gt;         &quot;if-index&quot;: 2,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:17826645854953:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tapd4bbeeba-c0&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;a2:28:e2:58:35:18&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:17826645854953:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;

&lt;p&gt;In Genius child interface info, I see both VTEPS as child of other two tunnel interfaces:&lt;/p&gt;

&lt;p&gt;&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;interface-child-info&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface-parent-entry&quot;: [&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tun1403f28cf31&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;tunca6ebf5c4f6&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tapd4bbeeba-c0&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;d4bbeeba-c062-45d7-9bdd-89114b978705&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tun0eae2df36ea&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;tun3141ddab506&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tap71e6cfd9-cb&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;71e6cfd9-cb83-4827-a244-2adbda5857c9&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       }&lt;br/&gt;
&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;

&lt;p&gt;Looking at one node, the flow based tunnel is there:&lt;/p&gt;

&lt;p&gt;&amp;gt; 41883803-1d4e-4a5c-8c87-a1403f97f966&lt;br/&gt;
&amp;gt;     Manager &quot;tcp:172.28.128.1:6640&quot;&lt;br/&gt;
&amp;gt;         is_connected: true&lt;br/&gt;
&amp;gt;     Bridge br-int&lt;br/&gt;
&amp;gt;         Controller &quot;tcp:172.28.128.1:6653&quot;&lt;br/&gt;
&amp;gt;             is_connected: true&lt;br/&gt;
&amp;gt;         fail_mode: secure&lt;br/&gt;
&amp;gt;         Port br-int&lt;br/&gt;
&amp;gt;             Interface br-int&lt;br/&gt;
&amp;gt;                 type: internal&lt;br/&gt;
&amp;gt;         Port &quot;tap71e6cfd9-cb&quot;&lt;br/&gt;
&amp;gt;             Interface &quot;tap71e6cfd9-cb&quot;&lt;br/&gt;
&amp;gt;         Port &quot;tun0eae2df36ea&quot;&lt;br/&gt;
&amp;gt;             Interface &quot;tun0eae2df36ea&quot;&lt;br/&gt;
&amp;gt;                 type: vxlan&lt;br/&gt;
&amp;gt;                 options: &lt;/p&gt;
{key=flow, local_ip=&quot;172.19.0.2&quot;, 
&amp;gt; remote_ip=flow}
&lt;p&gt;&amp;gt;     ovs_version: &quot;2.6.1&quot;&lt;/p&gt;

&lt;p&gt;But no handling for it on Table 0:&lt;/p&gt;

&lt;p&gt;&amp;gt; cookie=0x8000000, duration=15.065s, table=0, n_packets=6, n_bytes=480, &lt;br/&gt;
&amp;gt; priority=4,in_port=1&lt;br/&gt;
&amp;gt; actions=write_metadata:0x10000000000/0xffffff0000000001,goto_table:17&lt;br/&gt;
&amp;gt;  cookie=0x8040000, duration=13.779s, table=17, n_packets=3, &lt;br/&gt;
&amp;gt; n_bytes=230, priority=9,metadata=0x10000000000/0xffffff0000000000&lt;br/&gt;
&amp;gt; actions=load:0x1-&lt;br/&gt;
&amp;gt; &amp;gt;NXM_NX_REG1&lt;span class=&quot;error&quot;&gt;&amp;#91;0..19&amp;#93;&lt;/span&gt;,write_metadata:0xa000011389000000/0xffffffffff&lt;br/&gt;
&amp;gt; fffffe,goto_table:48&lt;br/&gt;
&amp;gt;  cookie=0x8000000, duration=15.536s, table=17, n_packets=0, n_bytes=0, &lt;br/&gt;
&amp;gt; priority=0,metadata=0x8000000000000000/0xf000000000000000&lt;br/&gt;
&amp;gt; actions=write_metadata:0x9000000000000000/0xf000000000000000,goto_tab&lt;br/&gt;
&amp;gt; le:80&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="19850">GENIUS-69</key>
            <summary>Flow based tunnels not being handled correctly</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="10000">Done</resolution>
                                        <assignee username="thapar">Vishal Thapar</assignee>
                                    <reporter username="jaicaa">Jaime Caama&#241;o Ruiz</reporter>
                        <labels>
                    </labels>
                <created>Thu, 30 Mar 2017 12:25:56 +0000</created>
                <updated>Mon, 30 Oct 2017 19:52:45 +0000</updated>
                            <resolved>Mon, 29 May 2017 06:28:11 +0000</resolved>
                                    <version>(unspecified)</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="35945" author="thapar" created="Thu, 30 Mar 2017 13:30:05 +0000"  >&lt;p&gt;Working on the patch.&lt;/p&gt;</comment>
                            <comment id="35946" author="thapar" created="Thu, 30 Mar 2017 17:38:06 +0000"  >&lt;p&gt;@Jaime: Could you try one thing with this? When you see interfaces show up in child but not in interface state or in flows, can you try reconnecting switch &lt;span class=&quot;error&quot;&gt;&amp;#91;OF controller&amp;#93;&lt;/span&gt; to ODL?&lt;/p&gt;

&lt;p&gt;I had tested this code and it was working when I first pushed it. I believe at some point other changes, namely Alon&apos;s parentRef fixes, modified the timing in such a way that it is not working. Looking at the code we update interface states based on child-interface information. I have rest of the changes ready. If this workaround works for you, then it means my understanding is correct and no more work needed on my patch.&lt;/p&gt;</comment>
                            <comment id="35947" author="thapar" created="Mon, 3 Apr 2017 09:05:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/54251/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/54251/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tested update in interface and tunnel state. Couldn&apos;t test datapath in my setup.&lt;/p&gt;</comment>
                            <comment id="35948" author="jaicaa" created="Mon, 3 Apr 2017 11:08:33 +0000"  >&lt;p&gt;I have removed and added the controller:&lt;/p&gt;

&lt;p&gt;ovs-vsctl del-controller br-int&lt;br/&gt;
ovs-vsctl set-controller br-int tcp:172.28.128.1:6653&lt;/p&gt;

&lt;p&gt;and nothing really changed in interfaces-state, tunnels still missing.&lt;/p&gt;

&lt;p&gt;Also tried stop and starting the controller and all interfaces-state disappeared and con duplicate flow tunnels in OVS:&lt;/p&gt;

&lt;p&gt;f3f6ea90-929f-4c77-96fe-bf891ddedba6&lt;br/&gt;
    Manager &quot;tcp:172.28.128.1:6640&quot;&lt;br/&gt;
        is_connected: true&lt;br/&gt;
    Bridge br-int&lt;br/&gt;
        Controller &quot;tcp:172.28.128.1:6653&quot;&lt;br/&gt;
            is_connected: true&lt;br/&gt;
        fail_mode: secure&lt;br/&gt;
        Port &quot;tap52b21189-17&quot;&lt;br/&gt;
            Interface &quot;tap52b21189-17&quot;&lt;br/&gt;
        Port &quot;tuncad4808d23e&quot;&lt;br/&gt;
            Interface &quot;tuncad4808d23e&quot;&lt;br/&gt;
                type: vxlan&lt;br/&gt;
                options: &lt;/p&gt;
{key=flow, local_ip=&quot;172.19.0.3&quot;, remote_ip=flow}&lt;br/&gt;
        Port br-int&lt;br/&gt;
            Interface br-int&lt;br/&gt;
                type: internal&lt;br/&gt;
        Port &quot;tun16382fe263d&quot;&lt;br/&gt;
            Interface &quot;tun16382fe263d&quot;&lt;br/&gt;
                type: vxlan&lt;br/&gt;
                options: {key=flow, local_ip=&quot;172.19.0.3&quot;, remote_ip=flow}
&lt;p&gt;    ovs_version: &quot;2.6.1&quot;&lt;/p&gt;</comment>
                            <comment id="35949" author="thapar" created="Mon, 3 Apr 2017 12:03:42 +0000"  >&lt;p&gt;Yeah, I noticed another bug in state code and have pushed a patch that fixes everything. I&apos;ve tested it locally. Can you try out the patch in my previous comment?&lt;/p&gt;</comment>
                            <comment id="35950" author="jaicaa" created="Mon, 3 Apr 2017 14:49:43 +0000"  >&lt;p&gt;Using both &lt;/p&gt;

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

&lt;p&gt;just in case. &lt;/p&gt;

&lt;p&gt;I managed to get one operational entry:&lt;/p&gt;

&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;interfaces-state&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface&quot;: [&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;c99797fe-210e-4a87-8ed5-fc74eb9b47e7&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;da:d3:00:7b:b4:20&quot;,
&amp;gt;         &quot;if-index&quot;: 1,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:30896985771933:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tap1a75efd4-7e&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;7a:02:ba:c0:e2:dc&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:229209844983867:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tapc99797fe-21&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;da:d3:00:7b:b4:20&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:30896985771933:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;1a75efd4-7e9a-4c3e-9440-652a9386f57d&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;7a:02:ba:c0:e2:dc&quot;,
&amp;gt;         &quot;if-index&quot;: 2,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:229209844983867:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tun17eb97afc94&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;2e:29:41:f6:5e:d3&quot;,
&amp;gt;         &quot;if-index&quot;: 3,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:229209844983867:2&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;

&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;interfaces&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface&quot;: [&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;c99797fe-210e-4a87-8ed5-fc74eb9b47e7&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;odl-interface:l2vlan-mode&quot;: &quot;trunk&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:parent-interface&quot;: &quot;tapc99797fe-21&quot;
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;name&quot;: &quot;1a75efd4-7e9a-4c3e-9440-652a9386f57d&quot;,&lt;br/&gt;
&amp;gt;         &quot;type&quot;: &quot;ia{&lt;br/&gt;
&amp;gt;   &quot;interfaces&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface&quot;: [&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;c99797fe-210e-4a87-8ed5-fc74eb9b47e7&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;odl-interface:l2vlan-mode&quot;: &quot;trunk&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:parent-interface&quot;: &quot;tapc99797fe-21&quot;
&amp;gt;       }
&lt;p&gt;,na-if-type:l2vlan&quot;,&lt;br/&gt;
&amp;gt;         &quot;odl-interface:l2vlan-mode&quot;: &quot;trunk&quot;,&lt;br/&gt;
&amp;gt;         &quot;enabled&quot;: true,&lt;br/&gt;
&amp;gt;         &quot;odl-interface:parent-interface&quot;: &quot;tap1a75efd4-7e&quot;&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tun17eb97afc94&quot;,
&amp;gt;         &quot;odl-interface:datapath-node-identifier&quot;: 229209844983867,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:tunnel-interface-type&quot;: &quot;odl-interface:tunnel-
&amp;gt; type-vxlan&quot;,
&amp;gt;         &quot;odl-interface:tunnel-source&quot;: &quot;172.19.0.3&quot;,
&amp;gt;         &quot;odl-interface:monitor-enabled&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-interval&quot;: 1000,
&amp;gt;         &quot;odl-interface:tunnel-destination&quot;: &quot;172.19.0.2&quot;,
&amp;gt;         &quot;odl-interface:tunnel-remote-ip-flow&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-protocol&quot;: &quot;odl-interface:tunnel-
&amp;gt; monitoring-type-bfd&quot;,
&amp;gt;         &quot;odl-interface:tunnel-gateway&quot;: &quot;0.0.0.0&quot;,
&amp;gt;         &quot;odl-interface:internal&quot;: true,
&amp;gt;         &quot;description&quot;: &quot;VXLAN Trunk Interface&quot;
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tun2ff14bc55ea&quot;,
&amp;gt;         &quot;odl-interface:datapath-node-identifier&quot;: 30896985771933,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;enabled&quot;: true,
&amp;gt;         &quot;odl-interface:tunnel-interface-type&quot;: &quot;odl-interface:tunnel-
&amp;gt; type-vxlan&quot;,
&amp;gt;         &quot;odl-interface:tunnel-source&quot;: &quot;172.19.0.2&quot;,
&amp;gt;         &quot;odl-interface:monitor-enabled&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-interval&quot;: 1000,
&amp;gt;         &quot;odl-interface:tunnel-destination&quot;: &quot;172.19.0.3&quot;,
&amp;gt;         &quot;odl-interface:tunnel-remote-ip-flow&quot;: true,
&amp;gt;         &quot;odl-interface:monitor-protocol&quot;: &quot;odl-interface:tunnel-
&amp;gt; monitoring-type-bfd&quot;,
&amp;gt;         &quot;odl-interface:tunnel-gateway&quot;: &quot;0.0.0.0&quot;,
&amp;gt;         &quot;odl-interface:internal&quot;: true,
&amp;gt;         &quot;description&quot;: &quot;VXLAN Trunk Interface&quot;
&amp;gt;       }
&lt;p&gt;&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;

&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;&amp;gt; {&lt;br/&gt;
&amp;gt;   &quot;interface-child-info&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface-parent-entry&quot;: [&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tapc99797fe-21&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;c99797fe-210e-4a87-8ed5-fc74eb9b47e7&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tun50f6dea39ac&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;tun17eb97afc94&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tune34ed77ee80&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;tun2ff14bc55ea&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       },&lt;br/&gt;
&amp;gt;       {&lt;br/&gt;
&amp;gt;         &quot;parent-interface&quot;: &quot;tap1a75efd4-7e&quot;,&lt;br/&gt;
&amp;gt;         &quot;interface-child-entry&quot;: [&lt;br/&gt;
&amp;gt;           &lt;/p&gt;
{
&amp;gt;             &quot;child-interface&quot;: &quot;1a75efd4-7e9a-4c3e-9440-652a9386f57d&quot;
&amp;gt;           }
&lt;p&gt;&amp;gt;         ]&lt;br/&gt;
&amp;gt;       }&lt;br/&gt;
&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;

&lt;p&gt;&amp;#8212;&lt;/p&gt;

&lt;p&gt;Trying to understand a bit of what is happenning so I can help you out more. I assume with this change:&lt;/p&gt;

&lt;p&gt;&amp;gt;            if&lt;br/&gt;
&amp;gt; (InterfaceManagerCommonUtils.getInterfaceStateFromCache(tunnelName)&lt;br/&gt;
&amp;gt; != null) &lt;/p&gt;
{
&amp;gt;                 InterfaceManagerCommonUtils.addStateEntry(interfaceNe
&amp;gt; w.getName(), dataBroker, idManager, futures,
&amp;gt;                                 InterfaceManagerCommonUtils.getInterf
&amp;gt; aceStateFromCache(tunnelName));
&amp;gt;             }

&lt;p&gt;that there should be an operational entry for the parent tunnel. And an&lt;br/&gt;
operational entry requires a configuration entry, otherwise&lt;br/&gt;
validateTunnelPortAttributes wont pass. Bu tthe configuration entry for the parent tunnel is not created anywhere.&lt;/p&gt;

&lt;p&gt;Also, there might be a race condition between the child entry creation in operational, and the port configuration in OVSDB (they go into different queues in BatchingUtils). When this happens, the parent tunnel inventory state add might not create the appropiate operational state for all child entries.&lt;/p&gt;

&lt;p&gt;Hope it helps.&lt;/p&gt;</comment>
                            <comment id="35951" author="jaicaa" created="Mon, 3 Apr 2017 15:28:00 +0000"  >&lt;p&gt;Ignore this part&lt;/p&gt;

&lt;p&gt;&amp;gt; I assume with this change:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt;            if&lt;br/&gt;
&amp;gt; &amp;gt;&lt;br/&gt;
&amp;gt; (InterfaceManagerCommonUtils.getInterfaceStateFromCache(tunnelName)&lt;br/&gt;
&amp;gt; &amp;gt; != null) &lt;/p&gt;
{
&amp;gt; &amp;gt;                 InterfaceManagerCommonUtils.addStateEntry(interf
&amp;gt; aceNe
&amp;gt; &amp;gt; w.getName(), dataBroker, idManager, futures,
&amp;gt; &amp;gt;                                 InterfaceManagerCommonUtils.getI
&amp;gt; nterf
&amp;gt; &amp;gt; aceStateFromCache(tunnelName));
&amp;gt; &amp;gt;             }
&lt;p&gt;&amp;gt; &lt;br/&gt;
&amp;gt; that there should be an operational entry for the parent tunnel. And&lt;br/&gt;
&amp;gt; an&lt;br/&gt;
&amp;gt; operational entry requires a configuration entry, otherwise&lt;br/&gt;
&amp;gt; validateTunnelPortAttributes wont pass. Bu tthe configuration entry&lt;br/&gt;
&amp;gt; for the parent tunnel is not created anywhere.&lt;/p&gt;</comment>
                            <comment id="35952" author="thapar" created="Mon, 3 Apr 2017 15:32:11 +0000"  >&lt;p&gt;No, this interface will not have entry in config or operational, only in child interface info. State will not be added but code for it will be triggered fo its child interfaces and those are ones we want. Parent will start showing up once we support a use case of being able to create tunnels without known remote points so services can bind to those and decide remote-ip themselves, option 2 discussed in the mail thread.&lt;/p&gt;

&lt;p&gt;tun2ff14bc55ea should&apos;ve also shown up in inventoryState. 54112 is not needed for this, that is just to get information from caches. The probability of race condition is really low because we add child info before adding to OSVDB. Actual state doesn&apos;t get created till port shows up on switch and we get notifiation back. Code is written in such a way that OVSDB port addition or OF state addition both can be received in any order.&lt;/p&gt;

&lt;p&gt;Anyhow, we got CSIT coming up for OFTunnels, so won&apos;t really merge this till those are in place. Brady tested with 54112 and it seems to solve the SFC requirements. Any issues with these two together, I&apos;ll address before this is merged.&lt;/p&gt;</comment>
                            <comment id="35953" author="jaicaa" created="Mon, 3 Apr 2017 16:10:13 +0000"  >&lt;p&gt;Vishal, unless I am understanding something wrong, I would not discard the possibility of a race condition so easily. There is no happens-before relationship between child entry creation and port creation (or the inventory state listener where the interface-state of child entries is added).&lt;/p&gt;

&lt;p&gt;Just to test, I moved the child entry creation from the DEFAULT_CONFIG queue to the TOPOLOGY_CONFIG queue (InterfaceManagerCommonUtils::createInterfaceChildEntry), the same queue used for port creation and now I got both tun operational entries:&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
&amp;gt;   &quot;interfaces-state&quot;: {&lt;br/&gt;
&amp;gt;     &quot;interface&quot;: [&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tap7db33102-dd&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;52:7a:52:2e:00:70&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:26401120433442:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tap3c869015-7d&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;52:e4:05:8b:4c:62&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:256011399769995:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;7db33102-dd7d-4c72-9c0e-cdfb742f4c57&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;52:7a:52:2e:00:70&quot;,
&amp;gt;         &quot;if-index&quot;: 2,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:26401120433442:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tun1510a575236&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;36:5c:0a:2b:32:62&quot;,
&amp;gt;         &quot;if-index&quot;: 3,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:26401120433442:2&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;3c869015-7da4-4a8a-ae84-89b275272b63&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:l2vlan&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;52:e4:05:8b:4c:62&quot;,
&amp;gt;         &quot;if-index&quot;: 1,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:256011399769995:1&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;,&lt;br/&gt;
&amp;gt;       &lt;/p&gt;
{
&amp;gt;         &quot;name&quot;: &quot;tun00f3242ede3&quot;,
&amp;gt;         &quot;type&quot;: &quot;iana-if-type:tunnel&quot;,
&amp;gt;         &quot;admin-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;phys-address&quot;: &quot;a6:51:30:db:e6:9d&quot;,
&amp;gt;         &quot;if-index&quot;: 4,
&amp;gt;         &quot;oper-status&quot;: &quot;up&quot;,
&amp;gt;         &quot;lower-layer-if&quot;: [
&amp;gt;           &quot;openflow:256011399769995:2&quot;
&amp;gt;         ]
&amp;gt;       }
&lt;p&gt;&amp;gt;     ]&lt;br/&gt;
&amp;gt;   }&lt;br/&gt;
&amp;gt; }&lt;/p&gt;</comment>
                            <comment id="35954" author="thapar" created="Mon, 3 Apr 2017 16:16:11 +0000"  >&lt;p&gt;(In reply to Jaime Caama&#241;o Ruiz from comment #9)&lt;br/&gt;
&amp;gt; Vishal, unless I am understanding something wrong, I would not discard the&lt;br/&gt;
&amp;gt; possibility of a race condition so easily. There is no happens-before&lt;br/&gt;
&amp;gt; relationship between child entry creation and port creation (or the&lt;br/&gt;
&amp;gt; inventory state listener where the interface-state of child entries is&lt;br/&gt;
&amp;gt; added).&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Just to test, I moved the child entry creation from the DEFAULT_CONFIG queue&lt;br/&gt;
&amp;gt; to the TOPOLOGY_CONFIG queue&lt;br/&gt;
&amp;gt; (InterfaceManagerCommonUtils::createInterfaceChildEntry), the same queue&lt;br/&gt;
&amp;gt; used for port creation and now I got both tun operational entries:&lt;/p&gt;


&lt;p&gt;creatInterfaceChildEntry is used for both tunnel and non-tunnel interfaces, so we can&apos;t use that. Non-tunnel will not be created in topology_config, only interface_config. We use Interface_Config as key in DSJC to order events for a given itnerfae irrespective of which shard it is writing/reading on. Maybe your fix is correct for this case, but I haven&apos;t tried both patchs together or seen the issue &lt;span class=&quot;error&quot;&gt;&amp;#91;all tunnels came up for me correctly&amp;#93;&lt;/span&gt;.&lt;/p&gt;</comment>
                            <comment id="35955" author="jaicaa" created="Mon, 3 Apr 2017 16:50:35 +0000"  >&lt;p&gt;Yeah, I agree with you it is not the correct fix, just a quick way to test it out.&lt;/p&gt;

&lt;p&gt;Maybe a child interface entry listener that would call OvsInterfaceStateAddHelper::addState.&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>8107</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=8107]]></customfieldvalue>

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

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