@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.AbstractLifecycleExceptionprotected void stop()
stop in class org.opendaylight.infrautils.inject.AbstractLifecyclepublic Boolean isOpenStackVniSemanticsEnforced()
isOpenStackVniSemanticsEnforced in interface IElanServicepublic boolean createElanInstance(String elanInstanceName, long macTimeout, String description)
createElanInstance in interface IElanServicepublic boolean createEtreeInstance(String elanInstanceName, long macTimeout, String description)
createEtreeInstance in interface IEtreeServicepublic EtreeInterface getEtreeInterfaceByElanInterfaceName(String elanInterface)
getEtreeInterfaceByElanInterfaceName in interface IEtreeServicepublic static boolean compareWithExistingElanInstance(ElanInstance existingElanInstance, long macTimeOut, String description)
public void updateElanInstance(String elanInstanceName, long newMacTimout, String newDescription)
updateElanInstance in interface IElanServicepublic boolean deleteEtreeInstance(String etreeInstanceName)
deleteEtreeInstance in interface IEtreeServicepublic boolean deleteElanInstance(String elanInstanceName)
deleteElanInstance in interface IElanServicepublic void addEtreeInterface(String etreeInstanceName, String interfaceName, EtreeInterface.EtreeInterfaceType interfaceType, List<String> staticMacAddresses, String description)
addEtreeInterface in interface IEtreeServicepublic void addElanInterface(String elanInstanceName, String interfaceName, List<String> staticMacAddresses, String description)
addElanInterface in interface IElanServicepublic void updateElanInterface(String elanInstanceName, String interfaceName, List<String> updatedStaticMacAddresses, String newDescription)
updateElanInterface in interface IElanServicepublic void deleteEtreeInterface(String interfaceName)
deleteEtreeInterface in interface IEtreeServicepublic void deleteElanInterface(String interfaceName)
deleteElanInterface in interface IElanServicepublic void addStaticMacAddress(String interfaceName, String macAddress)
addStaticMacAddress in interface IElanServicepublic void deleteStaticMacAddress(String interfaceName, String macAddress)
deleteStaticMacAddress in interface IElanServicepublic Collection<MacEntry> getElanMacTable(String elanInstanceName)
getElanMacTable in interface IElanServicepublic void flushMACTable(String elanInstanceName)
flushMACTable in interface IElanServicepublic ElanInstance getElanInstance(String elanName)
getElanInstance in interface IElanServicepublic List<ElanInstance> getElanInstances()
getElanInstances in interface IElanService@Nonnull public List<String> getElanInterfaces(String elanInstanceName)
getElanInterfaces in interface IElanServicepublic void createExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
createExternalElanNetworks in interface IElanServicepublic void createExternalElanNetwork(ElanInstance elanInstance)
createExternalElanNetwork in interface IElanServiceprotected void createExternalElanNetwork(ElanInstance elanInstance, BigInteger dpId)
public void updateExternalElanNetwork(ElanInstance elanInstance)
updateExternalElanNetwork in interface IElanServicepublic void deleteExternalElanNetworks(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
deleteExternalElanNetworks in interface IElanServicepublic void deleteExternalElanNetwork(ElanInstance elanInstance)
deleteExternalElanNetwork in interface IElanServiceprotected 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 IElanServicepublic Collection<String> getExternalElanInterfaces(String elanInstanceName)
getExternalElanInterfaces in interface IElanServicepublic String getExternalElanInterface(String elanInstanceName, BigInteger dpnId)
getExternalElanInterface in interface IElanServicepublic boolean isExternalInterface(String interfaceName)
isExternalInterface in interface IElanServicepublic ElanInterface getElanInterfaceByElanInterfaceName(String interfaceName)
getElanInterfaceByElanInterfaceName in interface IElanServicepublic void handleKnownL3DmacAddress(String macAddress, String elanInstanceName, int addOrRemove)
handleKnownL3DmacAddress in interface IElanServicepublic void addKnownL3DmacAddress(String macAddress, String elanInstanceName)
addKnownL3DmacAddress in interface IElanServicepublic void removeKnownL3DmacAddress(String macAddress, String elanInstanceName)
removeKnownL3DmacAddress in interface IElanServicepublic List<org.opendaylight.genius.mdsalutil.MatchInfoBase> getEgressMatchesForElanInstance(String elanInstanceName)
getEgressMatchesForElanInstance in interface IElanServicepublic void addArpResponderFlow(ArpResponderInput arpResponderInput)
IElanServiceaddArpResponderFlow in interface IElanServicearpResponderInput - ArpResponder Input parametersArpResponderInputpublic void addExternalTunnelArpResponderFlow(ArpResponderInput arpResponderInput, String elanInstanceName)
IElanServiceaddExternalTunnelArpResponderFlow in interface IElanServicearpResponderInput - ArpResponder Input parameterselanInstanceName - The elanInstance corresponding to the interfaceArpResponderInputpublic void removeArpResponderFlow(ArpResponderInput arpResponderInput)
IElanServiceremoveArpResponderFlow in interface IElanServicearpResponderInput - ArpResponder Input parametersArpResponderInputpublic Long retrieveNewElanTag(String idKey)
retrieveNewElanTag in interface IElanServiceidKey - the id keypublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> getElanDpnInterfaceOperationalDataPath(String elanInstanceName, BigInteger dpnId)
getElanDpnInterfaceOperationalDataPath in interface IElanServicepublic DpnInterfaces getElanInterfaceInfoByElanDpn(String elanInstanceName, BigInteger dpId)
getElanInterfaceInfoByElanDpn in interface IElanServiceCopyright © 2019 OpenDaylight. All rights reserved.