Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
3817
Description
OpenFlow plugin failed to create flow entries which change UDP destination port.
I observed this issue in the latest distribution build in the stable/lithium branch.
I saw the following WARN message when I tried to install a flow entry which contained an action modify UDP destination port.
2015-06-18 11:15:03,315 | WARN | entLoopGroup-6-2 | OFEncoder | 213 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.6.0.SNAPSHOT | Message serialization failed
java.lang.ClassCastException: org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.UdpSrcCaseBuilder$UdpSrcCaseImpl cannot be cast to org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.UdpDstCase
at org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmUdpDstSerializer.serialize(OxmUdpDstSerializer.java:26)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.match.OxmUdpDstSerializer.serialize(OxmUdpDstSerializer.java:21)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.action.OF13SetFieldActionSerializer.serialize(OF13SetFieldActionSerializer.java:52)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.action.OF13SetFieldActionSerializer.serialize(OF13SetFieldActionSerializer.java:30)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.util.ListSerializer.serializeList(ListSerializer.java:42)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.instruction.AbstractActionInstructionSerializer.writeActions(AbstractActionInstructionSerializer.java:40)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.instruction.ApplyActionsInstructionSerializer.serialize(ApplyActionsInstructionSerializer.java:33)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.instruction.ApplyActionsInstructionSerializer.serialize(ApplyActionsInstructionSerializer.java:24)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.util.ListSerializer.serializeList(ListSerializer.java:42)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.factories.FlowModInputMessageFactory.serialize(FlowModInputMessageFactory.java:56)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.factories.FlowModInputMessageFactory.serialize(FlowModInputMessageFactory.java:32)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory.messageToBuffer(SerializationFactory.java:35)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:46)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:29)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)[144:io.netty.codec:4.0.26.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:705)[118:io.netty.transport:4.0.26.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:763)[118:io.netty.transport:4.0.26.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:698)[118:io.netty.transport:4.0.26.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:684)[118:io.netty.transport:4.0.26.Final]
at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:940)[118:io.netty.transport:4.0.26.Final]
at io.netty.channel.AbstractChannel.write(AbstractChannel.java:234)[118:io.netty.transport:4.0.26.Final]
at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:188)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:37)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:81)[213:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:328)[119:io.netty.common:4.0.26.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)[118:io.netty.transport:4.0.26.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)[119:io.netty.common:4.0.26.Final]
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[119:io.netty.common:4.0.26.Final]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_75]