Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

Revision history [back]

click to hide/show revision 1
initial version

Error while creating the rendered Service Path

Hi,

I have a Openstack (Kilo) and ODL (Lithium SR3) setup. I am trying to setup a basic SFC via OVS. The desired flow is if traffic flows from Node A to Node B it should go via Node C. Node C is a SF and an interface on OVS is acting like SFF.

While creating RSP i am getting this error:-

    ERROR | lt-dispatcher-44 | SfcL2RspProcessor                | 315 - org.opendaylight.sfc.ofl2 - 0.1.3.Lithium-SR3 | RuntimeException in processRenderedServicePath:
    java.lang.RuntimeException: processSffDpls srcSff is null [SFF1-6jun-dev]
            at org.opendaylight.sfc.l2renderer.SfcL2RspProcessor.processSffDpls(SfcL2RspProcessor.java:813)[315:org.opendaylight.sfc.ofl2:0.1.3.Lithium-SR3]
            at org.opendaylight.sfc.l2renderer.SfcL2RspProcessor.processRenderedServicePath(SfcL2RspProcessor.java:121)[315:org.opendaylight.sfc.ofl2:0.1.3.Lithium-SR3]
            at org.opendaylight.sfc.l2renderer.SfcL2RspDataListener.onDataChanged(SfcL2RspDataListener.java:61)[315:org.opendaylight.sfc.ofl2:0.1.3.Lithium-SR3]
            at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)[161:org.opendaylight.controller.sal-binding-broker-impl:1.2.3.Lithium-SR3]
            at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.3.Lithium-SR3]
            at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)[183:org.opendaylight.controller.sal-distributed-datastore:1.2.3.Lithium-SR3]
            at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[175:org.opendaylight.controller.sal-clustering-commons:1.2.3.Lithium-SR3]
            at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[168:com.typesafe.akka.actor:2.3.10]
            at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[168:com.typesafe.akka.actor:2.3.10]
            at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[168:com.typesafe.akka.actor:2.3.10]
            at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[168:com.typesafe.akka.actor:2.3.10]
            at akka.actor.ActorCell.invoke(ActorCell.scala:487)[168:com.typesafe.akka.actor:2.3.10]
            at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)[168:com.typesafe.akka.actor:2.3.10]
            at akka.dispatch.Mailbox.run(Mailbox.scala:221)[168:com.typesafe.akka.actor:2.3.10]
            at akka.dispatch.Mailbox.exec(Mailbox.scala:231)[168:com.typesafe.akka.actor:2.3.10]
            at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
            at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.pollAndExecAll(ForkJoinPool.java:1253)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
            at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1346)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
            at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]
            at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[165:org.scala-lang.scala-library:2.10.4.v20140209-180020-VFINAL-b66a39653b]

Response is appreciated.

JSON

    SF
{
  "service-functions": {
    "service-function": [
      {
        "name": "SF1-6Jun-dev",
        "ip-mgmt-address": "10.0.21.4",
        "sf-data-plane-locator": [
          {
            "name": "sf1-dpl",
            "port": 6653,
            "ip": "192.168.60.5", -- IP of SF
            "transport": "service-locator:gre",
            "service-function-forwarder": "SFF1-6jun-dev"
          }
        ],
        "nsh-aware": true,
        "type": "service-function-type:dpi"
      }
    ]
  }
}

SFF
{
  "service-function-forwarders": {
    "service-function-forwarder": [
      {
        "name": "SFF1-6Jun-dev",
        "service-function-forwarder-ovs:ovs-bridge": {
          "bridge-name": "br-int" -- using default bridge
        },
        "service-function-dictionary": [
          {
            "name": "SF1-6Jun-dev",
            "sff-sf-data-plane-locator": {
              "port": 6653,
              "ip": "192.168.60.5",
              "transport": "service-locator:gre",
              "service-function-forwarder-ovs:ovs-bridge": {}
            },
            "type": "service-function-type:dpi"
          }
        ],
        "sff-data-plane-locator": [
          {
            "name": "sff1-dpl",
            "data-plane-locator": {
              "port": 6653,
              "ip": "10.0.21.4", -- OVS IP
              "transport": "service-locator:gre"
            },
            "service-function-forwarder-ovs:ovs-bridge": {}
          }
        ],
        "service-node": ""
      }
    ]
  }
}

SFC
{
  "service-function-chains": {
    "service-function-chain": [
      {
        "name": "SFC1-6Jun-dev",
        "sfc-service-function": [
          {
            "name": "dpi",
            "type": "service-function-type:dpi",
            "order": 0
          }
        ]
      }
    ]
  }
}

ACL
{
  "access-lists": {
    "access-list": [
      {
        "acl-name": "ACL1-6Jun-dev",
        "access-list-entries": [
          {
            "rule-name": "ACL1-6Jun-dev",
            "matches": {
              "input-interface": "tap9886ab3f-65", -- TAP interface of Node A
              "absolute": {
                "active": true
              },
              "destination-mac-address": "fa:16:3e:da:7d:64", -- Node B
              "source-mac-address": "fa:16:3e:86:d0:82" -- Node A
            },
            "actions": {
              "service-function-acl:rendered-service-path": "RSP1-6Jun-dev"
            }
          }
        ]
      }
    ]
  }
}

Classifier
{
  "service-function-classifiers": {
    "service-function-classifier": [
      {
        "name": "Cl1-6Jun-dev",
        "scl-service-function-forwarder": [
          {
            "name": "SFF1-6Jun-dev",
            "interface": "sff1-dpl"
          }
        ],
        "access-list": "ACL1-6Jun-dev"
      }
    ]
  }
}

SFP
{
  "service-function-paths": {
    "service-function-path": [
      {
        "name": "SFP1-6Jun-dev",
        "service-chain-name": "SFC1-6Jun-dev",
        "starting-index": 255,
        "transport-type": "service-locator:gre",
        "classifier": "Cl1-6Jun-dev"
      }
    ]
  }
}



RSP
{
  "rendered-service-paths": {
    "rendered-service-path": [
      {
        "name": "RSP1-6Jun-dev",
        "service-chain-name": "SFC1-6Jun-dev",
        "starting-index": 255,
        "rendered-service-path-hop": [
          {
            "hop-number": 0,
            "service-index": 255,
            "service-function-forwarder": "SFF1-6jun-dev",
            "service-function-name": "SF1-6Jun-dev"
          }
        ],
        "transport-type": "service-locator:gre",
        "path-id": 1,
        "parent-service-function-path": "SFP1-6Jun-dev"
      }
    ]
  }
}