public class EgressAclServiceImpl extends AbstractAclServiceImpl
Note: Table names used are w.r.t switch. Hence, switch ingress is VM egress and vice versa.
aclDataUtil, aclInterfaceCache, aclServiceUtils, dataBroker, direction, directionString, jobCoordinator, mdsalManager, serviceMode, txRunner
Constructor and Description |
---|
EgressAclServiceImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
AclDataUtil aclDataUtil,
AclServiceUtils aclServiceUtils,
org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
AclInterfaceCache aclInterfaceCache)
Initialize the member variables.
|
Modifier and Type | Method and Description |
---|---|
void |
bindService(AclInterface aclInterface)
Bind service.
|
protected short |
getAclAntiSpoofingTable() |
protected short |
getAclCommitterTable() |
protected short |
getAclConntrackClassifierTable() |
protected short |
getAclConntrackSenderTable() |
protected short |
getAclFilterCumDispatcherTable() |
protected short |
getAclForExistingTrafficTable() |
protected short |
getAclRemoteAclTable() |
protected short |
getAclRuleBasedFilterTable() |
protected boolean |
isValidDirection(Class<? extends DirectionBase> direction) |
protected void |
programAntiSpoofingRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
AclInterface port,
List<AllowedAddressPairs> allowedAddresses,
AclServiceManager.Action action,
int addOrRemove)
Programs the anti-spoofing rules.
|
protected void |
programArpRule(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
BigInteger dpId,
List<AllowedAddressPairs> allowedAddresses,
int lportTag,
int addOrRemove)
Adds the rule to allow arp packets.
|
protected void |
programBroadcastRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
AclInterface port,
int addOrRemove)
Programs broadcast rules.
|
protected void |
programGotoClassifierTableRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
BigInteger dpId,
List<AllowedAddressPairs> aaps,
int lportTag,
int addOrRemove) |
protected void |
programIcmpv6RARule(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
AclInterface port,
List<SubnetInfo> subnets,
int addOrRemove) |
protected void |
programRemoteAclTableFlow(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
BigInteger dpId,
Integer aclTag,
AllowedAddressPairs aap,
int addOrRemove) |
protected void |
unbindService(AclInterface aclInterface)
Unbind service.
|
addFlowEntryToList, applyAce, applyAcl, bindAcl, collectDpns, getDispatcherTableResubmitInstructions, getDispatcherTableResubmitInstructions, getElanIdFromAclInterface, getOperAsString, getRemoteAclTags, handleRemoteAclUpdate, programAceRule, programAceSpecificFlows, programAclCommitRuleForConntrack, programAclCommitRuleForNonConntrack, programAclCommitRules, programAclDispatcherTable, programAclPortSpecificFixedRules, programAclRuleMissDropRule, programAclRules, programConntrackInvalidDropRule, programConntrackRecircRule, programConntrackRecircRules, programFirstRemoteAclEntryInDispatcherTable, programFlows, programForAceNotHavingRemoteAclId, programLastRemoteAclEntryInDispatcherTable, programPortSpecificDropRules, removeAce, removeAcl, unbindAcl, updateAcl, updateRemoteAcl
public EgressAclServiceImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, AclDataUtil aclDataUtil, AclServiceUtils aclServiceUtils, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, AclInterfaceCache aclInterfaceCache)
public void bindService(AclInterface aclInterface)
bindService
in class AbstractAclServiceImpl
aclInterface
- the acl interfaceprotected void unbindService(AclInterface aclInterface)
unbindService
in class AbstractAclServiceImpl
aclInterface
- the acl interfaceprotected void programAntiSpoofingRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, AclInterface port, List<AllowedAddressPairs> allowedAddresses, AclServiceManager.Action action, int addOrRemove)
AbstractAclServiceImpl
programAntiSpoofingRules
in class AbstractAclServiceImpl
flowEntries
- the flow entriesport
- the acl interfaceallowedAddresses
- the allowed addressesaction
- add/modify/remove actionaddOrRemove
- addorRemoveprotected void programRemoteAclTableFlow(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, Integer aclTag, AllowedAddressPairs aap, int addOrRemove)
programRemoteAclTableFlow
in class AbstractAclServiceImpl
protected void programGotoClassifierTableRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, List<AllowedAddressPairs> aaps, int lportTag, int addOrRemove)
programGotoClassifierTableRules
in class AbstractAclServiceImpl
protected void programArpRule(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, List<AllowedAddressPairs> allowedAddresses, int lportTag, int addOrRemove)
flowEntries
- the flow entriesdpId
- the dpIdallowedAddresses
- the allowed addresseslportTag
- the lport tagaddOrRemove
- whether to add or remove the flowprotected void programIcmpv6RARule(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, AclInterface port, List<SubnetInfo> subnets, int addOrRemove)
programIcmpv6RARule
in class AbstractAclServiceImpl
protected void programBroadcastRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, AclInterface port, int addOrRemove)
programBroadcastRules
in class AbstractAclServiceImpl
flowEntries
- the flow entriesport
- the Acl Interface portaddOrRemove
- whether to delete or add flowprotected boolean isValidDirection(Class<? extends DirectionBase> direction)
isValidDirection
in class AbstractAclServiceImpl
protected short getAclAntiSpoofingTable()
getAclAntiSpoofingTable
in class AbstractAclServiceImpl
protected short getAclConntrackClassifierTable()
getAclConntrackClassifierTable
in class AbstractAclServiceImpl
protected short getAclConntrackSenderTable()
getAclConntrackSenderTable
in class AbstractAclServiceImpl
protected short getAclForExistingTrafficTable()
getAclForExistingTrafficTable
in class AbstractAclServiceImpl
protected short getAclFilterCumDispatcherTable()
getAclFilterCumDispatcherTable
in class AbstractAclServiceImpl
protected short getAclRuleBasedFilterTable()
getAclRuleBasedFilterTable
in class AbstractAclServiceImpl
protected short getAclRemoteAclTable()
getAclRemoteAclTable
in class AbstractAclServiceImpl
protected short getAclCommitterTable()
getAclCommitterTable
in class AbstractAclServiceImpl
Copyright © 2019 OpenDaylight. All rights reserved.