From e8a0fd77d1681a74d07d9274c8653190cc283a6f Mon Sep 17 00:00:00 2001 From: Hajime Aizawa Date: Mon, 8 Feb 2016 19:30:48 +0900 Subject: [PATCH 1/2] bugfix, federator edge_actions --- .../odenos/component/federator/FederatorOnFlow.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java b/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java index 0c28577..d42e146 100644 --- a/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java +++ b/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java @@ -347,6 +347,11 @@ protected void doFlowAddedSelect(BasicFlow fedFlow) { continue; } edgeNode = fedLink.getDstNode(); + + // convert action + orgFlow.putEdgeActions( + convertAction2(fedNwId, fedLink.getSrcNode(), fedLink.getSrcPort(), fedFlow.getEdgeActions())); + // convert path String orgPathId = convertPath(fedNwId, fedPathId); if (orgPathId != null) { @@ -354,9 +359,6 @@ protected void doFlowAddedSelect(BasicFlow fedFlow) { continue; } - // convert action - orgFlow.putEdgeActions( - convertAction2(fedNwId, fedLink.getSrcNode(), fedLink.getSrcPort(), orgFlow.getEdgeActions())); doFlowAddedSetFlowRegister(orgNwId, orgFlow); // next network From 5f73de45d33dd7aa999d9228b240c875874784d7 Mon Sep 17 00:00:00 2001 From: Hajime Aizawa Date: Sun, 14 Feb 2016 12:43:30 +0900 Subject: [PATCH 2/2] bugfix, federator edge_actions --- .../component/federator/FederatorOnFlow.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java b/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java index d42e146..c9bdcdf 100644 --- a/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java +++ b/src/main/java/org/o3project/odenos/component/federator/FederatorOnFlow.java @@ -325,6 +325,7 @@ protected void doFlowAddedSelect(BasicFlow fedFlow) { BasicFlow orgFlow = fedFlow.clone(); orgFlow.getPath().clear(); + orgFlow.getEdgeActions().clear(); orgFlow.setVersion("0"); // convert match @@ -349,8 +350,14 @@ protected void doFlowAddedSelect(BasicFlow fedFlow) { edgeNode = fedLink.getDstNode(); // convert action - orgFlow.putEdgeActions( - convertAction2(fedNwId, fedLink.getSrcNode(), fedLink.getSrcPort(), fedFlow.getEdgeActions())); + Map> newEdgeActions = + convertAction2(fedNwId, fedLink.getSrcNode(), fedLink.getSrcPort(), fedFlow.getEdgeActions()); + + Map> orgEdgeActions = orgFlow.getEdgeActions(); + for (Map.Entry> entry : newEdgeActions.entrySet()) { + orgEdgeActions.put(entry.getKey(), entry.getValue()); + } + orgFlow.putEdgeActions(orgEdgeActions); // convert path String orgPathId = convertPath(fedNwId, fedPathId); @@ -367,6 +374,7 @@ protected void doFlowAddedSelect(BasicFlow fedFlow) { orgFlow = fedFlow.clone(); orgFlow.getPath().clear(); + orgFlow.getEdgeActions().clear(); orgFlow.setVersion("0"); // set match @@ -380,8 +388,7 @@ protected void doFlowAddedSelect(BasicFlow fedFlow) { // convert action try { - orgFlow.putEdgeActions( - convertAction(fedNwId, edgeNode, orgFlow.getEdgeActions())); + orgFlow.putEdgeActions(convertAction(fedNwId, edgeNode, fedFlow.getEdgeActions())); } catch (Exception e) { log.warn("failed convert flow's actions."); }