X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=fibmanager%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Ffibmanager%2Fapi%2FFibHelper.java;h=bb6a9d53a2cf1546496b166d3e524cd0a0972b9d;hb=cf1ea9172b94fc17e45391b62bf4ca24ac5c5fe0;hp=7b85a6804d87adc824ed05f0fd68b584c69444db;hpb=09e87c1f400b1f41e1efa1a53d1fdcbfc8ac63a8;p=netvirt.git diff --git a/fibmanager/api/src/main/java/org/opendaylight/netvirt/fibmanager/api/FibHelper.java b/fibmanager/api/src/main/java/org/opendaylight/netvirt/fibmanager/api/FibHelper.java index 7b85a6804d..bb6a9d53a2 100644 --- a/fibmanager/api/src/main/java/org/opendaylight/netvirt/fibmanager/api/FibHelper.java +++ b/fibmanager/api/src/main/java/org/opendaylight/netvirt/fibmanager/api/FibHelper.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.netvirt.fibmanager.api; import static java.util.Comparator.comparing; @@ -17,12 +16,14 @@ import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.FibEntries; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTables; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTablesKey; @@ -35,12 +36,15 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev15033 import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder; +import org.opendaylight.yangtools.yang.common.Uint32; +import org.opendaylight.yangtools.yang.common.Uint64; public final class FibHelper { + private FibHelper() { - private FibHelper() { } + } - public static RoutePaths buildRoutePath(String nextHop, Long label) { + public static RoutePaths buildRoutePath(String nextHop, Uint32 label) { RoutePathsBuilder builder = new RoutePathsBuilder() .withKey(new RoutePathsKey(nextHop)) .setNexthopAddress(nextHop); @@ -61,7 +65,7 @@ public final class FibHelper { .setRoutePaths(routePaths).setOrigin(origin.getValue()).setParentVpnRd(parentVpnRd); } - public static VrfEntryBuilder getVrfEntryBuilder(String prefix, long label, String nextHop, RouteOrigin origin, + public static VrfEntryBuilder getVrfEntryBuilder(String prefix, Uint32 label, String nextHop, RouteOrigin origin, @Nullable String parentVpnRd) { if (nextHop != null) { RoutePaths routePath = buildRoutePath(nextHop, label); @@ -71,7 +75,7 @@ public final class FibHelper { } } - public static VrfEntryBuilder getVrfEntryBuilder(VrfEntry vrfEntry, long label, + public static VrfEntryBuilder getVrfEntryBuilder(VrfEntry vrfEntry, Uint32 label, List nextHopList, RouteOrigin origin, @Nullable String parentvpnRd) { List routePaths = nextHopList.stream().map(nextHop -> buildRoutePath(nextHop, label)) @@ -110,25 +114,25 @@ public final class FibHelper { } public static List getNextHopListFromRoutePaths(final VrfEntry vrfEntry) { - List routePaths = vrfEntry.getRoutePaths(); - if (routePaths == null || routePaths.isEmpty()) { + Map keyRoutePathsMap = vrfEntry.getRoutePaths(); + if (keyRoutePathsMap == null || keyRoutePathsMap.isEmpty()) { return new ArrayList<>(); } - return routePaths.stream() + return keyRoutePathsMap.values().stream() .map(RoutePaths::getNexthopAddress) .collect(Collectors.toList()); } - public static com.google.common.base.Optional getVrfEntry(DataBroker broker, String rd, String ipPrefix) { + public static Optional getVrfEntry(DataBroker broker, String rd, String ipPrefix) { InstanceIdentifier vrfEntryId = InstanceIdentifier.builder(FibEntries.class) .child(VrfTables.class, new VrfTablesKey(rd)) .child(VrfEntry.class, new VrfEntryKey(ipPrefix)).build(); return read(broker, LogicalDatastoreType.CONFIGURATION, vrfEntryId); } - private static com.google.common.base.Optional read(DataBroker broker, + private static Optional read(DataBroker broker, LogicalDatastoreType datastoreType, InstanceIdentifier path) { - try (ReadOnlyTransaction tx = broker.newReadOnlyTransaction()) { + try (ReadTransaction tx = broker.newReadOnlyTransaction()) { return tx.read(datastoreType, path).get(); } catch (InterruptedException | ExecutionException e) { throw new RuntimeException(e); @@ -280,4 +284,8 @@ public final class FibHelper { } return bb; } + + public static String getJobKeyForDcGwLoadBalancingGroup(Uint64 dpnId) { + return new StringBuilder().append("NextHopManager").append(dpnId).toString(); + } }