public final class VpnUtil extends Object
Modifier and Type | Class and Description |
---|---|
static class |
VpnUtil.MicroTimestamp
Class to generate timestamps with microsecond precision.
|
Modifier and Type | Method and Description |
---|---|
static void |
addRouterPortToElanDpn(String elanInstanceName,
String routerInterfacePortId,
String vpnName,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker) |
static void |
addRouterPortToElanDpnListForVlaninAllDpn(String vpnName,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
Adds router port for all elan network of type VLAN which is a part of vpnName in all the DPN which has a port
This will create the vlan footprint in all the DPN's which are member of the VPN.
|
static void |
addRouterPortToElanForVlanInDpn(String vpnName,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
Adds router port for all elan network of type VLAN which is a part of vpnName in the DPN with dpnId.
|
static org.opendaylight.genius.mdsalutil.FlowEntity |
buildL3vpnGatewayFlow(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
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,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn) |
protected static void |
createLearntVpnVipToPortEvent(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String srcIp,
String destIP,
String portName,
String macAddress,
LearntVpnVipToPortEventAction action,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn) |
static List<VrfEntry> |
findVrfEntriesByNexthop(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String nexthop) |
static List<VpnInstanceOpDataEntry> |
getAllVpnInstanceOpData(org.opendaylight.controller.md.sal.binding.api.DataBroker broker) |
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,
INeutronVpnManager neutronVpnService) |
static BigInteger |
getCookieArpFlow(int interfaceTag) |
static BigInteger |
getCookieL3(int vpnId) |
static Set<BigInteger> |
getDpnInElan(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
Map<String,String> elanInstanceRouterPortMap) |
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 org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> |
getElanDpnInterfaceOperationalDataPath(String elanInstanceName,
BigInteger dpId) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanDpnInterfacesList> |
getElanDpnOperationalDataPath(String elanInstanceName) |
static ElanTagName |
getElanInfoByElanTag(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long elanTag) |
static ElanInstance |
getElanInstanceByName(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String elanInstanceName) |
static Map<String,String> |
getElanInstanceRouterPortMap(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName) |
static ElanInterface |
getElanInterfaceByElanInterfaceName(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String elanInterfaceName) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> |
getElanInterfaceConfigurationDataPathId(String interfaceName) |
static DpnInterfaces |
getElanInterfaceInfoByElanDpn(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String elanInstanceName,
BigInteger dpId) |
static String |
getExternalElanInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String elanInstanceName,
BigInteger dpnId,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager) |
static String |
getFlowRef(BigInteger dpnId,
short tableId,
int ethType,
int lportTag,
int arpType) |
static com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> |
getInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String interfaceName) |
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 |
getInternetVpnFromVpnInstanceList(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
List<VpnInstanceNames> vpnInstanceList) |
static String |
getIpPrefix(String prefix) |
static List<String> |
getIpsListFromExternalIps(List<ExternalIps> externalIps) |
static IpVersionChoice |
getIpVersionFromString(String ipAddress)
Get IpVersionChoice from String IP like x.x.x.x or an representation IPv6.
|
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 vpnName,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid) |
static String |
getRouterPordIdFromElanInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String elanInstanceName) |
static RouterToNaptSwitch |
getRouterToNaptSwitch(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String routerName) |
static List<String> |
getRts(VpnInstanceOpDataEntry vpnInstance,
VpnTarget.VrfRTType rtType) |
static Subnetmap |
getSubnetmapFromItsUuid(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
Get Subnetmap from its Uuid.
|
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 List<String> |
getVpnListForVpnInterface(VpnInterface vpnInter) |
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 |
getVpnNameFromElanIntanceName(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String elanInstanceName) |
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 List<VpnInstanceOpDataEntry> |
getVpnsImportingMyRoute(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName) |
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 <T> Iterable<T> |
intersection(Collection<T> collection1,
Collection<T> collection2) |
static boolean |
isAdjacencyEligibleToVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
Adjacency adjacency,
String vpnName) |
static boolean |
isAdjacencyEligibleToVpnInternet(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
Adjacency adjacency) |
static boolean |
isBgpVpn(String vpnName,
String primaryRd) |
static boolean |
isBgpVpnInternet(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName)
Get boolean true if vpn is bgpvpn internet, false otherwise.
|
static boolean |
isEligibleForBgp(String rd,
String vpnName,
BigInteger dpnId,
String networkName) |
static boolean |
isMatchedPrefixToInterface(Prefixes prefix,
VpnInterfaceOpDataEntry vpnInterface) |
static boolean |
isSubnetPartOfVpn(Subnetmap sn,
String vpnName) |
static boolean |
isVlan(org.opendaylight.controller.md.sal.binding.api.DataBroker databroker,
String interfaceName) |
static boolean |
isVlan(ElanInstance elanInstance) |
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 void |
releaseId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
String poolName,
String idKey) |
static void |
removeL3nexthopForVpnId(long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx) |
protected static void |
removeLearntVpnVipToPort(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn) |
protected static void |
removeLearntVpnVipToPortEvent(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String eventId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn) |
static void |
removeMipAdjacency(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName,
String vpnInterface,
String prefix,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
static void |
removeMipAdjAndLearntIp(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName,
String vpnInterface,
String prefix) |
static boolean |
removeOrUpdateDSForExtraRoute(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
IFibManager fibManager,
String vpnName,
String primaryRd,
String extraRouteRd,
String vpnInterfaceName,
String prefix,
String nextHop,
String nextHopTunnelIp,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
static void |
removePrefixToInterfaceForVpnId(long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx) |
static void |
removeRouterPortFromElanDpn(String elanInstanceName,
String routerInterfacePortId,
String vpnName,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker) |
static void |
removeRouterPortFromElanDpnListForVlanInAllDpn(String elanInstanceName,
String routerInterfacePortId,
String vpnName,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
Removes router port for all elan network of type VLAN which is a part of vpnName in all the DPN which has a port
This will remove the vlan footprint in all the DPN's which are member of the VPN.
|
static void |
removeRouterPortFromElanForVlanInDpn(String vpnName,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
Removes router port for all elan network of type VLAN which is a part of vpnName in the DPN with dpnId.
|
static void |
removeVpnExtraRouteForVpn(String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx) |
static void |
removeVpnIdToVpnInstance(long vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction confTx) |
static void |
removeVpnInstanceToVpnId(String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction confTx) |
static void |
removeVpnOpInstance(String vpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx) |
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 |
scheduleVpnInterfaceForRemoval(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String interfaceName,
BigInteger dpnId,
String vpnInstanceName,
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,
String gwMac) |
static boolean |
shouldPopulateFibForVlan(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName,
String elanInstanceName,
BigInteger dpnId,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager) |
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)
Deprecated.
|
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)
Deprecated.
|
static void |
unlockSubnet(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager,
String subnetId) |
static void |
unsetScheduledToRemoveForVpnInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String interfaceName) |
static void |
updateVpnInstanceWithRdList(org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String vpnName,
List<String> updatedRdList) |
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<VpnInstanceOpDataEntry> getAllVpnInstanceOpData(org.opendaylight.controller.md.sal.binding.api.DataBroker broker)
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 boolean removeOrUpdateDSForExtraRoute(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, IFibManager fibManager, String vpnName, String primaryRd, String extraRouteRd, String vpnInterfaceName, String prefix, String nextHop, String nextHopTunnelIp, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
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)
@Deprecated 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)
@Deprecated 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(long vpnId, @Nonnull org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx)
public static void removeVpnExtraRouteForVpn(String vpnName, @Nonnull org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx)
public static void removeVpnOpInstance(String vpnName, @Nonnull org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx)
public static void removeVpnInstanceToVpnId(String vpnName, @Nonnull org.opendaylight.controller.md.sal.binding.api.WriteTransaction confTx)
public static void removeVpnIdToVpnInstance(long vpnId, @Nonnull org.opendaylight.controller.md.sal.binding.api.WriteTransaction confTx)
public static void removeL3nexthopForVpnId(long vpnId, @Nonnull org.opendaylight.controller.md.sal.binding.api.WriteTransaction operTx)
public static void scheduleVpnInterfaceForRemoval(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String interfaceName, BigInteger dpnId, String vpnInstanceName, 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, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn)
protected static void removeLearntVpnVipToPort(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn)
protected static void createLearntVpnVipToPortEvent(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String srcIp, String destIP, String portName, String macAddress, LearntVpnVipToPortEventAction action, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn)
protected static void removeLearntVpnVipToPortEvent(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String eventId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn)
public static void removeMipAdjacency(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnName, String vpnInterface, String prefix, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public static void removeMipAdjAndLearntIp(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnName, String vpnInterface, String prefix)
public static VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp)
@Nonnull 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, INeutronVpnManager neutronVpnService)
public static org.opendaylight.genius.mdsalutil.FlowEntity buildL3vpnGatewayFlow(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, 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 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, String gwMac)
public static com.google.common.base.Optional<VpnPortipToPort> getRouterInterfaceForVpnInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, 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)
public static List<VpnInstanceOpDataEntry> getVpnsImportingMyRoute(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
public static List<String> getRts(VpnInstanceOpDataEntry vpnInstance, VpnTarget.VrfRTType rtType)
public static <T> Iterable<T> intersection(Collection<T> collection1, Collection<T> collection2)
public static Subnetmap getSubnetmapFromItsUuid(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
broker
- the data broker for look for datasubnetUuid
- the subnet's Uuidpublic static boolean isAdjacencyEligibleToVpnInternet(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, Adjacency adjacency)
public static boolean isAdjacencyEligibleToVpn(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, Adjacency adjacency, String vpnName)
public static String getInternetVpnFromVpnInstanceList(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, List<VpnInstanceNames> vpnInstanceList)
public static boolean isBgpVpnInternet(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnName)
dataBroker
- databroker for transactionvpnName
- name of the input VPNpublic static IpVersionChoice getIpVersionFromString(String ipAddress)
ipAddress
- String of an representation IP address V4 or V6public static void unsetScheduledToRemoveForVpnInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String interfaceName)
public static void addRouterPortToElanForVlanInDpn(String vpnName, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
vpnName
- the vpnNamedpnId
- the DPN iddataBroker
- the data Brokerpublic static void removeRouterPortFromElanForVlanInDpn(String vpnName, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
vpnName
- the vpn namedpnId
- the DPN iddataBroker
- the data Brokerpublic static void addRouterPortToElanDpnListForVlaninAllDpn(String vpnName, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
vpnName
- the vpn namedataBroker
- the data brokerpublic static void removeRouterPortFromElanDpnListForVlanInAllDpn(String elanInstanceName, String routerInterfacePortId, String vpnName, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
routerInterfacePortId
- this will add the current subnet router port id to the map for removalelanInstanceName
- the current elanstance being removed this will be added to map for removalvpnName
- the vpn namedataBroker
- the databrokerpublic static Set<BigInteger> getDpnInElan(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, Map<String,String> elanInstanceRouterPortMap)
public static void addRouterPortToElanDpn(String elanInstanceName, String routerInterfacePortId, String vpnName, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
public static void removeRouterPortFromElanDpn(String elanInstanceName, String routerInterfacePortId, String vpnName, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
public static ElanInterface getElanInterfaceByElanInterfaceName(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String elanInterfaceName)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> getElanInterfaceConfigurationDataPathId(String interfaceName)
public static com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface> getInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String interfaceName)
public static DpnInterfaces getElanInterfaceInfoByElanDpn(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String elanInstanceName, BigInteger dpId)
public static String getExternalElanInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String elanInstanceName, BigInteger dpnId, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
public static boolean isVlan(ElanInstance elanInstance)
public static boolean isVlan(org.opendaylight.controller.md.sal.binding.api.DataBroker databroker, String interfaceName)
public static ElanInstance getElanInstanceByName(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String elanInstanceName)
public static String getVpnNameFromElanIntanceName(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String elanInstanceName)
public static Map<String,String> getElanInstanceRouterPortMap(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnName)
public static String getRouterPordIdFromElanInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String elanInstanceName)
public static boolean shouldPopulateFibForVlan(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String vpnName, String elanInstanceName, BigInteger dpnId, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> getElanDpnInterfaceOperationalDataPath(String elanInstanceName, BigInteger dpId)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanDpnInterfacesList> getElanDpnOperationalDataPath(String elanInstanceName)
public static boolean isMatchedPrefixToInterface(Prefixes prefix, VpnInterfaceOpDataEntry vpnInterface)
public static List<String> getVpnListForVpnInterface(VpnInterface vpnInter)
Copyright © 2019 OpenDaylight. All rights reserved.