Use port's MacAddress to associate ONOS port and Kubernetes port
Change-Id: I0a53962c61ddea06f4fb6bc6ab2a6f756cbc0052
diff --git a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/util/K8sNetworkingUtil.java b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/util/K8sNetworkingUtil.java
index c55cb45..ebed390 100644
--- a/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/util/K8sNetworkingUtil.java
+++ b/apps/k8s-networking/app/src/main/java/org/onosproject/k8snetworking/util/K8sNetworkingUtil.java
@@ -123,7 +123,7 @@
* @param comparedName port name to be compared
* @return true if the compared port name exists, false otherwise
*/
- public static boolean existingContainerPort(String sourceName, String comparedName) {
+ public static boolean existingContainerPortByName(String sourceName, String comparedName) {
if (comparedName == null) {
return false;
}
@@ -140,6 +140,24 @@
}
/**
+ * Checks that whether the compared ports exist in the source MAC address.
+ *
+ * @param sourceMac source port MAC address
+ * @param comparedMac MAC address of port to be compared
+ * @return true if the compared port MAC address exists, false otherwise
+ */
+ public static boolean existingContainerPortByMac(String sourceMac, String comparedMac) {
+ if (comparedMac == null || sourceMac == null) {
+ return false;
+ }
+
+ String shortSourceMac = sourceMac.substring(3).toUpperCase();
+ String shortComparedMac = comparedMac.substring(3).toUpperCase();
+
+ return shortSourceMac.equals(shortComparedMac);
+ }
+
+ /**
* Returns the tunnel port number with specified net ID and kubernetes node.
*
* @param netId network ID