This patch removes unused methods, classes and fields.
Change-Id: I03e98891e0a0a5be6a88c2132c97935aeb31f4bc
Signed-off-by: Stephen Kitt <skitt@redhat.com>
return idBuilder.build();
}
- public static boolean isControllerManagedRoute(RouteOrigin routeOrigin) {
- return routeOrigin == RouteOrigin.STATIC
- || routeOrigin == RouteOrigin.CONNECTED
- || routeOrigin == RouteOrigin.LOCAL
- || routeOrigin == RouteOrigin.INTERVPN;
- }
-
public static boolean isControllerManagedNonInterVpnLinkRoute(RouteOrigin routeOrigin) {
return routeOrigin == RouteOrigin.STATIC
|| routeOrigin == RouteOrigin.CONNECTED
}
}
- public static InstanceIdentifier<RoutePaths> getRoutePathsIdentifier(String rd, String prefix, String nh) {
- return InstanceIdentifier.builder(FibEntries.class)
- .child(VrfTables.class,new VrfTablesKey(rd)).child(VrfEntry.class,new VrfEntryKey(prefix))
- .child(RoutePaths.class, new RoutePathsKey(nh)).build();
- }
-
public static List<String> getNextHopListFromRoutePaths(final VrfEntry vrfEntry) {
List<RoutePaths> routePaths = vrfEntry.getRoutePaths();
if (routePaths == null || routePaths.isEmpty()) {
return val;
}
- /**This methode return the bytes representation from an IP.
- * @param ipBigInteger value integer of IP to convert
- * @param isIpv4 if is ipv4 setup to true if ipv6 setup to false
- * @return byte[] which contained the representation of bytes from th ip value
- */
- public static byte[] unpackBigInteger(BigInteger ipBigInteger, boolean isIpv4) {
- int sizeBloc = 4;
- if (!isIpv4) {
- sizeBloc = 128 / 8;// if ipv6 size of dataIP is 128 bits
- }
- byte[] res = new byte[sizeBloc];
- for (int i = 0 ; i < sizeBloc ; i++) {
- BigInteger bigInt = ipBigInteger.shiftRight(i * 8);
- bigInt = bigInt.and(BigInteger.valueOf(0xFF));
- res[sizeBloc - 1 - i] = bigInt.byteValue();
- }
- return res;
- }
-
/**get the bits cache mask of net for a ip version type.
* @param ipVersion version of ip must be 4 or 6
* @param mask the lengh of the mask of net as 24 from this representation 10.1.1.0/24 or 64 for 2001::1/64
return value;
}
- public String getDescription() {
- return description;
- }
-
}
@Singleton
-public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
- implements ResourceHandler, IVrfEntryHandler {
+public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler implements ResourceHandler {
private static final Logger LOG = LoggerFactory.getLogger(BgpRouteVrfEntryHandler.class);
private static final int BATCH_INTERVAL = 500;
}
}
- @Override
- public void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
+ void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
ActionableResource actResource = new ActionableResourceImpl(rd + vrfEntry.getDestPrefix());
actResource.setAction(ActionableResource.CREATE);
actResource.setInstanceIdentifier(identifier);
vrfEntryBufferQ.add(actResource);
}
- @Override
- public void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
+ void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
ActionableResource actResource = new ActionableResourceImpl(rd + vrfEntry.getDestPrefix());
actResource.setAction(ActionableResource.DELETE);
actResource.setInstanceIdentifier(identifier);
vrfEntryBufferQ.add(actResource);
}
- @Override
- public void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd) {
+ void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd) {
ActionableResource actResource = new ActionableResourceImpl(rd + update.getDestPrefix());
actResource.setAction(ActionableResource.UPDATE);
actResource.setInstanceIdentifier(identifier);
import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions;
import org.opendaylight.genius.utils.batching.SubTransaction;
import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
-import org.opendaylight.netvirt.elanmanager.api.IElanService;
import org.opendaylight.netvirt.fibmanager.api.RouteOrigin;
import org.opendaylight.serviceutils.upgrade.UpgradeState;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
import org.slf4j.LoggerFactory;
-public class EvpnVrfEntryHandler extends BaseVrfEntryHandler implements IVrfEntryHandler {
+public class EvpnVrfEntryHandler extends BaseVrfEntryHandler {
private static final Logger LOG = LoggerFactory.getLogger(EvpnVrfEntryHandler.class);
private final ManagedNewTransactionRunner txRunner;
private final VrfEntryListener vrfEntryListener;
private final BgpRouteVrfEntryHandler bgpRouteVrfEntryHandler;
private final NexthopManager nexthopManager;
private final JobCoordinator jobCoordinator;
- private final IElanService elanManager;
EvpnVrfEntryHandler(DataBroker broker, VrfEntryListener vrfEntryListener,
BgpRouteVrfEntryHandler bgpRouteVrfEntryHandler, NexthopManager nexthopManager,
- JobCoordinator jobCoordinator, IElanService elanManager, FibUtil fibUtil,
+ JobCoordinator jobCoordinator, FibUtil fibUtil,
final UpgradeState upgradeState, final DataTreeEventCallbackRegistrar eventCallbacks) {
super(broker, nexthopManager, null, fibUtil, upgradeState, eventCallbacks);
this.txRunner = new ManagedNewTransactionRunnerImpl(broker);
this.bgpRouteVrfEntryHandler = bgpRouteVrfEntryHandler;
this.nexthopManager = nexthopManager;
this.jobCoordinator = jobCoordinator;
- this.elanManager = elanManager;
}
- @Override
- public void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
+ void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
LOG.info("Initiating creation of Evpn Flows");
final VrfTablesKey vrfTableKey = identifier.firstKeyOf(VrfTables.class);
final VpnInstanceOpDataEntry vpnInstance = getFibUtil().getVpnInstanceOpData(
createRemoteEvpnFlows(rd, vrfEntry, vpnInstance, localDpnId, vrfTableKey, isNatPrefix);
}
- @Override
- public void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
+ void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
final VrfTablesKey vrfTableKey = identifier.firstKeyOf(VrfTables.class);
final VpnInstanceOpDataEntry vpnInstance = getFibUtil().getVpnInstanceOpData(
vrfTableKey.getRouteDistinguisher()).get();
vrfEntryListener.cleanUpOpDataForFib(vpnInstance.getVpnId(), rd, vrfEntry);
}
- @Override
- public void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd) {
- //Not used
- }
-
private List<BigInteger> createLocalEvpnFlows(long vpnId, String rd, VrfEntry vrfEntry,
Prefixes localNextHopInfo) {
List<BigInteger> returnLocalDpnId = new ArrayList<>();
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.RemoveFibEntryInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.RemoveFibEntryOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fib.rpc.rev160121.RemoveFibEntryOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.VpnInstanceOpData;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.VpnInstanceToVpnId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntryBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntryKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.VpnToDpnList;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.VpnToDpnListKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.vpn.to.dpn.list.IpAddresses;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.to.vpn.id.VpnInstance;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.to.vpn.id.VpnInstanceKey;
}
- static InstanceIdentifier<VpnToDpnList> getVpnToDpnListIdentifier(String rd, BigInteger dpnId) {
- return InstanceIdentifier.builder(VpnInstanceOpData.class)
- .child(VpnInstanceOpDataEntry.class, new VpnInstanceOpDataEntryKey(rd))
- .child(VpnToDpnList.class, new VpnToDpnListKey(dpnId)).build();
- }
-
- static InstanceIdentifier<VpnInstanceOpDataEntry> getVpnInstanceOpDataIdentifier(String rd) {
- return InstanceIdentifier.builder(VpnInstanceOpData.class)
- .child(VpnInstanceOpDataEntry.class, new VpnInstanceOpDataEntryKey(rd)).build();
- }
-
- static VpnInstanceOpDataEntry getVpnInstanceOpData(String rd, long vpnId, String vpnName) {
- return new VpnInstanceOpDataEntryBuilder().setVrfId(rd).setVpnId(vpnId).setVpnInstanceName(vpnName).build();
- }
-
static long getVpnId(DataBroker broker, String vpnName) {
InstanceIdentifier<VpnInstance> id = getVpnInstanceToVpnIdIdentifier(vpnName);
return MDSALUtil.read(broker, LogicalDatastoreType.CONFIGURATION, id).toJavaUtil().map(
import org.opendaylight.genius.mdsalutil.NWUtil;
import org.opendaylight.genius.mdsalutil.NwConstants;
import org.opendaylight.genius.utils.JvmGlobalLocks;
-import org.opendaylight.netvirt.elanmanager.api.IElanService;
import org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult;
import org.opendaylight.netvirt.fibmanager.api.FibHelper;
import org.opendaylight.netvirt.fibmanager.api.RouteOrigin;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentries.VrfEntryBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentries.VrfEntryKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentrybase.RoutePaths;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.Adjacencies;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.AdjacenciesOp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.DpidL3vpnLbNexthops;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.L3vpnLbNexthops;
private static final String FLOWID_PREFIX = "L3.";
private final DataBroker dataBroker;
- private final IElanService elanManager;
private final IdManagerService idManager;
private final IITMProvider iitmProvider;
@Inject
- public FibUtil(DataBroker dataBroker, IElanService elanManager, IdManagerService idManager,
- IITMProvider iitmProvider) {
+ public FibUtil(DataBroker dataBroker, IdManagerService idManager, IITMProvider iitmProvider) {
this.dataBroker = dataBroker;
- this.elanManager = elanManager;
this.idManager = idManager;
this.iitmProvider = iitmProvider;
}
- static InstanceIdentifier<Adjacency> getAdjacencyIdentifier(String vpnInterfaceName, String ipAddress) {
- return InstanceIdentifier.builder(org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang
- .l3vpn.rev140815.VpnInterfaces.class)
- .child(org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces
- .VpnInterface.class,
- new org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces
- .VpnInterfaceKey(vpnInterfaceName))
- .augmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.Adjacencies.class)
- .child(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.adjacency.list.Adjacency.class,
- new org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.adjacency.list
- .AdjacencyKey(ipAddress)).build();
- }
-
static InstanceIdentifier<Adjacency> getAdjacencyIdentifierOp(String vpnInterfaceName,
String vpnName, String ipAddress) {
LOG.debug("getAdjacencyIdentifierOp vpninterface {} vpn {} ip {}", vpnInterfaceName, vpnName, ipAddress);
.AdjacencyKey(ipAddress)).build();
}
- static InstanceIdentifier<Adjacencies> getAdjListPath(String vpnInterfaceName) {
- return InstanceIdentifier.builder(org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn
- .rev140815.VpnInterfaces.class)
- .child(org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces
- .VpnInterface.class,
- new org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.interfaces
- .VpnInterfaceKey(vpnInterfaceName))
- .augmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.Adjacencies.class)
- .build();
- }
-
static InstanceIdentifier<AdjacenciesOp> getAdjListPathOp(String vpnInterfaceName, String vpnName) {
return getVpnInterfaceOpDataEntryIdentifier(vpnInterfaceName, vpnName).builder()
.augmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911
+++ /dev/null
-/*
- * Copyright © 2017 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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;
-
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentries.VrfEntry;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-
-public interface IVrfEntryHandler {
-
- void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd);
-
- void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd);
-
- void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd);
-}
prefixIp) : null;
}
- @Nullable
- public BigInteger getDpnForPrefix(long vpnId, String prefixIp) {
- VpnNexthop vpnNexthop = getVpnNexthop(vpnId, prefixIp);
- return vpnNexthop == null ? null : vpnNexthop.getDpnId();
- }
-
private void removeVpnNexthopFromDS(long vpnId, String ipPrefix) {
InstanceIdentifierBuilder<VpnNexthop> idBuilder = InstanceIdentifier.builder(L3nexthop.class)
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentries.VrfEntry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.VpnInstanceOpDataEntry;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.VpnToDpnList;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Singleton
-public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler implements IVrfEntryHandler {
+public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler {
private static final Logger LOG = LoggerFactory.getLogger(RouterInterfaceVrfEntryHandler.class);
private final IMdsalApiManager mdsalManager;
LOG.info("{} close", getClass().getSimpleName());
}
- @Override
- public void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
+ void createFlows(VrfEntry vrfEntry, String rd) {
RouterInterface routerInt = vrfEntry.augmentation(RouterInterface.class);
installRouterFibEntries(vrfEntry, rd, NwConstants.ADD_FLOW, routerInt);
}
- @Override
- public void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd) {
- // Not used
- }
-
- @Override
- public void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
+ void removeFlows(VrfEntry vrfEntry, String rd) {
RouterInterface routerInt = vrfEntry.augmentation(RouterInterface.class);
installRouterFibEntries(vrfEntry, rd, NwConstants.DEL_FLOW, routerInt);
}
if (VrfEntry.EncapType.Vxlan.equals(vrfEntry.getEncapType())) {
LOG.info("EVPN flows need to be programmed.");
EvpnVrfEntryHandler evpnVrfEntryHandler = new EvpnVrfEntryHandler(dataBroker, this, bgpRouteVrfEntryHandler,
- nextHopManager, jobCoordinator, elanManager, fibUtil, upgradeState, eventCallbacks);
+ nextHopManager, jobCoordinator, fibUtil, upgradeState, eventCallbacks);
evpnVrfEntryHandler.createFlows(identifier, vrfEntry, rd);
closeables.add(evpnVrfEntryHandler);
return;
RouterInterface routerInt = vrfEntry.augmentation(RouterInterface.class);
if (routerInt != null) {
// ping responder for router interfaces
- routerInterfaceVrfEntryHandler.createFlows(identifier, vrfEntry, rd);
+ routerInterfaceVrfEntryHandler.createFlows(vrfEntry, rd);
return;
}
if (RouteOrigin.value(vrfEntry.getOrigin()) != RouteOrigin.BGP) {
if (VrfEntry.EncapType.Vxlan.equals(vrfEntry.getEncapType())) {
LOG.info("EVPN flows to be deleted");
EvpnVrfEntryHandler evpnVrfEntryHandler = new EvpnVrfEntryHandler(dataBroker, this, bgpRouteVrfEntryHandler,
- nextHopManager, jobCoordinator, elanManager, fibUtil, upgradeState, eventCallbacks);
+ nextHopManager, jobCoordinator, fibUtil, upgradeState, eventCallbacks);
evpnVrfEntryHandler.removeFlows(identifier, vrfEntry, rd);
closeables.add(evpnVrfEntryHandler);
return;
RouterInterface routerInt = vrfEntry.augmentation(RouterInterface.class);
if (routerInt != null) {
// ping responder for router interfaces
- routerInterfaceVrfEntryHandler.removeFlows(identifier, vrfEntry, rd);
+ routerInterfaceVrfEntryHandler.removeFlows(vrfEntry, rd);
return;
}
if (RouteOrigin.value(vrfEntry.getOrigin()) != RouteOrigin.BGP) {