Support distributed virtual router (DVR) at kubernetes
Change-Id: I6dfa1ad0d2161443e37fa80901d5ababbec6f74e
diff --git a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
index 4e430a3..551a339 100644
--- a/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
+++ b/apps/k8s-node/api/src/main/java/org/onosproject/k8snode/api/DefaultK8sNode.java
@@ -32,6 +32,8 @@
import static com.google.common.base.Preconditions.checkArgument;
import static org.onosproject.k8snode.api.Constants.DEFAULT_CLUSTER_NAME;
+import static org.onosproject.k8snode.api.Constants.DEFAULT_EXTERNAL_BRIDGE_MAC;
+import static org.onosproject.k8snode.api.Constants.DEFAULT_EXTERNAL_GATEWAY_MAC;
import static org.onosproject.k8snode.api.Constants.EXTERNAL_BRIDGE;
import static org.onosproject.k8snode.api.Constants.GENEVE_TUNNEL;
import static org.onosproject.k8snode.api.Constants.GRE_TUNNEL;
@@ -414,6 +416,14 @@
}
@Override
+ public PortNumber extIntfPortNum() {
+ if (this.extIntf == null) {
+ return null;
+ }
+ return portNumber(extBridge, extIntf());
+ }
+
+ @Override
public MacAddress intgBridgeMac() {
return macAddress(intgBridge, intgBridgeName());
}
@@ -425,7 +435,11 @@
@Override
public MacAddress extBridgeMac() {
- return macAddress(extBridge, extBridgeName());
+ if (MacAddress.valueOf(DEFAULT_EXTERNAL_GATEWAY_MAC).equals(extGatewayMac())) {
+ return MacAddress.valueOf(DEFAULT_EXTERNAL_BRIDGE_MAC);
+ } else {
+ return macAddress(extBridge, extBridgeName());
+ }
}
@Override