From a94e3389720ffd0516a3a736d801c596a4e54f45 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jaime=20Caama=C3=B1o=20Ruiz?= Date: Thu, 4 Jan 2018 10:40:07 +0100 Subject: [PATCH] Set reverse path flag on RSP MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: I1577f2c08c7fda55412239d0a73929d59a15e56b Signed-off-by: Jaime Caamaño Ruiz --- .../sfc/provider/api/SfcProviderRenderedPathAPI.java | 2 ++ .../org/opendaylight/sfc/provider/SfcProviderRpcTest.java | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/sfc-provider/src/main/java/org/opendaylight/sfc/provider/api/SfcProviderRenderedPathAPI.java b/sfc-provider/src/main/java/org/opendaylight/sfc/provider/api/SfcProviderRenderedPathAPI.java index 74b191f28..86fda863f 100644 --- a/sfc-provider/src/main/java/org/opendaylight/sfc/provider/api/SfcProviderRenderedPathAPI.java +++ b/sfc-provider/src/main/java/org/opendaylight/sfc/provider/api/SfcProviderRenderedPathAPI.java @@ -545,6 +545,7 @@ public final class SfcProviderRenderedPathAPI { renderedServicePathBuilder.setParentServiceFunctionPath(serviceFunctionPath.getName()); renderedServicePathBuilder.setContextMetadata(serviceFunctionPath.getContextMetadata()); renderedServicePathBuilder.setVariableMetadata(serviceFunctionPath.getVariableMetadata()); + renderedServicePathBuilder.setReversePath(false); if (serviceFunctionPath.getTransportType() == null) { // TODO this is a temporary workaround to a YANG problem @@ -634,6 +635,7 @@ public final class SfcProviderRenderedPathAPI { revRenderedServicePathBuilder.setRenderedServicePathHop(revRenderedServicePathHopArrayList); revRenderedServicePathBuilder.setSymmetricPathId(renderedServicePath.getPathId()); + revRenderedServicePathBuilder.setReversePath(true); InstanceIdentifier rspIID; diff --git a/sfc-provider/src/test/java/org/opendaylight/sfc/provider/SfcProviderRpcTest.java b/sfc-provider/src/test/java/org/opendaylight/sfc/provider/SfcProviderRpcTest.java index c3534a216..6f4f60959 100644 --- a/sfc-provider/src/test/java/org/opendaylight/sfc/provider/SfcProviderRpcTest.java +++ b/sfc-provider/src/test/java/org/opendaylight/sfc/provider/SfcProviderRpcTest.java @@ -242,6 +242,7 @@ public class SfcProviderRpcTest extends AbstractSfcRendererServicePathAPITest { assertEquals(renderedServicePath.getName(), RSP_NAME); assertEquals(5, renderedServicePath.getRenderedServicePathHop().size()); + assertFalse("The path must not be the reverse of the symmetric", renderedServicePath.isReversePath()); assertHop(0, new SffName("SFF1"), renderedServicePath.getRenderedServicePathHop().get(0)); assertHop(1, new SffName("SFF2"), renderedServicePath.getRenderedServicePathHop().get(1)); @@ -287,14 +288,19 @@ public class SfcProviderRpcTest extends AbstractSfcRendererServicePathAPITest { } // get created rendered service paths + RspName rspName = new RspName(rpcResult.getResult().getName()); RenderedServicePath createdRsp = null; if (rpcResult != null) { createdRsp = SfcProviderRenderedPathAPI - .readRenderedServicePath(new RspName(rpcResult.getResult().getName())); + .readRenderedServicePath(rspName); } assertNotNull("Must not be null", createdRsp); assertNotNull("RSP is symmetric", createdRsp.getSymmetricPathId()); + + RspName reverseRspName = SfcProviderRenderedPathAPI.getReversedRspName(rspName); + RenderedServicePath reverseRsp = SfcProviderRenderedPathAPI.readRenderedServicePath(reverseRspName); + assertTrue("The path must be the reverse of the symmetric", reverseRsp.isReversePath()); } private void assertHop(long hopNumber, SffName name, RenderedServicePathHop hop) { -- 2.36.6