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