Fix: support Container Network Addons (CNA) operator from kubevirt

Change-Id: I1146db430e70b9e626e80b8e2164e514e736179b
(cherry picked from commit fe3a90500f1d26dd1298d792f6601c7636ff25c2)
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtPodPortMapper.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtPodPortMapper.java
index 7b73f69..d38b5cb 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtPodPortMapper.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtPodPortMapper.java
@@ -61,9 +61,6 @@
     private final Logger log = getLogger(getClass());
 
     private static final String NETWORK_STATUS_KEY = "k8s.v1.cni.cncf.io/network-status";
-    private static final String NAME = "name";
-    private static final String IPS = "ips";
-    private static final String NETWORK_PREFIX = "default/";
     private static final long SLEEP_MS = 2000; // we wait 2s
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
@@ -164,6 +161,8 @@
             KubevirtNode node = kubevirtNodeService.node(pod.getSpec().getNodeName());
 
             if (node == null) {
+                log.warn("POD scheduled node name {} is not ready, " +
+                         "we wait for a while...", pod.getSpec().getNodeName());
                 try {
                     // we wait until all k8s nodes are available
                     sleep(SLEEP_MS);
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtVmWatcher.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtVmWatcher.java
index 308707e..0f74dfe 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtVmWatcher.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtVmWatcher.java
@@ -94,6 +94,7 @@
     private static final String MAC = "macAddress";
     private static final String IP = "ipAddress";
     private static final String DEFAULT = "default";
+    private static final String CNI_ZERO = "cni0";
     private static final String NETWORK_SUFFIX = "-net";
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY)
@@ -483,7 +484,7 @@
                     String network = intf.get(NAME).asText();
                     JsonNode macJson = intf.get(MAC);
 
-                    if (!DEFAULT.equals(network) && macJson != null) {
+                    if (!DEFAULT.equals(network) && !CNI_ZERO.equals(network) && macJson != null) {
                         String compact = StringUtils.substringBeforeLast(network, NETWORK_SUFFIX);
                         MacAddress mac = MacAddress.valueOf(macJson.asText());
                         result.put(mac, compact);
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
index e735282..bfb2916 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/util/KubevirtNetworkingUtil.java
@@ -361,7 +361,7 @@
                 JSONObject object = networkStatus.getJSONObject(i);
                 String name = object.getString(NAME);
                 KubevirtNetwork network = networks.stream()
-                        .filter(n -> (NETWORK_PREFIX + n.name()).equals(name))
+                        .filter(n -> (NETWORK_PREFIX + n.name()).equals(name) || (n.name()).equals(name))
                         .findAny().orElse(null);
                 if (network != null) {
                     String mac = object.getString(MAC);