Hi all,
I’m trying to port the NoviFlow to the latest master version of ODL and
I have run into an issue.
I always got :
2017-10-02 16:01:49,757 | WARN | entLoopGroup-9-1 | ActionUtil
| 320 - org.opendaylight.openflowplugin.impl - 0.6.0.SNAPSHOT |
Serializer for action interface
org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.noviflow.action.rev170317.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NfxActionPopVxlanHeaderNodesNodeTableFlowApplyActionsCase
for version 4 not found.
From the stack trace:
java.lang.IllegalStateException: Serializer for key: msgVersion: 4 objectType:
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action
action type:
org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nfx.action.rev170314.action.container.action.choice.ActionPopVxlanHeader
experimenterID: 4278190082 was not found - please verify that you are using
correct message combination (e.g. OF v1.0 message to OF v1.0 device)
at
org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl.getSerializer(SerializerRegistryImpl.java:72)
at
org.opendaylight.openflowplugin.impl.protocol.serialization.util.ActionUtil.lambda$null$0(ActionUtil.java:57)
at java.util.Optional.map(Optional.java:215)[:1.8.0_121]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.util.ActionUtil.lambda$writeAction$1(ActionUtil.java:53)
at java.util.Optional.flatMap(Optional.java:241)[:1.8.0_121]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.util.ActionUtil.writeAction(ActionUtil.java:49)
at
org.opendaylight.openflowplugin.impl.protocol.serialization.instructions.AbstractActionInstructionSerializer.lambda$null$1(AbstractActionInstructionSerializer.java:45)
at
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)[:1.8.0_121]
at
java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352)[:1.8.0_121]
at
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)[:1.8.0_121]
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)[:1.8.0_121]
at
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)[:1.8.0_121]
at
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)[:1.8.0_121]
at
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)[:1.8.0_121]
at
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)[:1.8.0_121]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.instructions.AbstractActionInstructionSerializer.lambda$writeActions$2(AbstractActionInstructionSerializer.java:44)
at java.util.Optional.map(Optional.java:215)[:1.8.0_121]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.instructions.AbstractActionInstructionSerializer.writeActions(AbstractActionInstructionSerializer.java:40)
at
org.opendaylight.openflowplugin.impl.protocol.serialization.instructions.ApplyActionsInstructionSerializer.serialize(ApplyActionsInstructionSerializer.java:23)
at
org.opendaylight.openflowplugin.impl.protocol.serialization.instructions.ApplyActionsInstructionSerializer.serialize(ApplyActionsInstructionSerializer.java:17)
at
org.opendaylight.openflowplugin.impl.protocol.serialization.util.InstructionUtil.writeInstruction(InstructionUtil.java:41)
at
org.opendaylight.openflowplugin.impl.protocol.serialization.messages.FlowMessageSerializer.lambda$null$5(FlowMessageSerializer.java:197)[320:org.opendaylight.openflowplugin.impl:0.6.0.SNAPSHOT]
at
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)[:1.8.0_121]
at
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)[:1.8.0_121]
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)[:1.8.0_121]
at
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)[:1.8.0_121]
at java.util.ArrayList.forEach(ArrayList.java:1249)[:1.8.0_121]
at
java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:390)[:1.8.0_121]
at java.util.stream.Sink$ChainedReference.end(Sink.java:258)[:1.8.0_121]
at
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)[:1.8.0_121]
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)[:1.8.0_121]
at
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)[:1.8.0_121]
at
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)[:1.8.0_121]
at
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)[:1.8.0_121]
at
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)[:1.8.0_121]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.messages.FlowMessageSerializer.lambda$writeInstructions$6(FlowMessageSerializer.java:197)[320:org.opendaylight.openflowplugin.impl:0.6.0.SNAPSHOT]
at java.util.Optional.ifPresent(Optional.java:159)[:1.8.0_121]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.messages.FlowMessageSerializer.writeInstructions(FlowMessageSerializer.java:189)[320:org.opendaylight.openflowplugin.impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.messages.FlowMessageSerializer.writeFlow(FlowMessageSerializer.java:128)[320:org.opendaylight.openflowplugin.impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.messages.FlowMessageSerializer.serialize(FlowMessageSerializer.java:100)[320:org.opendaylight.openflowplugin.impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowplugin.impl.protocol.serialization.messages.FlowMessageSerializer.serialize(FlowMessageSerializer.java:64)[320:org.opendaylight.openflowplugin.impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory.messageToBuffer(SerializationFactory.java:35)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:45)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.OFEncoder.encode(OFEncoder.java:28)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)[94:io.netty.codec:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:739)[99:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:731)[99:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:817)[99:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:724)[99:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:705)[99:io.netty.transport:4.1.8.Final]
at
io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:1017)[99:io.netty.transport:4.1.8.Final]
at
io.netty.channel.AbstractChannel.write(AbstractChannel.java:286)[99:io.netty.transport:4.1.8.Final]
at
org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractOutboundQueueManager.writeMessage(AbstractOutboundQueueManager.java:260)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.connection.OutboundQueueManager.writeMessage(OutboundQueueManager.java:109)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractStackedOutboundQueue.writeEntries(AbstractStackedOutboundQueue.java:151)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractOutboundQueueManager.writeAndFlush(AbstractOutboundQueueManager.java:327)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractOutboundQueueManager.flush(AbstractOutboundQueueManager.java:300)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractOutboundQueueManager$1.run(AbstractOutboundQueueManager.java:85)[326:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
at
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)[96:io.netty.common:4.1.8.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasksFrom(SingleThreadEventExecutor.java:379)[96:io.netty.common:4.1.8.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354)[96:io.netty.common:4.1.8.Final]
at
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:436)[99:io.netty.transport:4.1.8.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)[96:io.netty.common:4.1.8.Final]
at
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)[96:io.netty.common:4.1.8.Final]
In SerializerRegistryImpl.java
@Override
public void init() {
registry = new HashMap<>();
// Openflow message type serializers
MessageFactoryInitializer.registerMessageSerializers(this);
// Register Additional serializers
AdditionalMessageFactoryInitializer.registerMessageSerializers(this);
// match structure serializers
registerSerializer(new MessageTypeKey<>(OF10, MatchV10.class), new
OF10MatchSerializer());
registerSerializer(new MessageTypeKey<>(OF13, Match.class), new
OF13MatchSerializer());
// match entry serializers
MatchEntriesInitializer.registerMatchEntrySerializers(this);
// action serializers
ActionsInitializer.registerActionSerializers(this);
// instruction serializers
InstructionsInitializer.registerInstructionSerializers(this);
}
It seems that it does not init the experimenters. So my experimenters are not
found. Is there something that has changed since the last release which the
experimenters were working?
Thanks for your help,
Yann Bourdeau, M.Ing.
Senior Software Developer
438-499-4607
[email protected]
_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev