Initial implementation of security group for kubevirt tenant network

Change-Id: If49d03021408a134be01267cc4eee9e0091e3c3d
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
index 850ac6f..3f19640 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
@@ -20,6 +20,8 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.PortNumber;
 
+import java.util.Set;
+
 /**
  * Representation of virtual port.
  */
@@ -54,6 +56,20 @@
     DeviceId deviceId();
 
     /**
+     * Returns the tenant device ID of the port.
+     *
+     * @return device ID
+     */
+    DeviceId tenantDeviceId();
+
+    /**
+     * Returns the result whether the port is associated with the tenant network.
+     *
+     * @return true if the port is associated with tenant network, false otherwise
+     */
+    boolean isTenant();
+
+    /**
      * Returns the port number of the port.
      *
      * @return port number
@@ -85,6 +101,21 @@
     KubevirtPort updateDeviceId(DeviceId updatedDeviceId);
 
     /**
+     * Returns the security group IDs.
+     *
+     * @return security group identifiers.
+     */
+    Set<String> securityGroups();
+
+    /**
+     * Returns new port instance with the given security groups.
+     *
+     * @param sgs security groups
+     * @return updated port
+     */
+    KubevirtPort updateSecurityGroups(Set<String> sgs);
+
+    /**
      * Builder of new port.
      */
     interface Builder {
@@ -135,5 +166,13 @@
          * @return port builder
          */
         Builder portNumber(PortNumber portNumber);
+
+        /**
+         * Returns port builder with supplied security group identifiers.
+         *
+         * @param securityGroups security group identifiers
+         * @return port builder
+         */
+        Builder securityGroups(Set<String> securityGroups);
     }
 }