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,
VpnInstanceListener vpnInstanceListener,
VpnInterfaceManager vpnInterfaceManager,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
VpnFootprintService vpnFootprintService,
IElanService elanService,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
VpnSubnetRouteHandler vpnSubnetRouteHandler) |
Modifier and Type | Method and Description |
---|---|
void |
addExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
int label,
RouteOrigin origin) |
void |
delExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID) |
boolean |
existsVpn(String vpnName)
Returns true if the specified VPN exists.
|
List<BigInteger> |
getDpnsOnVpn(String vpnInstanceName)
Retrieves the list of DPNs where the specified VPN has footprint.
|
List<org.opendaylight.genius.mdsalutil.MatchInfoBase> |
getEgressMatchesForVpn(String vpnName) |
VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp) |
String |
getPrimaryRdFromVpnInstance(VpnInstance vpnInstance) |
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) |
boolean |
isVPNConfigured() |
void |
onSubnetAddedToVpn(Subnetmap subnetmap,
boolean isBgpVpn,
Long elanTag) |
void |
onSubnetDeletedFromVpn(Subnetmap subnetmap,
boolean isBgpVpn) |
void |
setupArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
long vpnId,
String extInterfaceName,
int lportTag,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx,
int addOrRemove) |
void |
setupArpResponderFlowsToExternalNetworkIps(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,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx,
int addOrRemove) |
void |
setupRouterGwMacFlow(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.controller.md.sal.binding.api.WriteTransaction writeTx,
int addOrRemove) |
void |
setupSubnetMacIntoVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx,
int addOrRemove) |
void |
start() |
public VpnManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManagerService, VpnInstanceListener vpnInstanceListener, VpnInterfaceManager vpnInterfaceManager, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, VpnFootprintService vpnFootprintService, IElanService elanService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, VpnSubnetRouteHandler vpnSubnetRouteHandler)
public void start()
public void addExtraRoute(String vpnName, String destination, String nextHop, String rd, String routerID, int label, RouteOrigin origin)
addExtraRoute
in interface IVpnManager
public void delExtraRoute(String vpnName, String destination, String nextHop, String rd, String routerID)
delExtraRoute
in interface IVpnManager
public boolean isVPNConfigured()
isVPNConfigured
in interface IVpnManager
public List<BigInteger> getDpnsOnVpn(String vpnInstanceName)
IVpnManager
getDpnsOnVpn
in interface IVpnManager
vpnInstanceName
- The name of the Vpn instancepublic boolean existsVpn(String vpnName)
IVpnManager
existsVpn
in interface IVpnManager
vpnName
- it must match against the vpn-instance-name attrib in one of the VpnInstancespublic void setupSubnetMacIntoVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx, int addOrRemove)
setupSubnetMacIntoVpnInstance
in interface IVpnManager
public void setupRouterGwMacFlow(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.controller.md.sal.binding.api.WriteTransaction writeTx, int addOrRemove)
setupRouterGwMacFlow
in interface IVpnManager
public void setupArpResponderFlowsToExternalNetworkIps(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, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx, int addOrRemove)
setupArpResponderFlowsToExternalNetworkIps
in interface IVpnManager
public void setupArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, long vpnId, String extInterfaceName, int lportTag, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx, int addOrRemove)
setupArpResponderFlowsToExternalNetworkIps
in interface IVpnManager
public String getPrimaryRdFromVpnInstance(VpnInstance vpnInstance)
getPrimaryRdFromVpnInstance
in interface IVpnManager
public List<org.opendaylight.genius.mdsalutil.MatchInfoBase> getEgressMatchesForVpn(String vpnName)
getEgressMatchesForVpn
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
public VpnInstance getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnInstanceName)
getVpnInstance
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.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp)
getNeutronPortFromVpnPortFixedIp
in interface IVpnManager
Copyright © 2018 OpenDaylight. All rights reserved.