Minor code fixes on sriov-related classes.

Change-Id: I6027116c0e49ecc25e15b243784aebc863016b33
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackDirectPortAddCommand.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackDirectPortAddCommand.java
index 974c2cc..c627a15 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackDirectPortAddCommand.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/cli/OpenstackDirectPortAddCommand.java
@@ -72,7 +72,6 @@
             log.error("Failed to retrieve interface name from a port {}", portId);
             return;
         } else if (intfName.equals(UNSUPPORTED_VENDOR)) {
-            log.warn("Failed to retrieve interface name from a port {} because of unsupported ovs-based sr-iov");
             return;
         }
 
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java
index f0b781a..642b686 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenStackSwitchingDirectPortProvider.java
@@ -122,95 +122,6 @@
         log.info("Stopped");
     }
 
-    private void processPortAdded(Port port) {
-        if (!port.getvNicType().equals(DIRECT)) {
-            return;
-        } else if (!port.isAdminStateUp() || port.getVifType().equals(UNBOUND)) {
-            log.trace("processPortAdded skipped because of status: {}, adminStateUp: {}, vifType: {}",
-                    port.getState(), port.isAdminStateUp(), port.getVifType());
-            return;
-        } else {
-            Optional<OpenstackNode> osNode = osNodeService.completeNodes(COMPUTE).stream()
-                    .filter(node -> node.hostname().equals(port.getHostId()))
-                    .findAny();
-            if (!osNode.isPresent()) {
-                log.error("processPortAdded failed because openstackNode doesn't exist that matches hostname {}",
-                        port.getHostId());
-                return;
-            }
-            log.trace("Retrieved openstackNode: {}", osNode.get().toString());
-
-            String intfName = getIntfNameFromPciAddress(port);
-            if (intfName == null) {
-                log.error("Failed to execute processPortAdded because of null interface name");
-                return;
-            } else if (intfName.equals(UNSUPPORTED_VENDOR)) {
-                log.warn("Failed to execute processPortAdded because of unsupported vendor for ovs-based sr-iov");
-                return;
-            }
-            log.trace("Retrieved interface name: {}", intfName);
-
-            try {
-                //If a VF port has been already added to the device for some reason, we remove it first,
-                //and the add VF so that other handlers run their logic.
-                if (hasIntfAleadyInDevice(osNode.get().intgBridge(),
-                        intfName, deviceService)) {
-                    log.trace("Device {} has already has VF interface {}, so remove first.",
-                            osNode.get().intgBridge(),
-                            intfName);
-                    osNodeService.removeVfPort(osNode.get(), intfName);
-                    //we wait 3000ms because the ovsdb client can't deal with removal/add at the same time.
-                    sleep(SLEEP_MS);
-                }
-            } catch (InterruptedException e) {
-                log.error("Exception occurred because of {}", e.toString());
-            }
-
-            osNodeService.addVfPort(osNode.get(), intfName);
-        }
-    }
-
-    private void processPortRemoved(Port port) {
-        if (!port.getvNicType().equals(DIRECT)) {
-            return;
-        } else if (instancePortService.instancePort(port.getId()) == null) {
-            log.trace("processPortRemoved skipped because no instance port exist for portId: {}", port.getId());
-            return;
-        } else {
-            InstancePort instancePort = instancePortService.instancePort(port.getId());
-            if (instancePort == null) {
-                return;
-            }
-            DeviceId deviceId = instancePort.deviceId();
-            if (deviceId == null) {
-                return;
-            }
-            OpenstackNode osNode = osNodeService.node(deviceId);
-            if (osNode == null) {
-                return;
-            }
-
-            Optional<org.onosproject.net.Port> removedPort = deviceService.getPorts(deviceId).stream()
-                    .filter(p -> Objects.equals(p.number(), instancePort.portNumber()))
-                    .findAny();
-
-            if (!removedPort.isPresent()) {
-                log.error("Failed to execute processPortAdded because port number doesn't exist");
-                return;
-            }
-
-            String intfName = removedPort.get().annotations().value(PORT_NAME);
-
-            if (intfName == null) {
-                log.error("Failed to execute processPortAdded because of null interface name");
-                return;
-            }
-            log.trace("Retrieved interface name: {}", intfName);
-
-            osNodeService.removeVfPort(osNode, intfName);
-        }
-    }
-
     private class InternalOpenstackNetworkListener implements OpenstackNetworkListener {
         private boolean isRelevantHelper() {
             return Objects.equals(localNodeId, leadershipService.getLeader(appId.name()));
@@ -252,6 +163,95 @@
 
             }
         }
+
+        private void processPortAdded(Port port) {
+            if (!port.getvNicType().equals(DIRECT)) {
+                return;
+            } else if (!port.isAdminStateUp() || port.getVifType().equals(UNBOUND)) {
+                log.trace("processPortAdded skipped because of status: {}, adminStateUp: {}, vifType: {}",
+                        port.getState(), port.isAdminStateUp(), port.getVifType());
+                return;
+            } else {
+                Optional<OpenstackNode> osNode = osNodeService.completeNodes(COMPUTE).stream()
+                        .filter(node -> node.hostname().equals(port.getHostId()))
+                        .findAny();
+                if (!osNode.isPresent()) {
+                    log.error("processPortAdded failed because openstackNode doesn't exist that matches hostname {}",
+                            port.getHostId());
+                    return;
+                }
+                log.trace("Retrieved openstackNode: {}", osNode.get().toString());
+
+                String intfName = getIntfNameFromPciAddress(port);
+                if (intfName == null) {
+                    log.error("Failed to execute processPortAdded because of null interface name");
+                    return;
+                } else if (intfName.equals(UNSUPPORTED_VENDOR)) {
+                    return;
+                }
+                log.trace("Retrieved interface name: {}", intfName);
+
+                try {
+                    //If the VF port has been already added to the device for some reason, we remove it first,
+                    //and then add VF so that other handlers run their logic.
+                    if (hasIntfAleadyInDevice(osNode.get().intgBridge(),
+                            intfName, deviceService)) {
+                        log.trace("Device {} has already has VF interface {}, so remove first.",
+                                osNode.get().intgBridge(),
+                                intfName);
+                        osNodeService.removeVfPort(osNode.get(), intfName);
+                        //we wait 3000ms because the ovsdb client can't deal with removal/add at the same time.
+                        sleep(SLEEP_MS);
+                    }
+                } catch (InterruptedException e) {
+                    log.error("Exception occurred because of {}", e.toString());
+                }
+
+                osNodeService.addVfPort(osNode.get(), intfName);
+            }
+        }
+
+        private void processPortRemoved(Port port) {
+            if (!port.getvNicType().equals(DIRECT)) {
+                return;
+            } else if (instancePortService.instancePort(port.getId()) == null) {
+                log.trace("processPortRemoved skipped because no instance port exist for portId: {}", port.getId());
+                return;
+            } else {
+                InstancePort instancePort = instancePortService.instancePort(port.getId());
+                if (instancePort == null) {
+                    return;
+                }
+                DeviceId deviceId = instancePort.deviceId();
+                if (deviceId == null) {
+                    return;
+                }
+                OpenstackNode osNode = osNodeService.node(deviceId);
+                if (osNode == null) {
+                    return;
+                }
+
+                Optional<org.onosproject.net.Port> removedPort = deviceService.getPorts(deviceId).stream()
+                        .filter(p -> Objects.equals(p.number(), instancePort.portNumber()))
+                        .findAny();
+
+                if (!removedPort.isPresent()) {
+                    log.error("Failed to execute processPortAdded because port number doesn't exist");
+                    return;
+                }
+
+                String intfName = removedPort.get().annotations().value(PORT_NAME);
+
+                if (intfName == null) {
+                    log.error("Failed to execute processPortAdded because of null interface name");
+                    return;
+                }
+                log.trace("Retrieved interface name: {}", intfName);
+
+                osNodeService.removeVfPort(osNode, intfName);
+            }
+        }
+
     }
 
     private class InternalOpenstackNodeListener implements OpenstackNodeListener {
diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
index 27e122d..f9791cd 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/util/OpenstackNetworkingUtil.java
@@ -363,6 +363,8 @@
      * @return interface name
      */
     public static String getIntfNameFromPciAddress(Port port) {
+        String intfName;
+
         if (port.getProfile() == null || port.getProfile().isEmpty()) {
             log.error("Port profile is not found");
             return null;
@@ -374,6 +376,15 @@
             return null;
         }
 
+        String vendorInfoForPort = String.valueOf(port.getProfile().get(PCI_VENDOR_INFO));
+
+        if (!portNamePrefixMap().containsKey(vendorInfoForPort)) {
+            log.debug("{} is an non-smart NIC prefix.", vendorInfoForPort);
+            return UNSUPPORTED_VENDOR;
+        }
+
+        String portNamePrefix = portNamePrefixMap().get(vendorInfoForPort);
+
         String busNumHex = port.getProfile().get(PCISLOT).toString().split(":")[1];
         String busNumDecimal = String.valueOf(Integer.parseInt(busNumHex, HEX_RADIX));
 
@@ -387,17 +398,6 @@
                 .split("\\.")[1];
         String functionNumDecimal = String.valueOf(Integer.parseInt(functionNumHex, HEX_RADIX));
 
-        String intfName;
-
-        String vendorInfoForPort = String.valueOf(port.getProfile().get(PCI_VENDOR_INFO));
-
-        if (!portNamePrefixMap().containsKey(vendorInfoForPort)) {
-            log.warn("Failed to retrieve the interface name because of unsupported prefix for vendor ID {}",
-                    vendorInfoForPort);
-            return UNSUPPORTED_VENDOR;
-        }
-        String portNamePrefix = portNamePrefixMap().get(vendorInfoForPort);
-
         if (functionNumDecimal.equals(ZERO_FUNCTION_NUMBER)) {
             intfName = portNamePrefix + busNumDecimal + PREFIX_DEVICE_NUMBER + deviceNumDecimal;
         } else {