Hi Yann,
You might hit this issue if the registration for experimenters are not done. If 
its vendor specific extension, then you need to register yourself before using 
it.
For example, bundle experimenters are registered in OnfExtensionProvider.java.

switchConnectionProvider.registerExperimenterMessageSerializer(
        new ExperimenterIdTypeSerializerKey<>(OFConstants.OFP_VERSION_1_3,
                                              OnfConstants.ONF_EXPERIMENTER_ID,
                                              
OnfConstants.ONF_ET_BUNDLE_CONTROL,
                                             ExperimenterDataOfChoice.class),
        new BundleControlFactory());


You should have similar code in previous release which you might have missed to 
port. Could you please check that.
Regards,
Arun

From: [email protected] 
[mailto:[email protected]] On Behalf Of yann 
bourdeau
Sent: Tuesday, October 03, 2017 3:49 AM
To: Yrineu Rodrigues <[email protected]>
Cc: [email protected]; Arun Paneri (NoviFlow) 
<[email protected]>
Subject: Re: [openflowplugin-dev] Problem with NoviFlow experimenters in master 
version current.

Hi Yrineu,

            Thanks for taking time to reply. It is not with OVS but NoviFlow 
switches. I already set the version to 1.3 in the switch. Like I said it was 
working the previous release, something must have changed somewhere but I was 
not able to pinpoint it yet.




Le 2 oct. 2017 à 17:05, Yrineu Rodrigues 
<[email protected]<mailto:[email protected]>> a écrit :

Hi Yann,

Thanks for sharing that issue with us! I faced an issue like that in the past 
when I had tried to configure ODL openflow plugin with my OVS instance. I don't 
know if you are using OVS, but if yes, it may can be solved if you manually set 
OF version as 1.3 on your OVS instance.

I hope that it can help you.

On Mon, Oct 2, 2017 at 5:50 PM, yann bourdeau 
<[email protected]<mailto:[email protected]>> wrote:
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<tel:(438)%20499-4607>
[email protected]<mailto:[email protected]>




_______________________________________________
openflowplugin-dev mailing list
[email protected]<mailto:[email protected]>
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev



--
Yrineu Rodrigues
Software Engineer

SERRO
www.serro.com<http://www.serro.com/>
LinkedIn • Facebook • YouTube • Vimeo • Twitter  @TeamSerro

Disclaimer: This e-mail message contains information intended solely for the 
intended recipient and is confidential or private in nature. If you are not the 
intended recipient, you must not read, disseminate, distribute, copy or 
otherwise use this message or any file attached to this message. Any such 
unauthorized use is prohibited and may be unlawful. If you have received this 
message in error, please notify the sender immediately by email, facsimile or 
telephone and then delete the original message from your machine.

San Francisco  |  Santa Clara  |  New York  |  Toronto  |  Mumbai  |  Pune

Yann Bourdeau, M.Ing.
Senior Software Developer
438-499-4607
[email protected]<mailto:[email protected]>



_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

Reply via email to