Implement Internal Routing Capability.
Change-Id: I0e3017f730a046f099c71116ded023aa2f45d154
(cherry picked from commit cc8e746f203dc457e5bb914ca4995910d7fc6e9e)
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java
index 808a323..30cca24 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtRoutingSnatHandler.java
@@ -77,6 +77,7 @@
import static org.onosproject.kubevirtnetworking.util.KubevirtNetworkingUtil.gatewayNodeForSpecifiedRouter;
import static org.onosproject.kubevirtnetworking.util.KubevirtNetworkingUtil.getRouterSnatIpAddress;
import static org.onosproject.kubevirtnetworking.util.KubevirtNetworkingUtil.getbrIntMacAddress;
+import static org.onosproject.kubevirtnetworking.util.KubevirtNetworkingUtil.getRouterForKubevirtPort;
import static org.onosproject.kubevirtnetworking.util.RulePopulatorUtil.CT_NAT_SRC_FLAG;
import static org.onosproject.net.AnnotationKeys.PORT_NAME;
import static org.slf4j.LoggerFactory.getLogger;
@@ -250,7 +251,7 @@
selector,
tBuilder.build(),
PRIORITY_STATEFUL_SNAT_RULE,
- PRE_FLAT_TABLE,
+ FLAT_TABLE,
install);
}
@@ -320,7 +321,7 @@
.niciraConnTrackTreatmentBuilder(driverService, gatewayNode.intgBridge())
.commit(false)
.natAction(true)
- .table((short) PRE_FLAT_TABLE)
+ .table((short) FLAT_TABLE)
.build();
TrafficTreatment treatment = DefaultTrafficTreatment.builder()
@@ -334,7 +335,7 @@
sBuilder.build(),
treatment,
PRIORITY_STATEFUL_SNAT_RULE,
- PRE_FLAT_TABLE,
+ FLAT_TABLE,
install);
router.internal().forEach(networkName -> {
@@ -549,7 +550,7 @@
return;
}
- KubevirtRouter router = routerForKubevirtPort(kubevirtPort);
+ KubevirtRouter router = getRouterForKubevirtPort(kubevirtRouterService, kubevirtPort);
if (router == null) {
return;
}
@@ -570,7 +571,7 @@
return;
}
- KubevirtRouter router = routerForKubevirtPort(kubevirtPort);
+ KubevirtRouter router = getRouterForKubevirtPort(kubevirtRouterService, kubevirtPort);
if (router == null) {
return;
}
@@ -591,7 +592,7 @@
return;
}
- KubevirtRouter router = routerForKubevirtPort(kubevirtPort);
+ KubevirtRouter router = getRouterForKubevirtPort(kubevirtRouterService, kubevirtPort);
if (router == null) {
return;
}
@@ -606,15 +607,5 @@
setStatefulSnatDownStreamRuleForKubevirtPort(gwNode, gatewaySnatIp, kubevirtPort, false);
}
}
-
- private KubevirtRouter routerForKubevirtPort(KubevirtPort kubevirtPort) {
- if (kubevirtPort.ipAddress() != null) {
- return kubevirtRouterService.routers().stream()
- .filter(r -> r.internal().contains(kubevirtPort.networkId()))
- .findAny().orElse(null);
- }
-
- return null;
- }
}
}