public class IngressAclServiceImpl 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 |
|---|
IngressAclServiceImpl(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 void |
ingressAclDhcpAllowServerTraffic(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
BigInteger dpId,
int lportTag,
int addOrRemove)
Add rule to ensure only DHCP server traffic from the specified mac is allowed.
|
protected void |
ingressAclDhcpv6AllowServerTraffic(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries,
BigInteger dpId,
int lportTag,
int addOrRemove)
Add rule to ensure only DHCPv6 server traffic from the specified mac is allowed.
|
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,
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, updateRemoteAclpublic IngressAclServiceImpl(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)
dataBroker - the data broker instance.mdsalManager - the mdsal manager.aclDataUtil - the acl data util.aclServiceUtils - the acl service util.jobCoordinator - the job coordinatoraclInterfaceCache - the acl interface cachepublic void bindService(AclInterface aclInterface)
bindService in class AbstractAclServiceImplaclInterface - the acl interfaceprotected void unbindService(AclInterface aclInterface)
unbindService in class AbstractAclServiceImplaclInterface - the acl interfaceprotected void programAntiSpoofingRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, AclInterface port, List<AllowedAddressPairs> allowedAddresses, AclServiceManager.Action action, int addOrRemove)
AbstractAclServiceImplprogramAntiSpoofingRules in class AbstractAclServiceImplflowEntries - the flow entriesport - the acl interfaceallowedAddresses - the allowed addressesaction - add/modify/remove actionaddOrRemove - addorRemoveprotected void programGotoClassifierTableRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, List<AllowedAddressPairs> aaps, int lportTag, int addOrRemove)
programGotoClassifierTableRules in class AbstractAclServiceImplprotected void programRemoteAclTableFlow(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, Integer aclTag, AllowedAddressPairs aap, int addOrRemove)
programRemoteAclTableFlow in class AbstractAclServiceImplprotected void ingressAclDhcpAllowServerTraffic(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, int lportTag, int addOrRemove)
flowEntries - the flow entriesdpId - the dpidlportTag - the lport tagaddOrRemove - is write or deleteprotected void ingressAclDhcpv6AllowServerTraffic(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, int lportTag, int addOrRemove)
flowEntries - the flow entriesdpId - the dpidlportTag - the lport tagaddOrRemove - is write or deleteprotected void programIcmpv6RARule(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, AclInterface port, List<SubnetInfo> subnets, int addOrRemove)
programIcmpv6RARule in class AbstractAclServiceImplprotected void programArpRule(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, BigInteger dpId, int lportTag, int addOrRemove)
flowEntries - the flow entriesdpId - the dpIdlportTag - the lport tagaddOrRemove - whether to add or remove the flowprotected void programBroadcastRules(List<org.opendaylight.genius.mdsalutil.FlowEntity> flowEntries, AclInterface port, int addOrRemove)
programBroadcastRules in class AbstractAclServiceImplflowEntries - the flow entriesport - the Acl Interface portaddOrRemove - whether to delete or add flowprotected boolean isValidDirection(Class<? extends DirectionBase> direction)
isValidDirection in class AbstractAclServiceImplprotected short getAclAntiSpoofingTable()
getAclAntiSpoofingTable in class AbstractAclServiceImplprotected short getAclConntrackClassifierTable()
getAclConntrackClassifierTable in class AbstractAclServiceImplprotected short getAclConntrackSenderTable()
getAclConntrackSenderTable in class AbstractAclServiceImplprotected short getAclForExistingTrafficTable()
getAclForExistingTrafficTable in class AbstractAclServiceImplprotected short getAclFilterCumDispatcherTable()
getAclFilterCumDispatcherTable in class AbstractAclServiceImplprotected short getAclRuleBasedFilterTable()
getAclRuleBasedFilterTable in class AbstractAclServiceImplprotected short getAclRemoteAclTable()
getAclRemoteAclTable in class AbstractAclServiceImplprotected short getAclCommitterTable()
getAclCommitterTable in class AbstractAclServiceImplCopyright © 2019 OpenDaylight. All rights reserved.