@Singleton public class DhcpExternalTunnelManager extends Object
Modifier and Type | Field and Description |
---|---|
static String |
UNKNOWN_DMAC |
Constructor and Description |
---|
DhcpExternalTunnelManager(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalUtil,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService,
org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService entityOwnershipService,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
L2GatewayCache l2GatewayCache,
IElanService ielanService) |
Modifier and Type | Method and Description |
---|---|
void |
addOrRemoveDhcpArpFlowforElan(String elanInstanceName,
boolean addFlow,
String dhcpIpAddress,
String dhcpMacAddress) |
void |
configureDhcpArpRequestResponseFlow(BigInteger dpnId,
String elanInstanceName,
boolean addFlow,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String dhcpIpAddress,
String dhcpMacAddress) |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs |
createRemoteMcastMac(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node dstDevice,
String logicalSwitchName,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress internalTunnelIp) |
BigInteger |
designateDpnId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName,
List<BigInteger> dpns) |
String |
getExternalTunnelInterfaceName(String sourceNode,
String dstNode) |
static com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> |
getNode(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String physicalSwitchNodeId) |
Optional<SubnetToDhcpPort> |
getSubnetDhcpPortData(String elanInstanceName) |
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress |
getTunnelIpBasedOnElan(String elanInstanceName,
String vmMacAddress) |
void |
handleDesignatedDpnDown(BigInteger dpnId,
List<BigInteger> listOfDpns) |
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
handleTunnelStateDown(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
BigInteger interfaceDpn) |
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
handleTunnelStateUp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
BigInteger interfaceDpn) |
void |
init() |
void |
installDhcpDropActionOnDpn(BigInteger dpId) |
void |
installDhcpFlowsForVms(BigInteger designatedDpnId,
Set<String> listVmMacAddress,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
void |
installDhcpFlowsForVms(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName,
List<BigInteger> dpns,
BigInteger designatedDpnId,
String vmMacAddress) |
void |
installRemoteMcastMac(BigInteger designatedDpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName) |
BigInteger |
readDesignatedSwitchesForExternalTunnel(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName) |
org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port |
readVniMacToPortCache(BigInteger vni,
String macAddress) |
void |
removeDesignatedSwitchForExternalTunnel(BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName) |
void |
removeFromAvailableCache(org.apache.commons.lang3.tuple.Pair<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress,String> tunnelIpElanName) |
void |
removeFromLocalCache(BigInteger designatedDpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName) |
void |
removeVniMacToPortCache(BigInteger vni,
String macAddress) |
void |
unInstallDhcpEntries(BigInteger dpnId,
String vmMacAddress,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
void |
unInstallDhcpFlowsForVms(String elanInstanceName,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
List<BigInteger> dpns) |
void |
unInstallDhcpFlowsForVms(String elanInstanceName,
List<BigInteger> dpns,
String vmMacAddress) |
void |
updateCacheAndInstallNewFlows(List<BigInteger> listOfDpns,
org.apache.commons.lang3.tuple.Pair<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress,String> pair,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
void |
updateExistingVMTunnelIPCache(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName,
String vmMacAddress) |
void |
updateLocalCache(BigInteger designatedDpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName) |
void |
updateLocalCache(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName,
String vmMacAddress) |
void |
updateVniMacToPortCache(BigInteger vni,
String macAddress,
org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port) |
void |
writeDesignatedSwitchForExternalTunnel(BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName) |
public static final String UNKNOWN_DMAC
@Inject public DhcpExternalTunnelManager(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalUtil, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService, org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService entityOwnershipService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, L2GatewayCache l2GatewayCache, @Named(value="elanService") IElanService ielanService)
@PostConstruct public void init()
public BigInteger designateDpnId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName, List<BigInteger> dpns)
public void installDhcpFlowsForVms(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName, List<BigInteger> dpns, BigInteger designatedDpnId, String vmMacAddress)
public void installDhcpFlowsForVms(BigInteger designatedDpnId, Set<String> listVmMacAddress, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
public void unInstallDhcpFlowsForVms(String elanInstanceName, List<BigInteger> dpns, String vmMacAddress)
public void unInstallDhcpFlowsForVms(String elanInstanceName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, List<BigInteger> dpns)
public BigInteger readDesignatedSwitchesForExternalTunnel(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
public void writeDesignatedSwitchForExternalTunnel(BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
public void removeDesignatedSwitchForExternalTunnel(BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
public void installDhcpDropActionOnDpn(BigInteger dpId)
public void updateLocalCache(BigInteger designatedDpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
public void updateLocalCache(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName, String vmMacAddress)
public void updateExistingVMTunnelIPCache(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName, String vmMacAddress)
public void handleDesignatedDpnDown(BigInteger dpnId, List<BigInteger> listOfDpns)
public void updateCacheAndInstallNewFlows(List<BigInteger> listOfDpns, org.apache.commons.lang3.tuple.Pair<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress,String> pair, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
public void addOrRemoveDhcpArpFlowforElan(String elanInstanceName, boolean addFlow, String dhcpIpAddress, String dhcpMacAddress)
public void configureDhcpArpRequestResponseFlow(BigInteger dpnId, String elanInstanceName, boolean addFlow, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String dhcpIpAddress, String dhcpMacAddress)
public Optional<SubnetToDhcpPort> getSubnetDhcpPortData(String elanInstanceName)
public void unInstallDhcpEntries(BigInteger dpnId, String vmMacAddress, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
public List<com.google.common.util.concurrent.ListenableFuture<Void>> handleTunnelStateDown(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, BigInteger interfaceDpn)
public void removeFromLocalCache(BigInteger designatedDpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
public void updateVniMacToPortCache(BigInteger vni, String macAddress, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
public void removeVniMacToPortCache(BigInteger vni, String macAddress)
public org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port readVniMacToPortCache(BigInteger vni, String macAddress)
public String getExternalTunnelInterfaceName(String sourceNode, String dstNode)
public static com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> getNode(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String physicalSwitchNodeId)
public org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteMcastMacs createRemoteMcastMac(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node dstDevice, String logicalSwitchName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress internalTunnelIp)
public void installRemoteMcastMac(BigInteger designatedDpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
public List<com.google.common.util.concurrent.ListenableFuture<Void>> handleTunnelStateUp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, BigInteger interfaceDpn)
public void removeFromAvailableCache(org.apache.commons.lang3.tuple.Pair<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress,String> tunnelIpElanName)
Copyright © 2019 OpenDaylight. All rights reserved.