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

Reply via email to