public final class VpnUtil extends Object
Modifier and Type | Method and Description |
---|---|
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
asyncUpdate(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
asyncUpdate(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data,
com.google.common.util.concurrent.FutureCallback<Void> callback) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
asyncWrite(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
asyncWrite(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data,
com.google.common.util.concurrent.FutureCallback<Void> callback) |
static org.opendaylight.genius.mdsalutil.FlowEntity |
buildL3vpnGatewayFlow(BigInteger dpId,
String gwMacAddress,
long vpnId,
long subnetVpnId) |
protected static void |
createLearntVpnVipToPort(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp,
String portName,
String macAddress) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
delete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
delete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
com.google.common.util.concurrent.FutureCallback<Void> callback) |
static List<VrfEntry> |
findVrfEntriesByNexthop(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String nexthop) |
static List<VrfEntry> |
getAllVrfEntries(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd)
Retrieves all the VrfEntries that belong to a given VPN searching by its
Route-Distinguisher.
|
static String |
getAssociatedExternalRouter(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String extIp) |
static BigInteger |
getCookieArpFlow(int interfaceTag) |
static BigInteger |
getCookieL3(int vpnId) |
static List<BigInteger> |
getDpnsOnVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnInstanceName) |
static List<VpnInterfaces> |
getDpnVpnInterfaces(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
VpnInstance vpnInstance,
BigInteger dpnId) |
static ElanTagName |
getElanInfoByElanTag(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long elanTag) |
static String |
getFlowRef(BigInteger dpnId,
short tableId,
int ethType,
int lportTag,
int arpType) |
static org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map.IfIndexInterface |
getInterfaceInfoByInterfaceTag(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long interfaceTag) |
static String |
getIpPrefix(String prefix) |
static List<String> |
getIpsListFromExternalIps(List<ExternalIps> externalIps) |
static List<String> |
getListOfRdsFromVpnInstance(VpnInstance vpnInstance) |
static VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp) |
static String |
getNextHopLabelKey(String rd,
String prefix) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPool> |
getPoolId(String poolName) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnIds> |
getPrefixToInterfaceIdentifier(long vpnId) |
static String |
getPrimaryRd(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName)
Retrieves the primary rd of a vpn instance
Primary rd will be the first rd in the list of rds configured for a vpn instance
If rd list is empty, primary rd will be vpn instance name
Use this function only during create operation cycles.
|
static String |
getPrimaryRd(VpnInstance vpnInstance)
Retrieves the primary rd of a vpn instance
Primary rd will be the first rd in the list of rds configured for a vpn instance
If rd list is empty, primary rd will be vpn instance name
Use this function only during create operation cycles.
|
static BigInteger |
getPrimarySwitchForRouter(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String routerName) |
static long |
getRemoteBCGroup(long elanTag) |
static com.google.common.base.Optional<VpnPortipToPort> |
getRouterInterfaceForVpnInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String interfaceName,
String vpnName,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid) |
static RouterToNaptSwitch |
getRouterToNaptSwitch(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String routerName) |
static int |
getUniqueId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
String poolName,
String idKey) |
static long |
getVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName)
Retrieves the dataplane identifier of a specific VPN, searching by its
VpnInstance name.
|
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnIds> |
getVpnIdToVpnInstanceIdentifier(long vpnId) |
static VpnInstance |
getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnInstanceName) |
static VpnInstanceOpDataEntry |
getVpnInstanceOpData(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry> |
getVpnInstanceOpDataIdentifier(String rd) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstance> |
getVpnInstanceToVpnIdIdentifier(String vpnName) |
static String |
getVpnName(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long vpnId)
Retrieves the Vpn Name searching by its VPN Tag.
|
static String |
getVpnNameFromRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd)
Retrieves the VpnInstance name (typically the VPN Uuid) out from the
route-distinguisher.
|
static String |
getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName)
Retrieves the VPN Route Distinguisher searching by its Vpn instance name.
|
static com.google.common.base.Optional<String> |
getVpnSubnetGatewayIp(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterfaces> |
getVpnToDpnInterfacePath(String vpnRd,
BigInteger dpnId,
String ifaceName)
Returns the Path identifier to reach a specific interface in a specific DPN in a given VpnInstance.
|
static List<VrfEntry> |
getVrfEntriesByOrigin(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
List<RouteOrigin> originsToConsider)
Retrieves the VrfEntries that belong to a given VPN filtered out by
Origin, searching by its Route-Distinguisher.
|
static VrfTables |
getVrfTable(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd)
Get VRF table given a Route Distinguisher.
|
static boolean |
isBgpVpn(String vpnName,
String primaryRd) |
static boolean |
isEligibleForBgp(String rd,
String vpnName,
BigInteger dpnId,
String networkName) |
static boolean |
isVpnIntfPresentInVpnToDpnList(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
VpnInterface vpnInterface) |
static boolean |
isVpnPendingDelete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd) |
static void |
lockSubnet(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager,
String subnetId) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
read(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) |
static void |
releaseId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
String poolName,
String idKey) |
static void |
removeL3nexthopForVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
protected static void |
removeLearntVpnVipToPort(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp) |
static void |
removePrefixToInterfaceForVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
static void |
removeVpnExtraRouteForVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
static void |
removeVpnIdToVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
static void |
removeVpnInstanceToVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
static void |
removeVpnOpInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
static void |
removeVrfEntries(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
List<VrfEntry> vrfEntries) |
static void |
removeVrfEntriesByOrigin(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
RouteOrigin origin)
Remove from MDSAL all those VrfEntries in a VPN that have an specific RouteOrigin.
|
static void |
removeVrfTableForVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn) |
static void |
runOnlyInLeaderNode(org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService entityOwnershipService,
Runnable job) |
static void |
runOnlyInLeaderNode(org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService entityOwnershipService,
Runnable job,
String jobDescription) |
static void |
scheduleVpnInterfaceForRemoval(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String interfaceName,
BigInteger dpnId,
String vpnInstanceName,
Boolean isScheduledToRemove,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn) |
static void |
setupGwMacIfExternalVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
BigInteger dpnId,
String interfaceName,
long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeInvTxn,
int addOrRemove,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
syncUpdate(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
syncWrite(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data) |
static <T extends org.opendaylight.yangtools.yang.binding.DataObject> |
tryDelete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) |
static void |
unlockSubnet(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager,
String subnetId) |
static void |
withdrawRoutes(IBgpManager bgpManager,
String rd,
List<VrfEntry> vrfEntries) |
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnIds> getPrefixToInterfaceIdentifier(long vpnId)
public static VrfTables getVrfTable(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd)
broker
- dataBroker service referencerd
- Route-Distinguisherpublic static List<VrfEntry> getVrfEntriesByOrigin(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, List<RouteOrigin> originsToConsider)
broker
- dataBroker service referencerd
- Route-distinguisher of the VPNoriginsToConsider
- Only entries whose origin is included in this list will be consideredpublic static List<VrfEntry> getAllVrfEntries(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd)
broker
- dataBroker service referencerd
- Route-distinguisher of the VPNpublic static VpnInstance getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnInstanceName)
public static List<VpnInterfaces> getDpnVpnInterfaces(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, VpnInstance vpnInstance, BigInteger dpnId)
public static List<String> getListOfRdsFromVpnInstance(VpnInstance vpnInstance)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.id.pools.IdPool> getPoolId(String poolName)
public static BigInteger getCookieArpFlow(int interfaceTag)
public static BigInteger getCookieL3(int vpnId)
public static String getFlowRef(BigInteger dpnId, short tableId, int ethType, int lportTag, int arpType)
public static int getUniqueId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, String poolName, String idKey)
public static void releaseId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, String poolName, String idKey)
public static String getVpnNameFromRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd)
broker
- dataBroker service referencerd
- Route-Distinguisherpublic static long getVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
broker
- dataBroker service referencevpnName
- Name of the VPNpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstance> getVpnInstanceToVpnIdIdentifier(String vpnName)
public static String getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
broker
- dataBroker service referencevpnName
- Name of the VPNpublic static void removeVrfEntriesByOrigin(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, RouteOrigin origin)
broker
- dataBroker service referencerd
- Route Distinguisherorigin
- Origin of the Routes to be removed (see RouteOrigin
)public static List<VrfEntry> findVrfEntriesByNexthop(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String nexthop)
public static void removeVrfEntries(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, List<VrfEntry> vrfEntries)
public static void withdrawRoutes(IBgpManager bgpManager, String rd, List<VrfEntry> vrfEntries)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnIds> getVpnIdToVpnInstanceIdentifier(long vpnId)
public static String getVpnName(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long vpnId)
broker
- dataBroker service referencevpnId
- Dataplane identifier of the VPNpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry> getVpnInstanceOpDataIdentifier(String rd)
public static VpnInstanceOpDataEntry getVpnInstanceOpData(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> com.google.common.base.Optional<T> read(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void asyncUpdate(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void asyncUpdate(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data, com.google.common.util.concurrent.FutureCallback<Void> callback)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void asyncWrite(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void asyncWrite(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data, com.google.common.util.concurrent.FutureCallback<Void> callback)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void tryDelete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void delete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void delete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, com.google.common.util.concurrent.FutureCallback<Void> callback)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void syncWrite(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void syncUpdate(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
public static long getRemoteBCGroup(long elanTag)
public static org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map.IfIndexInterface getInterfaceInfoByInterfaceTag(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long interfaceTag)
public static ElanTagName getElanInfoByElanTag(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long elanTag)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterfaces> getVpnToDpnInterfacePath(String vpnRd, BigInteger dpnId, String ifaceName)
vpnRd
- Route-Distinguisher of the VpnInstancedpnId
- Id of the DPN where the interface isifaceName
- Interface namepublic static void removePrefixToInterfaceForVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long vpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void removeVpnExtraRouteForVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void removeVpnOpInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void removeVpnInstanceToVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void removeVpnIdToVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long vpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void removeVrfTableForVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void removeL3nexthopForVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long vpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTxn)
public static void scheduleVpnInterfaceForRemoval(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String interfaceName, BigInteger dpnId, String vpnInstanceName, Boolean isScheduledToRemove, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn)
protected static void createLearntVpnVipToPort(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp, String portName, String macAddress)
protected static void removeLearntVpnVipToPort(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp)
public static VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp)
public static List<BigInteger> getDpnsOnVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnInstanceName)
public static String getAssociatedExternalRouter(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String extIp)
public static org.opendaylight.genius.mdsalutil.FlowEntity buildL3vpnGatewayFlow(BigInteger dpId, String gwMacAddress, long vpnId, long subnetVpnId)
public static void lockSubnet(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager, String subnetId)
public static void unlockSubnet(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager, String subnetId)
public static void runOnlyInLeaderNode(org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService entityOwnershipService, Runnable job)
public static void runOnlyInLeaderNode(org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService entityOwnershipService, Runnable job, String jobDescription)
public static boolean isVpnIntfPresentInVpnToDpnList(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, VpnInterface vpnInterface)
public static void setupGwMacIfExternalVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, BigInteger dpnId, String interfaceName, long vpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeInvTxn, int addOrRemove, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState)
public static com.google.common.base.Optional<VpnPortipToPort> getRouterInterfaceForVpnInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String interfaceName, String vpnName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
public static com.google.common.base.Optional<String> getVpnSubnetGatewayIp(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
public static RouterToNaptSwitch getRouterToNaptSwitch(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String routerName)
public static BigInteger getPrimarySwitchForRouter(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String routerName)
public static String getPrimaryRd(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnName)
dataBroker
- dataBroker service referencevpnName
- Name of the VPNpublic static String getPrimaryRd(VpnInstance vpnInstance)
vpnInstance
- Config Vpn Instance Objectpublic static List<String> getIpsListFromExternalIps(List<ExternalIps> externalIps)
public static boolean isEligibleForBgp(String rd, String vpnName, BigInteger dpnId, String networkName)
public static boolean isVpnPendingDelete(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd)
Copyright © 2018 OpenDaylight. All rights reserved.