Fix: do not handle non-smart NIC capable port at direct port provider

Change-Id: Ife763092da8d4ad8f361dbb7cfe5532c54c24ebe
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 615de0e..16dcc21 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
@@ -137,6 +137,7 @@
 import static org.onlab.packet.Ip4Address.valueOf;
 import static org.onosproject.net.AnnotationKeys.PORT_NAME;
 import static org.onosproject.openstacknetworking.api.Constants.DEFAULT_GATEWAY_MAC_STR;
+import static org.onosproject.openstacknetworking.api.Constants.DIRECT;
 import static org.onosproject.openstacknetworking.api.Constants.FLOATING_IP_FORMAT;
 import static org.onosproject.openstacknetworking.api.Constants.NETWORK_FORMAT;
 import static org.onosproject.openstacknetworking.api.Constants.OPENSTACK_NETWORKING_REST_PATH;
@@ -399,6 +400,24 @@
     }
 
     /**
+     * Checks whether the given openstack port is smart NIC capable.
+     *
+     * @param port openstack port
+     * @return true if the given port is smart NIC capable, false otherwise
+     */
+    public static boolean isSmartNicCapable(Port port) {
+        if (port.getProfile() != null && port.getvNicType().equals(DIRECT)) {
+            String vendorInfo = String.valueOf(port.getProfile().get(PCI_VENDOR_INFO));
+            if (portNamePrefixMap().containsKey(vendorInfo)) {
+                log.debug("Port {} is a Smart NIC capable port.", port.getId());
+                return true;
+            }
+            return false;
+        }
+        return false;
+    }
+
+    /**
      * Extract the interface name with the supplied port.
      *
      * @param port port