public final class FibUtil extends Object
Modifier and Type | Method and Description |
---|---|
static void |
addFibEntryForRouterInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String prefix,
RouterInterface routerInterface,
long label,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
static void |
addOrUpdateFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String macAddress,
String prefix,
List<String> nextHopList,
VrfEntryBase.EncapType encapType,
long label,
long l3vni,
String gwMacAddress,
String parentVpnRd,
RouteOrigin origin,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface> |
buildStateInterfaceId(String interfaceName) |
protected static boolean |
enforceVxlanDatapathSemanticsforInternalRouterVpn(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 subnetId,
long vpnId,
String rd) |
protected static boolean |
enforceVxlanDatapathSemanticsforInternalRouterVpn(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 subnetId,
String vpnName,
String rd) |
static String |
getBroadcastAddressFromCidr(String cidr) |
static String |
getCreateLocalNextHopJobKey(Long vpnId,
BigInteger dpnId,
String prefix) |
static com.google.common.base.Optional<DpnLbNexthops> |
getDpnLbNexthops(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
BigInteger dpnId,
String destinationIp) |
static Optional<String> |
getFirstNextHopAddress(VrfEntry vrfEntry) |
static String |
getGreLbGroupKey(List<String> availableDcGws) |
static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface |
getInterfaceStateFromOperDS(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String interfaceName) |
static String |
getIpPrefix(String prefix) |
static String |
getJobKeyForRdPrefix(String rd,
String prefix) |
static String |
getJobKeyForVpnIdDpnId(Long vpnId,
BigInteger dpnId) |
static Optional<Long> |
getLabelForNextHop(VrfEntry vrfEntry,
String nextHopIp) |
static Optional<Long> |
getLabelFromRoutePaths(VrfEntry vrfEntry) |
static List<String> |
getNextHopAddresses(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String prefix) |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> |
getNextHopIdentifier(String rd,
String prefix) |
static com.google.common.base.Optional<Nexthops> |
getNexthops(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
String nextHopKey) |
static Subnetmap |
getSubnetMap(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 subnetId) |
protected static Optional<Long> |
getVniForVxlanNetwork(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 subnetId) |
static long |
getVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName) |
static String |
getVpnNameFromId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
long vpnId) |
static com.google.common.base.Optional<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 boolean |
isTunnelInterface(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult) |
protected static boolean |
isVxlanNetworkAndInternalRouterVpn(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 subnetId,
String vpnInstanceName,
String rd) |
static void |
removeDpnIdToNextHopInfo(String destinationIp,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
static void |
removeFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String prefix,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
static void |
removeOrUpdateFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String prefix,
String nextHopToRemove,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
Removes a specific Nexthop from a VrfEntry.
|
static void |
removeOrUpdateNextHopInfo(BigInteger dpnId,
String nextHopKey,
String groupId,
Nexthops nexthops,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
static void |
removeVrfTable(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
static void |
updateLbGroupInfo(BigInteger dpnId,
String destinationIp,
String groupIdKey,
String groupId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
static void |
updateRoutePathForFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String rd,
String prefix,
String nextHop,
long label,
boolean nextHopAdd,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
Adds or removes nextHop from routePath based on the flag nextHopAdd.
|
static void |
updateUsedRdAndVpnToExtraRoute(org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn,
org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String tunnelIpRemoved,
String primaryRd,
String prefix) |
static void |
writeFibEntryToDs(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> vrfEntryId,
String prefix,
List<String> nextHopList,
long label,
Long l3vni,
VrfEntryBase.EncapType encapType,
RouteOrigin origin,
String macAddress,
String gatewayMacAddress,
String parentVpnRd,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn,
org.opendaylight.controller.md.sal.binding.api.DataBroker broker) |
public static long getVpnId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
public static com.google.common.base.Optional<String> getVpnNameFromRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd)
broker
- The DataBrokerrd
- The route-distinguisherpublic static String getVpnNameFromId(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, long vpnId)
public static void addOrUpdateFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String macAddress, String prefix, List<String> nextHopList, VrfEntryBase.EncapType encapType, long label, long l3vni, String gwMacAddress, String parentVpnRd, RouteOrigin origin, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public static void writeFibEntryToDs(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> vrfEntryId, String prefix, List<String> nextHopList, long label, Long l3vni, VrfEntryBase.EncapType encapType, RouteOrigin origin, String macAddress, String gatewayMacAddress, String parentVpnRd, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn, org.opendaylight.controller.md.sal.binding.api.DataBroker broker)
public static void addFibEntryForRouterInterface(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String prefix, RouterInterface routerInterface, long label, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public static void removeFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String prefix, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public static void removeOrUpdateFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String prefix, String nextHopToRemove, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
broker
- dataBroker service referencerd
- Route-Distinguisher to which the VrfEntry belongs toprefix
- Destination of the routenextHopToRemove
- Specific nexthop within the Route to be removed.
If null or empty, then the whole VrfEntry is removedpublic static void updateRoutePathForFibEntry(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String prefix, String nextHop, long label, boolean nextHopAdd, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public static void removeVrfTable(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public static Optional<Long> getLabelForNextHop(VrfEntry vrfEntry, String nextHopIp)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface> buildStateInterfaceId(String interfaceName)
public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface getInterfaceStateFromOperDS(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String interfaceName)
public static String getCreateLocalNextHopJobKey(Long vpnId, BigInteger dpnId, String prefix)
public static String getJobKeyForVpnIdDpnId(Long vpnId, BigInteger dpnId)
public static void updateUsedRdAndVpnToExtraRoute(org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeOperTxn, org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String tunnelIpRemoved, String primaryRd, String prefix)
public static boolean isTunnelInterface(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> getNextHopIdentifier(String rd, String prefix)
public static List<String> getNextHopAddresses(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String rd, String prefix)
public static Subnetmap getSubnetMap(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 subnetId)
public static void updateLbGroupInfo(BigInteger dpnId, String destinationIp, String groupIdKey, String groupId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
public static void removeDpnIdToNextHopInfo(String destinationIp, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
public static void removeOrUpdateNextHopInfo(BigInteger dpnId, String nextHopKey, String groupId, Nexthops nexthops, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
public static com.google.common.base.Optional<Nexthops> getNexthops(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, String nextHopKey)
public static com.google.common.base.Optional<DpnLbNexthops> getDpnLbNexthops(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, BigInteger dpnId, String destinationIp)
protected static boolean isVxlanNetworkAndInternalRouterVpn(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 subnetId, String vpnInstanceName, String rd)
protected static Optional<Long> getVniForVxlanNetwork(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 subnetId)
protected static boolean enforceVxlanDatapathSemanticsforInternalRouterVpn(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 subnetId, long vpnId, String rd)
protected static boolean enforceVxlanDatapathSemanticsforInternalRouterVpn(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 subnetId, String vpnName, String rd)
Copyright © 2018 OpenDaylight. All rights reserved.