<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:33:28 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>[OPNFLWPLUG-824] Null Pointer Exception in LearnCodecUtil when add learn flow for ipv6</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-824</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;Null Pointer Exception encountered when adding a learn flow to the OVS bridge.&lt;/p&gt;

&lt;p&gt;Reproduction Step: issue the following command to the OVS with existing br-int:&lt;/p&gt;

&lt;p&gt;sudo ovs-ofctl &lt;del&gt;O OpenFlow13 add-flow br-int &apos;table=55, icmp6,dl_dst=fa:16:3e:7e:ca:fe,icmpv6_type=8,icmpv6_code=0 actions=learn(table=39,idle_timeout=3600,hard_timeout=3600,priority=61010,eth_type=0x86dd,nw_proto=58,NXM_NX_IPV6_SRC[]=NXM_NX_IPV6_DST[],NXM_NX_IPV6_DST[]=NXM_NX_IPV6_SRC[],icmpv6_code=0,icmpv6_type=0,load:0x1&lt;/del&gt;&amp;gt;NXM_NX_REG6&lt;span class=&quot;error&quot;&gt;&amp;#91;0..7&amp;#93;&lt;/span&gt;),resubmit(,100)&apos;&lt;/p&gt;

&lt;p&gt;The following exception is observed in karaf.log:&lt;/p&gt;

&lt;p&gt;2016-11-17 16:53:15,493 | WARN  | entLoopGroup-9-1 | OFDecoder                        | 303 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.9.0.SNAPSHOT | Message deserialization failed&lt;br/&gt;
java.lang.IllegalArgumentException: Invalid range: -31011, expected: [&lt;span class=&quot;error&quot;&gt;&amp;#91;0&#8229;65535&amp;#93;&lt;/span&gt;].&lt;br/&gt;
        at org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec.flow.mod.add.match.from.value._case.FlowModAddMatchFromValueBuilder.checkValueRange(FlowModAddMatchFromValueBuilder.java:127)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec.flow.mod.add.match.from.value._case.FlowModAddMatchFromValueBuilder.setValue(FlowModAddMatchFromValueBuilder.java:132)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.codec.action.LearnCodecUtil.readFlowModAddMatchFromValue(LearnCodecUtil.java:264)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.codec.action.LearnCodecUtil.readFlowMod(LearnCodecUtil.java:233)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.codec.action.LearnCodecUtil.buildFlowModSpecs(LearnCodecUtil.java:201)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.codec.action.LearnCodec.deserialize(LearnCodec.java:69)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.codec.action.LearnCodec.deserialize(LearnCodec.java:28)&lt;span class=&quot;error&quot;&gt;&amp;#91;319:org.opendaylight.openflowplugin.openflowjava-extension-nicira:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.api.impl.ActionDeserializer.deserialize(ActionDeserializer.java:59)&lt;span class=&quot;error&quot;&gt;&amp;#91;318:org.opendaylight.openflowplugin.openflowjava-extension-nicira-api:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.nx.api.impl.ActionDeserializer.deserialize(ActionDeserializer.java:22)&lt;span class=&quot;error&quot;&gt;&amp;#91;318:org.opendaylight.openflowplugin.openflowjava-extension-nicira-api:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.util.ListDeserializer.deserializeList(ListDeserializer.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.instruction.AbstractActionInstructionDeserializer.deserializeActions(AbstractActionInstructionDeserializer.java:38)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.instruction.ApplyActionsInstructionDeserializer.deserialize(ApplyActionsInstructionDeserializer.java:36)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.instruction.ApplyActionsInstructionDeserializer.deserialize(ApplyActionsInstructionDeserializer.java:25)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.util.ListDeserializer.deserializeList(ListDeserializer.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.setFlow(MultipartReplyMessageFactory.java:304)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.deserialize(MultipartReplyMessageFactory.java:198)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory.deserialize(MultipartReplyMessageFactory.java:148)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.deserialize(DeserializationFactory.java:59)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:26)&lt;span class=&quot;error&quot;&gt;&amp;#91;303:org.opendaylight.openflowjava.openflow-protocol-impl:0.9.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)&lt;span class=&quot;error&quot;&gt;&amp;#91;140:io.netty.codec:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)&lt;span class=&quot;error&quot;&gt;&amp;#91;139:io.netty.transport:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:328)&lt;span class=&quot;error&quot;&gt;&amp;#91;139:io.netty.transport:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:321)&lt;span class=&quot;error&quot;&gt;&amp;#91;139:io.netty.transport:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)&lt;span class=&quot;error&quot;&gt;&amp;#91;140:io.netty.codec:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)&lt;span class=&quot;error&quot;&gt;&amp;#91;140:io.netty.codec:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)&lt;span class=&quot;error&quot;&gt;&amp;#91;139:io.netty.transport:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:328)&lt;span class=&quot;error&quot;&gt;&amp;#91;139:io.netty.transport:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:321)&lt;span class=&quot;error&quot;&gt;&amp;#91;139:io.netty.transport:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)&lt;span class=&quot;error&quot;&gt;&amp;#91;140:io.netty.codec:4.0.37.Final&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Problem: &lt;br/&gt;
At:&lt;br/&gt;
openflowplugin/extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/LearnCodecUtil.java:264&lt;/p&gt;

&lt;p&gt;   builder.setValue((int) message.readShort());&lt;/p&gt;

&lt;p&gt;The buffer reads a short (max value 0x7FFF) for the ipv6 ether type  value 0x86dd and hence the exception.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="28092">OPNFLWPLUG-824</key>
            <summary>Null Pointer Exception in LearnCodecUtil when add learn flow for ipv6</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="vinh.nguyen@hcl.com">Vinh Nguyen</assignee>
                                    <reporter username="vinh.nguyen@hcl.com">Vinh Nguyen</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Nov 2016 23:01:36 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:57 +0000</updated>
                            <resolved>Mon, 5 Dec 2016 18:01:08 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                        <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>7209</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=7209]]></customfieldvalue>

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

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