Unit test for ovsdb.southbound.ovsdb.transact
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / api / EgressAclProvider.java
1 /*
2  * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.ovsdb.openstack.netvirt.api;
10
11 import java.util.List;
12
13 import org.opendaylight.neutron.spi.NeutronSecurityGroup;
14 import org.opendaylight.neutron.spi.Neutron_IPs;
15
16 /**
17  *  This interface allows egress Port Security flows to be written to devices.
18  */
19 public interface EgressAclProvider {
20
21     /**
22      * Program port security ACL.
23      *
24      * @param dpid the dpid
25      * @param segmentationId the segmentation id
26      * @param attachedMac the attached mac
27      * @param localPort the local port
28      * @param securityGroup the security group
29      * @param srcAddressList the src address associated with the vm port
30      * @param write  is this flow write or delete
31      */
32     void programPortSecurityAcl(Long dpid, String segmentationId, String attachedMac,
33                                        long localPort, NeutronSecurityGroup securityGroup,
34                                        List<Neutron_IPs> srcAddressList, boolean write);
35     /**
36      *  Program fixed egress ACL rules that will be associated with the VM port when a vm is spawned.
37      *
38      * @param dpid the dpid
39      * @param segmentationId the segmentation id
40      * @param attachedMac the attached mac
41      * @param localPort the local port
42      * @param srcAddressList the list of source ip address assigned to vm
43      * @param isLastPortinBridge is this the last port in the bridge
44      * @param isComputePort indicates whether this port is a compute port or not
45      * @param write is this flow writing or deleting
46      */
47     void programFixedSecurityAcl(Long dpid, String segmentationId,String attachedMac, long localPort,
48                                   List<Neutron_IPs> srcAddressList, boolean isLastPortinBridge,
49                                   boolean isComputePort, boolean write);
50 }