Hello,
I started having problems with the OpenflowPlugin on Master today while trying
to create an NSH (Network Services Header) related flow. This worked yesterday,
April 25, but no longer works today.
This is the code to create the flow match, which seems to be the problematic
field as seen below in the exception stack:
public static void addMatchNshMdtype(MatchBuilder match, short mdType) {
NxAugMatchNodesNodeTableFlow amMdtype = new
NxAugMatchNodesNodeTableFlowBuilder()
.setNxmNxNshMdtype(new
NxmNxNshMdtypeBuilder().setValue(mdType).build()).build();
addExtension(match, NxmNxNshMdtypeKey.class, amMdtype);
}
private static void addExtension(MatchBuilder match, Class<? extends
ExtensionKey> extensionKey,
NxAugMatchNodesNodeTableFlow am) {
GeneralAugMatchNodesNodeTableFlow existingAugmentations = match
.getAugmentation(GeneralAugMatchNodesNodeTableFlow.class);
List<ExtensionList> extensions = null;
if (existingAugmentations != null) {
extensions = existingAugmentations.getExtensionList();
}
if (extensions == null) {
extensions = new ArrayList<>();
}
extensions.add(new ExtensionListBuilder().setExtensionKey(extensionKey)
.setExtension(new
ExtensionBuilder().addAugmentation(NxAugMatchNodesNodeTableFlow.class,
am).build())
.build());
GeneralAugMatchNodesNodeTableFlow generalAugMatchNodesNode = new
GeneralAugMatchNodesNodeTableFlowBuilder()
.setExtensionList(extensions).build();
match.addAugmentation(GeneralAugMatchNodesNodeTableFlow.class,
generalAugMatchNodesNode);
}
I get this exception repeatadly:
2017-04-26 11:13:33,365 | WARN | entLoopGroup-7-1 | OFDecoder
| 294 - org.opendaylight.openflowjava.openflow-protocol-impl -
0.10.0.SNAPSHOT | Message deserialization failed
java.lang.ClassCastException:
org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshMdtypeCaseValueBuilder$NshMdtypeCaseValueImpl
cannot be cast to
org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.NshNpCaseValue
at
org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.NshNpConvertor.convert(NshNpConvertor.java:41)[316:org.opendaylight.openflowplugin.extension-nicira:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match.NshNpConvertor.convert(NshNpConvertor.java:38)[316:org.opendaylight.openflowplugin.extension-nicira:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.openflow.md.core.extension.MatchExtensionHelper.processExtension(MatchExtensionHelper.java:199)[304:org.opendaylight.openflowplugin:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.openflow.md.core.extension.MatchExtensionHelper.injectExtension(MatchExtensionHelper.java:69)[304:org.opendaylight.openflowplugin:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MatchDeserializer.deserializeEntry(MatchDeserializer.java:102)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MatchDeserializer.deserialize(MatchDeserializer.java:59)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.match.MatchDeserializer.deserialize(MatchDeserializer.java:33)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.multipart.MultipartReplyFlowStatsDeserializer.deserialize(MultipartReplyFlowStatsDeserializer.java:88)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.multipart.MultipartReplyFlowStatsDeserializer.deserialize(MultipartReplyFlowStatsDeserializer.java:39)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.multipart.MultipartReplyMessageDeserializer.deserialize(MultipartReplyMessageDeserializer.java:43)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.deserialization.multipart.MultipartReplyMessageDeserializer.deserialize(MultipartReplyMessageDeserializer.java:22)[305:org.opendaylight.openflowplugin.impl:0.5.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.deserialize(DeserializationFactory.java:55)[294:org.opendaylight.openflowjava.openflow-protocol-impl:0.10.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:49)[294:org.opendaylight.openflowjava.openflow-protocol-impl:0.10.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:26)[294:org.opendaylight.openflowjava.openflow-protocol-impl:0.10.0.SNAPSHOT]
at
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)[141:io.netty.codec:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[139:io.netty.transport:4.1.8.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[141:io.netty.codec:4.1.8.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[141:io.netty.codec:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[139:io.netty.transport:4.1.8.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[141:io.netty.codec:4.1.8.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[141:io.netty.codec:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[139:io.netty.transport:4.1.8.Final]
at
io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)[143:io.netty.handler:4.1.8.Final]
at
org.opendaylight.openflowjava.protocol.impl.core.IdleHandler.channelRead(IdleHandler.java:39)[294:org.opendaylight.openflowjava.openflow-protocol-impl:0.10.0.SNAPSHOT]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)[139:io.netty.transport:4.1.8.Final]
at
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1018)[144:io.netty.transport-native-epoll:4.1.8.Final]
at
io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394)[144:io.netty.transport-native-epoll:4.1.8.Final]
at
io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:288)[144:io.netty.transport-native-epoll:4.1.8.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)[138:io.netty.common:4.1.8.Final]
at
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)[138:io.netty.common:4.1.8.Final]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Thanks,
Brady
_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev