2 * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
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
9 package org.opendaylight.ovsdb.openstack.netvirt.api;
11 import java.util.List;
13 import org.opendaylight.neutron.spi.NeutronSecurityGroup;
14 import org.opendaylight.neutron.spi.Neutron_IPs;
17 * This interface allows egress Port Security flows to be written to devices.
19 public interface EgressAclProvider {
22 * Program port security ACL.
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
32 void programPortSecurityAcl(Long dpid, String segmentationId, String attachedMac,
33 long localPort, NeutronSecurityGroup securityGroup,
34 List<Neutron_IPs> srcAddressList, boolean write);
36 * Program fixed egress ACL rules that will be associated with the VM port when a vm is spawned.
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
47 void programFixedSecurityAcl(Long dpid, String segmentationId,String attachedMac, long localPort,
48 List<Neutron_IPs> srcAddressList, boolean isLastPortinBridge,
49 boolean isComputePort, boolean write);