@Singleton public class ElanServiceProvider extends org.opendaylight.infrautils.inject.AbstractLifecycle implements IElanService
Constructor and Description |
---|
ElanServiceProvider(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
ElanBridgeManager bridgeMgr,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
ElanUtils elanUtils,
org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService entityOwnershipService,
org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils southboundUtils,
ElanInstanceCache elanInstanceCache,
ElanInterfaceCache elanInterfaceCache,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager) |
Modifier and Type | Method and Description |
---|---|
void |
addArpResponderFlow(ArpResponderInput arpResponderInput)
Add ARP Responder Flow on the given dpn for the ingress interface.
|
void |
addElanInterface(String elanInstanceName,
String interfaceName,
List<String> staticMacAddresses,
String description) |
void |
addEtreeInterface(String etreeInstanceName,
String interfaceName,
EtreeInterface.EtreeInterfaceType interfaceType,
List<String> staticMacAddresses,
String description) |
void |
addExternalTunnelArpResponderFlow(ArpResponderInput arpResponderInput,
String elanInstanceName)
Add ARP Responder Flow on the given dpn for the SR-IOV VMs ingress interface.
|
void |
addKnownL3DmacAddress(String macAddress,
String elanInstanceName) |
void |
addStaticMacAddress(String interfaceName,
String macAddress) |
static boolean |
compareWithExistingElanInstance(ElanInstance existingElanInstance,
long macTimeOut,
String description) |
boolean |
createElanInstance(String elanInstanceName,
long macTimeout,
String description) |
boolean |
createEtreeInstance(String elanInstanceName,
long macTimeout,
String description) |
void |
createExternalElanNetwork(ElanInstance elanInstance) |
protected void |
createExternalElanNetwork(ElanInstance elanInstance,
BigInteger dpId) |
void |
createExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node) |
boolean |
deleteElanInstance(String elanInstanceName) |
void |
deleteElanInterface(String interfaceName) |
boolean |
deleteEtreeInstance(String etreeInstanceName) |
void |
deleteEtreeInterface(String interfaceName) |
void |
deleteExternalElanNetwork(ElanInstance elanInstance) |
protected void |
deleteExternalElanNetwork(ElanInstance elanInstance,
BigInteger dpnId) |
void |
deleteExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node) |
void |
deleteStaticMacAddress(String interfaceName,
String macAddress) |
void |
flushMACTable(String elanInstanceName) |
List<org.opendaylight.genius.mdsalutil.MatchInfoBase> |
getEgressMatchesForElanInstance(String elanInstanceName) |
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> |
getElanDpnInterfaceOperationalDataPath(String elanInstanceName,
BigInteger dpnId) |
ElanInstance |
getElanInstance(String elanName) |
List<ElanInstance> |
getElanInstances() |
ElanInterface |
getElanInterfaceByElanInterfaceName(String interfaceName) |
DpnInterfaces |
getElanInterfaceInfoByElanDpn(String elanInstanceName,
BigInteger dpId) |
List<String> |
getElanInterfaces(String elanInstanceName) |
Collection<MacEntry> |
getElanMacTable(String elanInstanceName) |
EtreeInterface |
getEtreeInterfaceByElanInterfaceName(String elanInterface) |
String |
getExternalElanInterface(String elanInstanceName,
BigInteger dpnId) |
Collection<String> |
getExternalElanInterfaces(String elanInstanceName) |
void |
handleKnownL3DmacAddress(String macAddress,
String elanInstanceName,
int addOrRemove) |
boolean |
isExternalInterface(String interfaceName) |
Boolean |
isOpenStackVniSemanticsEnforced() |
void |
removeArpResponderFlow(ArpResponderInput arpResponderInput)
Remove ARP Responder flow from the given dpn for the ingress interface.
|
void |
removeKnownL3DmacAddress(String macAddress,
String elanInstanceName) |
Long |
retrieveNewElanTag(String idKey)
Uses the IdManager to retrieve a brand new ElanTag.
|
protected void |
start() |
protected void |
stop() |
void |
updateElanInstance(String elanInstanceName,
long newMacTimout,
String newDescription) |
void |
updateElanInterface(String elanInstanceName,
String interfaceName,
List<String> updatedStaticMacAddresses,
String newDescription) |
void |
updateExternalElanNetwork(ElanInstance elanInstance) |
void |
updateExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node origNode,
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updatedNode) |
@Inject public ElanServiceProvider(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, ElanBridgeManager bridgeMgr, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, ElanUtils elanUtils, org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService entityOwnershipService, org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils southboundUtils, ElanInstanceCache elanInstanceCache, ElanInterfaceCache elanInterfaceCache, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager)
protected void start() throws Exception
start
in class org.opendaylight.infrautils.inject.AbstractLifecycle
Exception
protected void stop()
stop
in class org.opendaylight.infrautils.inject.AbstractLifecycle
public Boolean isOpenStackVniSemanticsEnforced()
isOpenStackVniSemanticsEnforced
in interface IElanService
public boolean createElanInstance(String elanInstanceName, long macTimeout, String description)
createElanInstance
in interface IElanService
public boolean createEtreeInstance(String elanInstanceName, long macTimeout, String description)
createEtreeInstance
in interface IEtreeService
public EtreeInterface getEtreeInterfaceByElanInterfaceName(String elanInterface)
getEtreeInterfaceByElanInterfaceName
in interface IEtreeService
public static boolean compareWithExistingElanInstance(ElanInstance existingElanInstance, long macTimeOut, String description)
public void updateElanInstance(String elanInstanceName, long newMacTimout, String newDescription)
updateElanInstance
in interface IElanService
public boolean deleteEtreeInstance(String etreeInstanceName)
deleteEtreeInstance
in interface IEtreeService
public boolean deleteElanInstance(String elanInstanceName)
deleteElanInstance
in interface IElanService
public void addEtreeInterface(String etreeInstanceName, String interfaceName, EtreeInterface.EtreeInterfaceType interfaceType, List<String> staticMacAddresses, String description)
addEtreeInterface
in interface IEtreeService
public void addElanInterface(String elanInstanceName, String interfaceName, List<String> staticMacAddresses, String description)
addElanInterface
in interface IElanService
public void updateElanInterface(String elanInstanceName, String interfaceName, List<String> updatedStaticMacAddresses, String newDescription)
updateElanInterface
in interface IElanService
public void deleteEtreeInterface(String interfaceName)
deleteEtreeInterface
in interface IEtreeService
public void deleteElanInterface(String interfaceName)
deleteElanInterface
in interface IElanService
public void addStaticMacAddress(String interfaceName, String macAddress)
addStaticMacAddress
in interface IElanService
public void deleteStaticMacAddress(String interfaceName, String macAddress)
deleteStaticMacAddress
in interface IElanService
public Collection<MacEntry> getElanMacTable(String elanInstanceName)
getElanMacTable
in interface IElanService
public void flushMACTable(String elanInstanceName)
flushMACTable
in interface IElanService
public ElanInstance getElanInstance(String elanName)
getElanInstance
in interface IElanService
public List<ElanInstance> getElanInstances()
getElanInstances
in interface IElanService
@Nonnull public List<String> getElanInterfaces(String elanInstanceName)
getElanInterfaces
in interface IElanService
public void createExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
createExternalElanNetworks
in interface IElanService
public void createExternalElanNetwork(ElanInstance elanInstance)
createExternalElanNetwork
in interface IElanService
protected void createExternalElanNetwork(ElanInstance elanInstance, BigInteger dpId)
public void updateExternalElanNetwork(ElanInstance elanInstance)
updateExternalElanNetwork
in interface IElanService
public void deleteExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
deleteExternalElanNetworks
in interface IElanService
public void deleteExternalElanNetwork(ElanInstance elanInstance)
deleteExternalElanNetwork
in interface IElanService
protected void deleteExternalElanNetwork(ElanInstance elanInstance, BigInteger dpnId)
public void updateExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node origNode, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updatedNode)
updateExternalElanNetworks
in interface IElanService
public Collection<String> getExternalElanInterfaces(String elanInstanceName)
getExternalElanInterfaces
in interface IElanService
public String getExternalElanInterface(String elanInstanceName, BigInteger dpnId)
getExternalElanInterface
in interface IElanService
public boolean isExternalInterface(String interfaceName)
isExternalInterface
in interface IElanService
public ElanInterface getElanInterfaceByElanInterfaceName(String interfaceName)
getElanInterfaceByElanInterfaceName
in interface IElanService
public void handleKnownL3DmacAddress(String macAddress, String elanInstanceName, int addOrRemove)
handleKnownL3DmacAddress
in interface IElanService
public void addKnownL3DmacAddress(String macAddress, String elanInstanceName)
addKnownL3DmacAddress
in interface IElanService
public void removeKnownL3DmacAddress(String macAddress, String elanInstanceName)
removeKnownL3DmacAddress
in interface IElanService
public List<org.opendaylight.genius.mdsalutil.MatchInfoBase> getEgressMatchesForElanInstance(String elanInstanceName)
getEgressMatchesForElanInstance
in interface IElanService
public void addArpResponderFlow(ArpResponderInput arpResponderInput)
IElanService
addArpResponderFlow
in interface IElanService
arpResponderInput
- ArpResponder Input parametersArpResponderInput
public void addExternalTunnelArpResponderFlow(ArpResponderInput arpResponderInput, String elanInstanceName)
IElanService
addExternalTunnelArpResponderFlow
in interface IElanService
arpResponderInput
- ArpResponder Input parameterselanInstanceName
- The elanInstance corresponding to the interfaceArpResponderInput
public void removeArpResponderFlow(ArpResponderInput arpResponderInput)
IElanService
removeArpResponderFlow
in interface IElanService
arpResponderInput
- ArpResponder Input parametersArpResponderInput
public Long retrieveNewElanTag(String idKey)
retrieveNewElanTag
in interface IElanService
idKey
- the id keypublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> getElanDpnInterfaceOperationalDataPath(String elanInstanceName, BigInteger dpnId)
getElanDpnInterfaceOperationalDataPath
in interface IElanService
public DpnInterfaces getElanInterfaceInfoByElanDpn(String elanInstanceName, BigInteger dpId)
getElanInterfaceInfoByElanDpn
in interface IElanService
Copyright © 2019 OpenDaylight. All rights reserved.