Added support for remote security group update.
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / api / IngressAclProvider.java
index 5810f95d3860c7e2ff77adb2320dd4d33ca308cb..6121adaf1b7e48d9608996f902e1572b8c9ee6a3 100644 (file)
@@ -8,9 +8,8 @@
 
 package org.opendaylight.ovsdb.openstack.netvirt.api;
 
-import java.util.List;
-
 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronSecurityGroup;
+import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronSecurityRule;
 import org.opendaylight.ovsdb.openstack.netvirt.translator.Neutron_IPs;
 
 /**
@@ -19,19 +18,33 @@ import org.opendaylight.ovsdb.openstack.netvirt.translator.Neutron_IPs;
 public interface IngressAclProvider {
 
     /**
-     * Program port security ACL.
+     * Program port security Group.
      *
      * @param dpid the dpid
      * @param segmentationId the segmentation id
      * @param attachedMac the attached mac
      * @param localPort the local port
      * @param securityGroup the security group
-     * @param srcAddressList the src address associated with the vm port
+     * @param portUuid the uuid of the port.
      * @param write  is this flow write or delete
      */
-    void programPortSecurityAcl(Long dpid, String segmentationId, String attachedMac,
+    void programPortSecurityGroup(Long dpid, String segmentationId, String attachedMac,
                                        long localPort, NeutronSecurityGroup securityGroup,
-                                       List<Neutron_IPs> srcAddressList, boolean write);
+                                       String portUuid, boolean write);
+    /**
+     * Program port security rule.
+     *
+     * @param dpid the dpid
+     * @param segmentationId the segmentation id
+     * @param attachedMac the attached mac
+     * @param localPort the local port
+     * @param portSecurityRule the security rule
+     * @param vmIp the ip of the remote vm if it has a remote security group.
+     * @param write  is this flow write or delete
+     */
+    void programPortSecurityRule(Long dpid, String segmentationId, String attachedMac,
+                                 long localPort, NeutronSecurityRule portSecurityRule,
+                                 Neutron_IPs vmIp, boolean write);
     /**
      * Program fixed ingress ACL rules that will be associated with the VM port when a vm is spawned.
      * *
@@ -43,6 +56,6 @@ public interface IngressAclProvider {
      * @param isComputePort indicates whether this port is a compute port or not
      * @param write is this flow writing or deleting
      */
-    void programFixedSecurityAcl(Long dpid, String segmentationId, String attachedMac, long localPort,
+    void programFixedSecurityGroup(Long dpid, String segmentationId, String attachedMac, long localPort,
                                   boolean isLastPortinSubnet, boolean isComputePort, boolean write);
 }
\ No newline at end of file