Merge "Remove incorrect or unnecessary relativePaths"
[netvirt.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / api / IngressAclProvider.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 org.opendaylight.neutron.spi.NeutronSecurityGroup;
12
13 /**
14  *  This interface allows ingress Port Security flows to be written to devices
15  */
16 public interface IngressAclProvider {
17
18     /**
19      * Program port security ACL.
20      *
21      * @param dpid the dpid
22      * @param segmentationId the segmentation id
23      * @param attachedMac the attached mac
24      * @param localPort the local port
25      * @param securityGroup the security group
26      */
27     void programPortSecurityACL(Long dpid, String segmentationId, String attachedMac,
28                                 long localPort, NeutronSecurityGroup securityGroup);
29     /**
30      * Program fixed ingress ACL rules that will be associated with the VM port when a vm is spawned.
31      * *
32      * @param dpid the dpid
33      * @param segmentationId the segmentation id
34      * @param attachedMac the attached mac
35      * @param localPort the local port
36      * @param isLastPortinSubnet is this the last port in the subnet
37      * @param isComputePort indicates whether this port is a compute port or not
38      * @param write is this flow writing or deleting
39      */
40     void programFixedSecurityACL(Long dpid, String segmentationId,
41                                  String attachedMac, long localPort, boolean isLastPortinSubnet, boolean isComputePort, boolean write);
42 }