Patch set for already merged change. 35/21635/1
authorBrady Johnson <[email protected]>
Tue, 2 Jun 2015 10:34:39 +0000 (12:34 +0200)
committerBrady Johnson <[email protected]>
Tue, 2 Jun 2015 10:34:39 +0000 (12:34 +0200)
- This change was already merged, so submitting patch-set separately
    https://git.opendaylight.org/gerrit/#/c/21612/

Change-Id: I66ec0b7e1231956b1e51ad932f7efef2b5de2872
Signed-off-by: Brady Johnson <[email protected]>
sfcofl2/src/main/java/org/opendaylight/sfc/l2renderer/SfcL2RspProcessor.java
sfcofl2/src/main/java/org/opendaylight/sfc/l2renderer/SffGraph.java

index 000ef915f7eff41d8baa3f7bbd51fa902eb4cd3c..5f792184b359e23a6e3433070a5a3fcd89badb25 100644 (file)
@@ -411,19 +411,25 @@ public class SfcL2RspProcessor {
             return;
         }
 
-        ServiceFunction sfSrc = sfcL2ProviderUtils.getServiceFunction(entry.getPrevSf(), entry.getPathId());
-        SfDataPlaneLocator sfSrcDpl = sfcL2ProviderUtils.getSfDataPlaneLocator(sfSrc, entry.getSrcSff());
+        SfDataPlaneLocator sfSrcDpl = null;
+        if(entry.getPrevSf() != null) {
+            sfSrcDpl = sfcL2ProviderUtils.getSfDataPlaneLocator(
+                    sfcL2ProviderUtils.getServiceFunction(entry.getPrevSf(), entry.getPathId()),
+                    entry.getSrcSff());
+        }
 
         SffDataPlaneLocator sffDstIngressDpl =
                 sfcL2ProviderUtils.getSffDataPlaneLocator(
                         sffDst, sffGraph.getSffIngressDpl(entry.getDstSff(), entry.getPathId()));
 
         // Configure the SFF-SFF NextHop using the sfDpl and sffDstIngressDpl
-        configureSffNextHopFlow(entry.getSrcSff(),
-                                sfSrcDpl,
-                                sffDstIngressDpl,
-                                entry.getPathId(),
-                                entry.getServiceIndex());
+        if(sfSrcDpl != null) {
+            configureSffNextHopFlow(entry.getSrcSff(),
+                                    sfSrcDpl,
+                                    sffDstIngressDpl,
+                                    entry.getPathId(),
+                                    entry.getServiceIndex());
+        }
 
         // Configure the SFF-SFF Transport Egress using the sffDstIngressDpl
         configureSffTransportEgressFlow(
index ddcaafabb5b8d412c433214b70b4136e52143efd..9878a6e827420bb9537c65fc12df72c610d255aa 100644 (file)
@@ -53,8 +53,14 @@ public class SffGraph {
         }
         @Override
         public String toString() {
-            return "SffGraphEntry [srcSff=" + srcSff + ", dstSff=" + dstSff + ", sf=" + sf + ", sfg=" + sfg
-                    + ", pathId=" + pathId + ", serviceIndex=" + serviceIndex + "]";
+            return "SffGraphEntry [srcSff=" + srcSff +
+                    ", dstSff=" + dstSff +
+                    ", sf=" + sf +
+                    ", prevSf=" + prevSf +
+                    ", sfg=" + sfg +
+                    ", pathId=" + pathId +
+                    ", serviceIndex=" + serviceIndex +
+                    "]";
         }
     }