@Singleton public class VpnManagerImpl extends Object implements IVpnManager
Constructor and Description |
---|
VpnManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManagerService,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
IElanService elanService,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
VpnSubnetRouteHandler vpnSubnetRouteHandler,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifaceMgrRpcService,
IVpnLinkService ivpnLinkService,
IFibManager fibManager,
IBgpManager bgpManager,
InterVpnLinkCache interVpnLinkCache,
org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar dataTreeEventCallbackRegistrar,
org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService,
VpnUtil vpnUtil) |
Modifier and Type | Method and Description |
---|---|
void |
addArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
String extInterfaceName,
int lportTag) |
void |
addArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId) |
void |
addExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
Long l3vni,
RouteOrigin origin,
String intfName,
Adjacency operationalAdj,
VrfEntryBase.EncapType encapType,
Set<String> prefixListForRefreshFib,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
addRouterGwMacFlow(String routerName,
String routerGwMac,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId,
String subnetVpnName,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
addSubnetMacIntoVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
boolean |
checkForOverlappingSubnets(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid network,
List<Subnetmap> subnetmapList,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn,
Set<VpnTarget> routeTargets,
List<String> failedNwList) |
void |
delExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
String intfName,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx) |
VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp) |
VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
String vpnName,
String fixedIp) |
String |
getPrimaryRdFromVpnInstance(VpnInstance vpnInstance) |
Set<VpnTarget> |
getRtListForVpn(String vpnName) |
VpnInstance |
getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnInstanceName) |
String |
getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName) |
String |
getVpnRd(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
String vpnName) |
boolean |
isVPNConfigured() |
void |
onSubnetAddedToVpn(Subnetmap subnetmap,
boolean isBgpVpn,
Long elanTag) |
void |
onSubnetDeletedFromVpn(Subnetmap subnetmap,
boolean isBgpVpn) |
void |
removeArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
BigInteger dpnId,
String extInterfaceName,
int lportTag) |
void |
removeArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId) |
void |
removePrefixFromBGP(String vpnName,
String primaryRd,
String extraRouteRd,
String vpnInterfaceName,
String prefix,
String nextHop,
String nextHopTunnelIp,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx) |
void |
removeRouterGwMacFlow(String routerName,
String routerGwMac,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId,
String subnetVpnName,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
removeRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets,
String cidr,
String vpnName) |
void |
removeSubnetMacFromVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
start() |
void |
updateRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets,
String cidr,
String vpnName) |
@Inject public VpnManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManagerService, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, IElanService elanService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, VpnSubnetRouteHandler vpnSubnetRouteHandler, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifaceMgrRpcService, IVpnLinkService ivpnLinkService, IFibManager fibManager, IBgpManager bgpManager, InterVpnLinkCache interVpnLinkCache, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar dataTreeEventCallbackRegistrar, org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService, VpnUtil vpnUtil)
@PostConstruct public void start()
public void addExtraRoute(String vpnName, String destination, String nextHop, String rd, @Nullable String routerID, Long l3vni, RouteOrigin origin, @Nullable String intfName, @Nullable Adjacency operationalAdj, VrfEntryBase.EncapType encapType, Set<String> prefixListForRefreshFib, @Nonnull org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
addExtraRoute
in interface IVpnManager
public void delExtraRoute(String vpnName, String destination, String nextHop, String rd, @Nullable String routerID, @Nullable String intfName, @Nonnull org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, @Nonnull org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx)
delExtraRoute
in interface IVpnManager
public void removePrefixFromBGP(String vpnName, String primaryRd, String extraRouteRd, String vpnInterfaceName, String prefix, String nextHop, String nextHopTunnelIp, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx)
removePrefixFromBGP
in interface IVpnManager
public boolean isVPNConfigured()
isVPNConfigured
in interface IVpnManager
public void addSubnetMacIntoVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
addSubnetMacIntoVpnInstance
in interface IVpnManager
ExecutionException
InterruptedException
public void removeSubnetMacFromVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
removeSubnetMacFromVpnInstance
in interface IVpnManager
ExecutionException
InterruptedException
public void addRouterGwMacFlow(String routerName, String routerGwMac, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, String subnetVpnName, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
addRouterGwMacFlow
in interface IVpnManager
ExecutionException
InterruptedException
public void removeRouterGwMacFlow(String routerName, String routerGwMac, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, String subnetVpnName, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
removeRouterGwMacFlow
in interface IVpnManager
ExecutionException
InterruptedException
public void addArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId)
addArpResponderFlowsToExternalNetworkIps
in interface IVpnManager
public void addArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, String extInterfaceName, int lportTag)
addArpResponderFlowsToExternalNetworkIps
in interface IVpnManager
public void removeArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId)
removeArpResponderFlowsToExternalNetworkIps
in interface IVpnManager
public void removeArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, BigInteger dpnId, String extInterfaceName, int lportTag)
removeArpResponderFlowsToExternalNetworkIps
in interface IVpnManager
public String getPrimaryRdFromVpnInstance(VpnInstance vpnInstance)
getPrimaryRdFromVpnInstance
in interface IVpnManager
public void onSubnetAddedToVpn(Subnetmap subnetmap, boolean isBgpVpn, Long elanTag)
onSubnetAddedToVpn
in interface IVpnManager
public void onSubnetDeletedFromVpn(Subnetmap subnetmap, boolean isBgpVpn)
onSubnetDeletedFromVpn
in interface IVpnManager
@Nullable public VpnInstance getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnInstanceName)
getVpnInstance
in interface IVpnManager
public String getVpnRd(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, String vpnName)
getVpnRd
in interface IVpnManager
public String getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
getVpnRd
in interface IVpnManager
public VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, String vpnName, String fixedIp)
getNeutronPortFromVpnPortFixedIp
in interface IVpnManager
@Nullable public VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp)
getNeutronPortFromVpnPortFixedIp
in interface IVpnManager
public Set<VpnTarget> getRtListForVpn(String vpnName)
getRtListForVpn
in interface IVpnManager
public void updateRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets, String cidr, String vpnName)
updateRouteTargetsToSubnetAssociation
in interface IVpnManager
public void removeRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets, String cidr, String vpnName)
removeRouteTargetsToSubnetAssociation
in interface IVpnManager
public boolean checkForOverlappingSubnets(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid network, List<Subnetmap> subnetmapList, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn, Set<VpnTarget> routeTargets, List<String> failedNwList)
checkForOverlappingSubnets
in interface IVpnManager
Copyright © 2019 OpenDaylight. All rights reserved.