<!-- 
RSS generated by JIRA (9.4.5#940005-sha1:e3094934eac4fd8653cf39da58f39364fb9cc7c1) at Sat Feb 10 06:02:13 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>Akraino JIRA</title>
    <link>https://jira.akraino.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.5</version>
        <build-number>940005</build-number>
        <build-date>11-04-2023</build-date>
    </build-info>


<item>
            <title>[IEC-22] [IEC][SEBA][PONSim] RG DHCP error</title>
                <link>https://jira.akraino.org/browse/IEC-22</link>
                <project id="10201" key="IEC">Integrated Edge Cloud</project>
                    <description>&lt;p&gt;After fixing &lt;a href=&quot;https://jira.akraino.org/browse/IEC-16&quot; title=&quot;[IEC][SEBA][PONSim] ONU has been validated - Authentication denied&quot; class=&quot;issue-link&quot; data-issue-key=&quot;IEC-16&quot;&gt;&lt;del&gt;IEC-16&lt;/del&gt;&lt;/a&gt;, the next step is for the Residential Gateway (rg) pod simulator in PONSim to make a DHCP request to the BNG. However this doesn&apos;t work at the moment on aarch64 deployments. On x86 as well I encountered situations where it doesn&apos;t work, but it seems to be a different situations.&lt;/p&gt;</description>
                <environment></environment>
        <key id="10641">IEC-22</key>
            <summary>[IEC][SEBA][PONSim] RG DHCP error</summary>
                <type id="10004" iconUrl="https://jira.akraino.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.akraino.org/images/icons/priorities/medium.svg">Medium</priority>
                        <status id="10001" iconUrl="https://jira.akraino.org/" description="">Done</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="ciprian.barbu.enea">Ciprian Barbu</assignee>
                                    <reporter username="ciprian.barbu.enea">Ciprian Barbu</reporter>
                        <labels>
                            <label>Release_2</label>
                    </labels>
                <created>Fri, 30 Aug 2019 14:33:59 +0000</created>
                <updated>Mon, 25 Nov 2019 13:26:14 +0000</updated>
                            <resolved>Mon, 25 Nov 2019 13:26:14 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="10854" author="ciprian.barbu.enea" created="Fri, 1 Nov 2019 14:52:55 +0000"  >&lt;p&gt;The first patch, the one backported from master to v1.13.5, has been verified to work and it is now part of our ONOS aarch64 image. See this change &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;The second patch, which was proposed by Charles Chan on upstream ONOS, has also been verified on one of our PODs in the ENEA lab, and it works ok. I backported this patch too on the iecedge/onos repo, and updated the charts correspondingly. See this change &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://gerrit.akraino.org/r/#/c/iec/+/1808/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.akraino.org/r/#/c/iec/+/1808/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;&#160;&lt;a href=&quot;https://gerrit.akraino.org/r/c/iec/+/1897&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.akraino.org/r/c/iec/+/1897&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="10706" author="ciprian.barbu.enea" created="Fri, 18 Oct 2019 16:19:34 +0000"  >&lt;p&gt;Update:&lt;/p&gt;

&lt;p&gt;While I was away in vacation Robert built an ONOS 1.13.9 and tried it to no avail, as this version of ONOS seems to be too new to work with SEBA 1.0.&lt;/p&gt;

&lt;p&gt;Then I tried a build with 1.13.5 and adding the patch that fixes the concurrent access as described by Charles Chan in the bug report. This worked fine, the issue is gone, so I will proceed to merging the necessary changes.&lt;/p&gt;</comment>
                            <comment id="10547" author="ciprian.barbu.enea" created="Fri, 20 Sep 2019 13:36:15 +0000"  >&lt;p&gt;I&apos;ve opened a new topic on the seba-dev mailing list and we got a suggestion to try a newer version of ONOS which has a potential fix for the problem:&lt;br/&gt;
&lt;a href=&quot;https://groups.google.com/a/opennetworking.org/forum/#!topic/seba-dev/FoEBPnsFC30&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://groups.google.com/a/opennetworking.org/forum/#!topic/seba-dev/FoEBPnsFC30&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For building the new ONOS version, we will need to use the modified Dockerfile for aarch64:&lt;br/&gt;
&lt;a href=&quot;https://github.com/cachengo/cachengo-onos/commit/6af2d66935f7b450965ef07040da4c2721637938&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/cachengo/cachengo-onos/commit/6af2d66935f7b450965ef07040da4c2721637938&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will need to be ported to 1.13.9 and built on an aarch64 machine.&lt;/p&gt;</comment>
                            <comment id="10534" author="ciprian.barbu.enea" created="Thu, 19 Sep 2019 09:18:56 +0000"  >&lt;p&gt;The problem might reside in atomix, there are some related issues, but I can&apos;t tell right now if the fix is included in our version:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/atomix/atomix/issues/978&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/atomix/atomix/issues/978&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="10533" author="ciprian.barbu.enea" created="Thu, 19 Sep 2019 09:11:46 +0000"  >&lt;p&gt;Latest news is that there is a big Java traceback in the Onos logs, coming from the Xconnect Manager aka org.onosproject.onos-apps-segmentrouting-app. This seems to be the actual problem:&lt;/p&gt;

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

&lt;p&gt;2019-09-13 15:10:25,097 | INFO | qtp300471503-38 | XconnectManager | 177 - org.onosproject.onos-apps-segmentrouting-app - 1.13.5 | Adding or updating xconnect. deviceId=of:0000000000000001, vlanId=222, ports=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 2&amp;#93;&lt;/span&gt;&lt;br/&gt;
2019-09-13 15:10:40,118 | ERROR | nt-partition-1-0 | ThreadPoolContext | 90 - io.atomix - 2.0.23 | An uncaught exception occurred&lt;br/&gt;
java.lang.IllegalStateException: org.onosproject.store.service.ConsistentMapException$Timeout: onos-sr-xconnect-next&lt;br/&gt;
 at org.onosproject.store.primitives.impl.MeteredAsyncConsistentMap$InternalMeteredMapEventListener.event(MeteredAsyncConsistentMap.java:310)&lt;br/&gt;
 at org.onosproject.store.primitives.impl.CachingAsyncConsistentMap.lambda$null$1(CachingAsyncConsistentMap.java:93)&lt;br/&gt;
 at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)&lt;span class=&quot;error&quot;&gt;&amp;#91;95:com.google.guava:22.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at org.onosproject.store.primitives.impl.CachingAsyncConsistentMap.lambda$null$2(CachingAsyncConsistentMap.java:93)&lt;br/&gt;
 at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at org.onosproject.store.primitives.impl.CachingAsyncConsistentMap.lambda$new$3(CachingAsyncConsistentMap.java:93)&lt;br/&gt;
 at org.onosproject.store.primitives.impl.TranscodingAsyncConsistentMap$InternalBackingMapEventListener.event(TranscodingAsyncConsistentMap.java:366)&lt;br/&gt;
 at org.onosproject.store.primitives.impl.TranscodingAsyncConsistentMap$InternalBackingMapEventListener.event(TranscodingAsyncConsistentMap.java:366)&lt;br/&gt;
 at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.lambda$null$1(AtomixConsistentMap.java:128)&lt;span class=&quot;error&quot;&gt;&amp;#91;133:org.onosproject.onos-core-primitives:1.13.5&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)&lt;span class=&quot;error&quot;&gt;&amp;#91;95:com.google.guava:22.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.lambda$null$2(AtomixConsistentMap.java:128)&lt;span class=&quot;error&quot;&gt;&amp;#91;133:org.onosproject.onos-core-primitives:1.13.5&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.lambda$handleEvent$3(AtomixConsistentMap.java:128)&lt;span class=&quot;error&quot;&gt;&amp;#91;133:org.onosproject.onos-core-primitives:1.13.5&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.ArrayList.forEach(ArrayList.java:1257)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at org.onosproject.store.primitives.resources.impl.AtomixConsistentMap.handleEvent(AtomixConsistentMap.java:127)&lt;span class=&quot;error&quot;&gt;&amp;#91;133:org.onosproject.onos-core-primitives:1.13.5&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at io.atomix.protocols.raft.proxy.impl.DelegatingRaftProxy.lambda$addEventListener$4(DelegatingRaftProxy.java:122)&lt;br/&gt;
 at io.atomix.protocols.raft.proxy.impl.BlockingAwareRaftProxyClient.lambda$null$2(BlockingAwareRaftProxyClient.java:67)&lt;br/&gt;
 at io.atomix.utils.concurrent.ThreadPoolContext.lambda$new$0(ThreadPoolContext.java:81)&lt;br/&gt;
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
 at java.lang.Thread.run(Thread.java:748)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_201&amp;#93;&lt;/span&gt;&lt;br/&gt;
Caused by: org.onosproject.store.service.ConsistentMapException$Timeout: onos-sr-xconnect-next&lt;br/&gt;
 at org.onosproject.store.primitives.DefaultConsistentMap.complete(DefaultConsistentMap.java:258)&lt;br/&gt;
 at org.onosproject.store.primitives.DefaultConsistentMap.containsKey(DefaultConsistentMap.java:77)&lt;br/&gt;
 at org.onosproject.segmentrouting.xconnect.impl.XconnectManager.populateNext(XconnectManager.java:485)&lt;br/&gt;
 at org.onosproject.segmentrouting.xconnect.impl.XconnectManager.populateXConnect(XconnectManager.java:455)&lt;br/&gt;
 at org.onosproject.segmentrouting.xconnect.impl.XconnectManager.access$300(XconnectManager.java:98)&lt;br/&gt;
 at org.onosproject.segmentrouting.xconnect.impl.XconnectManager$XconnectMapListener.event(XconnectManager.java:297)&lt;br/&gt;
 at org.onosproject.store.primitives.impl.MeteredAsyncConsistentMap$InternalMeteredMapEventListener.event(MeteredAsyncConsistentMap.java:306)&lt;br/&gt;
 ... 24 more&lt;/p&gt;</comment>
                            <comment id="10515" author="ciprian.barbu.enea" created="Tue, 17 Sep 2019 15:52:02 +0000"  >&lt;p&gt;We made little progress with the investigation, but so far it looks like the problem could be somewhere in ONOS, and more exactly in one of the ONOS apps.&lt;/p&gt;

&lt;p&gt;There are several apps that are involved, the aaa manager, the l2dhcprelay and even the olt-app.&lt;/p&gt;

&lt;p&gt;On the AAA Manager, we tracked the sequence of messages from the Radius server, where on a successful authentication the manager will authorize the access for the client &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;, which in turn will send a notification of type APPROVED &lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;Then, looking at the ONOS logs, the next message comes from the olt-app, which will program the necessary vlans for the subscriber &lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt;. This will call the internal function provisionVlans which seems to do what we need, in that it programs flows for packets tagged with s-tag and c-tag among other things.&lt;/p&gt;

&lt;p&gt;At this point we are not sure if the action of programming the flows fails somewhere, as we have not determined what component is responsible for that. But there is also a possibility that we have a different version of the olt-app, or something else. since these are built by Opencord in Jenkins &lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt;.&#160;The apps are published on an org.opencord maven repository here &lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt; and so we need to track how the apps have been built for the aarch64 version.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;&lt;a href=&quot;https://gerrit.opencord.org/gitweb?p=aaa.git;a=blob;f=src/main/java/org/opencord/aaa/AaaManager.java;h=b6b417d85b3ff626d63bad59befc177c081ada1b;hb=ec6670ea8dc4df1d76dd438b6d24f4221fa4f2f8#l322&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.opencord.org/gitweb?p=aaa.git;a=blob;f=src/main/java/org/opencord/aaa/AaaManager.java;h=b6b417d85b3ff626d63bad59befc177c081ada1b;hb=ec6670ea8dc4df1d76dd438b6d24f4221fa4f2f8#l322&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;2&amp;#93;&lt;/span&gt;&lt;a href=&quot;https://gerrit.opencord.org/gitweb?p=aaa.git;a=blob;f=src/main/java/org/opencord/aaa/StateMachine.java;h=d888c9883b16bdaf658e1a6a8e612c2cf1083ad8;hb=ec6670ea8dc4df1d76dd438b6d24f4221fa4f2f8#l417&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.opencord.org/gitweb?p=aaa.git;a=blob;f=src/main/java/org/opencord/aaa/StateMachine.java;h=d888c9883b16bdaf658e1a6a8e612c2cf1083ad8;hb=ec6670ea8dc4df1d76dd438b6d24f4221fa4f2f8#l417&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;3&amp;#93;&lt;/span&gt;&lt;a href=&quot;https://gerrit.opencord.org/gitweb?p=olt.git;a=blob;f=app/src/main/java/org/opencord/olt/impl/Olt.java;h=e2fdc5585542b490770ba08dc63ad26983632ea2;hb=1f864fc3d95d0d57a61ac3196540536473ce64ef#l260&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.opencord.org/gitweb?p=olt.git;a=blob;f=app/src/main/java/org/opencord/olt/impl/Olt.java;h=e2fdc5585542b490770ba08dc63ad26983632ea2;hb=1f864fc3d95d0d57a61ac3196540536473ce64ef#l260&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;4&amp;#93;&lt;/span&gt;&lt;a href=&quot;https://jenkins.opencord.org/view/ONOS%20Apps/job/cord-onos-app-publishing/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opencord.org/view/ONOS%20Apps/job/cord-onos-app-publishing/&lt;/a&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;5&amp;#93;&lt;/span&gt;https://mvnrepository.com/artifact/org.opencord&lt;/p&gt;</comment>
                            <comment id="10497" author="ciprian.barbu.enea" created="Fri, 13 Sep 2019 19:45:52 +0000"  >&lt;p&gt;On a further search for missing groups of rules, I ended up here:&lt;br/&gt;
&lt;a href=&quot;https://github.com/opennetworkinglab/onos/blob/master/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OvsOfdpaPipeline.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opennetworkinglab/onos/blob/master/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OvsOfdpaPipeline.java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;m not yet sure how this translates into the actual app, I think ONOS comes precompiled in the container, no actual java source code files present.&lt;/p&gt;</comment>
                            <comment id="10496" author="ciprian.barbu.enea" created="Fri, 13 Sep 2019 19:31:02 +0000"  >&lt;p&gt;After a lot of time debugging, mostly by comparing against a working setup, I have identified one issue in particular, while inspecting the logs in VOLTHA cli, ONOS cli and mininet OvS.&lt;/p&gt;

&lt;p&gt;Basically everything happens the same on both scenarios up until the authentication step. Prior to this, after ponsim-pod tosca loader defines loads the models for ONU and RG, the devices and virtual devices look the same on both setups. On ONOS side, the device associated with the openvswitch AGG Switch has 47 flows.&lt;/p&gt;

&lt;p&gt;After authentication is performed, a major difference appears. On the working setup, 6 more flows are added, whereas on the non-working setup only 4 more are added. One of the two missing flows is in table 50 and deals with tagged packets, including the DHCP response. The other one, I&apos;m not clear yet what is it&apos;s purpose. Here are the missing two flows as shown by ONOS:&lt;br/&gt;
 &#160;&#160;&#160;ADDED, bytes=5022, packets=42, table=50, priority=1000, selector=&lt;span class=&quot;error&quot;&gt;&amp;#91;VLAN_VID:222&amp;#93;&lt;/span&gt;, treatment=[deferred=&lt;span class=&quot;error&quot;&gt;&amp;#91;GROUP:0x40de0000&amp;#93;&lt;/span&gt;, transition=TABLE:60]&lt;br/&gt;
 &#160;&#160;&#160;ADDED, bytes=5022, packets=42, table=60, priority=60000, selector=[], treatment=[immediate=&lt;span class=&quot;error&quot;&gt;&amp;#91;NOACTION&amp;#93;&lt;/span&gt;]&lt;/p&gt;

&lt;p&gt;Additionally, on the OvS flow dump I identified a few missing groups of flows. These don&apos;t seem to have a correspondent in ONOS, not that I know of at least. Here are the missing group rules:&lt;br/&gt;
 group_id=14548993,type=indirect,bucket=actions=output:1&lt;br/&gt;
 group_id=14548994,type=indirect,bucket=actions=output:2&lt;br/&gt;
 group_id=1088290816,type=all,bucket=actions=group:14548993,bucket=actions=group:14548994&lt;/p&gt;

&lt;p&gt;These rules should allow the packets coming from the BNG to go to the RG skipping ONOS. However, ONOS still needs them in order to update the status of the ONU, which seems to not happen because of the missing flow rule with vlan 222.&lt;/p&gt;

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

&lt;p&gt;The question now is why where this difference comes from, what component is responsible for programming the missing flows and what is broken. There is a slight chance that ONOS is to blame, but I incline to think it&apos;s the OLT instead.&lt;br/&gt;
 This is because in the voltha namespace there is a vcore-0 which runs the core of VOLTHA, and by the looks of it this has a definition of the ponsim_olt PON type:&lt;br/&gt;
 &lt;a href=&quot;https://github.com/iecedge/voltha/blob/voltha-1.6/voltha/adapters/ponsim_olt/ponsim_olt.py#L807&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/iecedge/voltha/blob/voltha-1.6/voltha/adapters/ponsim_olt/ponsim_olt.py#L807&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However the problem might be elsewhere, since the DHCP and EAPOL packets seem to be fine, it&apos;s s-tag/c-tag related flows that are missing. I will need to investigate further.&lt;/p&gt;

&lt;p&gt;I&apos;ve asked for help on the #seba chanel on Slack, but since people were away with ONF Connect this week I didn&apos;t get much help yet.&lt;/p&gt;

&lt;p&gt;I&apos;ve attached a complete log file with differences between the two setups.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.akraino.org/secure/attachment/10105/10105_flows.txt&quot; title=&quot;flows.txt attached to IEC-22&quot;&gt;flows.txt&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.akraino.org/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</comment>
                            <comment id="10414" author="ciprian.barbu.enea" created="Fri, 30 Aug 2019 15:50:50 +0000"  >&lt;p&gt;I&apos;ve been using the information on the Opencord guide for troubleshooting DHCP not working:&lt;br/&gt;
&lt;a href=&quot;https://guide.opencord.org/cord-6.1/profiles/seba/troubleshoot/no-dhcp.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://guide.opencord.org/cord-6.1/profiles/seba/troubleshoot/no-dhcp.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The flows seem to be correct, but the Onos logs showed the DHCP requests coming from the RG but not the DHCP replies from the BNG (in mininet POD).&lt;/p&gt;

&lt;p&gt;So I tried to figure out if the packets really get to the mininet and if there is a reponse.&lt;br/&gt;
In the mininet POD there is a virtual topology (created by mininet of course) which simulates the different ports involved. There is a bridge s1 which contains a virtual ports s1-eth1 and the outgoing physical interface eth1. I can see the DHCP requests and replies on the s1-eth1 port (with tcpdump) but on the physical interface eth1. So to me it looks like the simulated BNG works, at least the dnsmasq process sends the reply, but it is not forwarded by openvswitch on the physical interface. Comparing with a working x86, pod, the converse is true, so indeed something is wrong at the OVS level.&lt;/p&gt;

&lt;p&gt;I tried to obtain the flows programmed into openvswitch but I seem to get some giberish at the output. I need to investigate further, there is a chance that the controller registered to ovs is not behaving correctly.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="10271">IEC-14</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="10105" name="flows.txt" size="117957" author="ciprian.barbu.enea" created="Fri, 13 Sep 2019 19:30:47 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10105" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i000cc:</customfieldvalue>

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