使用多个独立指令创建流

Create flow with multiple independent instructions

我想创建一个包含两条独立指令的流程:

这可能吗?

当我尝试添加此流程时:

Flow [_bufferId=4294967295, _cookie=FlowCookie [_value=3098476543630901248], _flags=FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=false], _flowName=sde-1-L2switch-2, _hardTimeout=0, _id=Uri [_value=sde-1-L2switch-2], _idleTimeout=0, _instructions=Instructions [_instruction=[Instruction [_instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action{getAction=OutputActionCase{getOutputAction=OutputAction{getMaxLength=65535, getOutputNodeConnector=Uri [_value=2], augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}], augmentation=[]], augmentation=[]], _key=InstructionKey [_order=0], _order=0, augmentation=[]], Instruction [_instruction=ApplyActionsCase [_applyActions=ApplyActions [_action=[Action [_action=PushVlanActionCase [_pushVlanAction=PushVlanAction [_ethernetType=33024, augmentation=[]], augmentation=[]], _key=ActionKey [_order=0], _order=0, augmentation=[]], Action [_action=SetFieldCase [_setField=SetField [_vlanMatch=VlanMatch [_vlanId=VlanId [_vlanId=VlanId [_value=999], _vlanIdPresent=true, augmentation=[]], augmentation=[]], augmentation=[]], augmentation=[]], _key=ActionKey [_order=1], _order=1, augmentation=[]], Action [_action=OutputActionCase [_outputAction=OutputAction [_maxLength=65535, _outputNodeConnector=Uri [_value=openflow:5:2], augmentation=[]], augmentation=[]], _key=ActionKey [_order=2], _order=2, augmentation=[]]], augmentation=[]], augmentation=[]], _key=InstructionKey [_order=1], _order=1, augmentation=[]]], augmentation=[]], _key=FlowKey [_id=Uri [_value=sde-1-L2switch-2]], _match=Match{getEthernetMatch=EthernetMatch{getEthernetDestination=EthernetDestination{getAddress=MacAddress [_value=00:00:00:00:00:02], augmentations={}}, getEthernetSource=EthernetSource{getAddress=MacAddress [_value=00:00:00:00:00:01], augmentations={}}, augmentations={}}, augmentations={}}, _priority=100, _tableId=0, augmentation=[]]

我收到以下错误:

org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl - 0.5.3 | Message deserialization failed
java.lang.IllegalStateException: Deserializer for key: msgVersion: 4 objectClass: org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage msgType: 65535 experimenterID: 8992 was not found - please verify that all needed deserializers ale loaded correctly
at org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl.getDeserializer(DeserializerRegistryImpl.java:69)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.ErrorMessageFactory.deserialize(ErrorMessageFactory.java:57)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at org.opendaylight.openflowjava.protocol.impl.deserialization.factories.ErrorMessageFactory.deserialize(ErrorMessageFactory.java:41)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory.deserialize(DeserializationFactory.java:54)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:51)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at org.opendaylight.openflowjava.protocol.impl.core.OFDecoder.decode(OFDecoder.java:27)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)[53:io.netty.codec:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[58:io.netty.transport:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[53:io.netty.codec:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[53:io.netty.codec:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[58:io.netty.transport:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)[53:io.netty.codec:4.1.8.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)[53:io.netty.codec:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[58:io.netty.transport:4.1.8.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)[56:io.netty.handler:4.1.8.Final]
at org.opendaylight.openflowjava.protocol.impl.core.IdleHandler.channelRead(IdleHandler.java:37)[317:org.opendaylight.openflowplugin.openflowjava.openflow-protocol-impl:0.5.3]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:129)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:642)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:565)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:479)[58:io.netty.transport:4.1.8.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:433)[58:io.netty.transport:4.1.8.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:858)[55:io.netty.common:4.1.8.Final]
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)[55:io.netty.common:4.1.8.Final]
at java.lang.Thread.run(Thread.java:748)[:1.8.0_144]

提前致谢! 最大值

已通过在一条指令中创建通用操作列表来修复。