Details
-
Bug
-
Status: Resolved
-
Resolution: Won't Do
-
unspecified
-
None
-
None
-
Operating System: Linux
Platform: PC
-
5583
-
Normal
Description
Hello everyone!
I 'm trying to deploy the *SFCOFL2 Tutorial* which is placed in the user-guide of berrylium.
I have made it with Lithium odl and I could take the correct flows using these commands on mininet VM:
sudo ovs-ofctl -O OpenFlow13 dump-flows s2
sudo ovs-ofctl -O OpenFlow13 dump-flows s3
Now, I 'm using the stable/beryllium branch of sfc project.
I 'm creating the same topology in the mininet VM:
*sudo mn --topo linear,4 --mac --controller remote,ip=<ip>,port=<port> --switch ovsk,protocols=OpenFlow13*
I have fixed my json data to create correctly the SFFs with their related SFs DPL and I 'm seeing them to the SFC UI.
The problem is when I create the RSP and the random path-id is bigger than 63!!
If randomly the path-id is for example 40 the flows are created succesfuly in the s2 and s3 bridges, but if the path-id is 174 or something bigger than 63 the following exception is appeared:
2016-03-22 16:43:06,454 | ERROR | -dispatcher-1907 | SfcL2RspProcessor | 333 - org.opendaylight.sfc.ofl2 - 0.2.1.SNAPSHOT | RuntimeException in processRenderedServicePath:
java.lang.IllegalArgumentException: Invalid range: 174, expected: [[0\u202563]].
at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Dscp.check_valueRange(Dscp.java:25)[125:org.opendaylight.mdsal.model.ietf-inet-types:2010.9.24.8_1-SNAPSHOT]
at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Dscp.<init>(Dscp.java:31)[125:org.opendaylight.mdsal.model.ietf-inet-types:2010.9.24.8_1-SNAPSHOT]
at org.opendaylight.sfc.util.openflow.SfcOpenflowUtils.addMatchDscp(SfcOpenflowUtils.java:341)[320:org.opendaylight.sfc.openflow-utils:0.2.1.SNAPSHOT]
at org.opendaylight.sfc.l2renderer.openflow.SfcL2FlowProgrammerOFimpl.configurePathMapperSfFlow(SfcL2FlowProgrammerOFimpl.java:686)[333:org.opendaylight.sfc.ofl2:0.2.1.SNAPSHOT]
at org.opendaylight.sfc.l2renderer.openflow.SfcL2FlowProgrammerOFimpl.configureVlanPathMapperFlow(SfcL2FlowProgrammerOFimpl.java:669)[333:org.opendaylight.sfc.ofl2:0.2.1.SNAPSHOT]
at org.opendaylight.sfc.l2renderer.SfcRspProcessorMpls.configureSfPathMapperFlow(SfcRspProcessorMpls.java:107)[333:org.opendaylight.sfc.ofl2:0.2.1.SNAPSHOT]
at org.opendaylight.sfc.l2renderer.SfcL2RspProcessor.configurePathMapperFlows(SfcL2RspProcessor.java:258)[333:org.opendaylight.sfc.ofl2:0.2.1.SNAPSHOT]
at org.opendaylight.sfc.l2renderer.SfcL2RspProcessor.processRenderedServicePath(SfcL2RspProcessor.java:105)[333:org.opendaylight.sfc.ofl2:0.2.1.SNAPSHOT]
at org.opendaylight.sfc.l2renderer.SfcL2RspDataListener.onDataChanged(SfcL2RspDataListener.java:62)[333:org.opendaylight.sfc.ofl2:0.2.1.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)[173:org.opendaylight.controller.sal-binding-broker-impl:1.3.1.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)[198:org.opendaylight.controller.sal-distributed-datastore:1.3.1.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)[198:org.opendaylight.controller.sal-distributed-datastore:1.3.1.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[194:org.opendaylight.controller.sal-clustering-commons:1.3.1.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[183:com.typesafe.akka.actor:2.3.14]
at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[183:com.typesafe.akka.actor:2.3.14]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[183:com.typesafe.akka.actor:2.3.14]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[183:com.typesafe.akka.actor:2.3.14]
at akka.actor.ActorCell.invoke(ActorCell.scala:487)[183:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[183:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.Mailbox.run(Mailbox.scala:220)[183:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)[183:com.typesafe.akka.actor:2.3.14]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[180:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[180:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[180:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[180:org.scala-lang.scala-library:2.11.7.v20150622-112736-1fbce4612c]