Merge "L3: Add eth to br-ex"
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / api / EgressAclProvider.java
index 1a933d60b1573ad58a2de3a3a85c910698cc5179..069fd6c24dcc967a41a259bfed8efbd15b8b4c05 100644 (file)
@@ -5,31 +5,50 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
+
 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;
 
-import org.opendaylight.neutron.spi.NeutronSecurityGroup;
-import org.opendaylight.neutron.spi.Neutron_IPs;
+import java.util.List;
 
 /**
- *  This interface allows egress Port Security flows to be written to devices
+ *  This interface allows egress Port Security flows to be written to devices.
  */
 public interface EgressAclProvider {
 
     /**
-     * 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 portUuid the uuid of the port.
+     * @param write  is this flow write or delete
+     */
+    void programPortSecurityGroup(Long dpid, String segmentationId, String attachedMac,
+                                       long localPort, NeutronSecurityGroup securityGroup,
+                                       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 programPortSecurityACL(Long dpid, String segmentationId, String attachedMac,
-                                long localPort, NeutronSecurityGroup securityGroup);
+    public void programPortSecurityRule(Long dpid, String segmentationId, String attachedMac,
+                                        long localPort, NeutronSecurityRule portSecurityRule,
+                                        Neutron_IPs vmIp, boolean write) ;
     /**
-     *  Program fixed egress ACL rules that will be associated with the VM port when a vm is spawned.
+     *  Program fixed egress security group rules that will be associated with the VM port when a vm is spawned.
      *
      * @param dpid the dpid
      * @param segmentationId the segmentation id
@@ -40,6 +59,7 @@ public interface EgressAclProvider {
      * @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, List<Neutron_IPs> srcAddressList, boolean isLastPortinBridge, boolean isComputePort, boolean write);
-}
+    void programFixedSecurityGroup(Long dpid, String segmentationId,String attachedMac, long localPort,
+                                  List<Neutron_IPs> srcAddressList, boolean isLastPortinBridge,
+                                  boolean isComputePort, boolean write);
+}
\ No newline at end of file