2 * Copyright (c) 2015 - 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netvirt.fibmanager.api;
11 import com.google.common.util.concurrent.FutureCallback;
12 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
13 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
15 import java.math.BigInteger;
16 import java.util.List;
18 public interface IFibManager {
19 void populateFibOnNewDpn(BigInteger dpnId, long vpnId, String rd,
20 final FutureCallback<List<Void>> callback);
21 void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd,
22 String localNextHopIp, String remoteNextHopIp,
23 final FutureCallback<List<Void>> callback);
24 void populateFibOnDpn(BigInteger localDpnId, long vpnId, String rd,
25 String localNextHopIp, String remoteNextHopIp);
26 void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd,
27 final FutureCallback<List<Void>> callback);
28 List<String> printFibEntries();
30 // TODO Feels like this method is not used anywhere
31 void addStaticRoute(String prefix, String nextHop, String rd, int label);
32 void deleteStaticRoute(String prefix, String nextHop, String rd);
33 void setConfTransType(String service, String transportType);
34 String getConfTransType();
35 boolean isVPNConfigured();
36 void writeConfTransTypeConfigDS();
37 String getReqTransType();
38 String getTransportTypeStr(String tunType);
39 void handleRemoteRoute(boolean action, BigInteger localDpnId,
40 BigInteger remoteDpnId, long vpnId,
41 String rd, String destPrefix,
42 String localNextHopIp,
43 String remoteNextHopIP);
46 void addOrUpdateFibEntry(DataBroker broker, String rd, String prefix, List<String> nextHopList,
47 int label, RouteOrigin origin, WriteTransaction writeConfigTxn);
48 void removeOrUpdateFibEntry(DataBroker broker, String rd, String prefix, String nextHopToRemove, WriteTransaction writeConfigTxn);
49 void removeFibEntry(DataBroker broker, String rd, String prefix, WriteTransaction writeConfigTxn);
50 void addVrfTable(DataBroker broker, String rd, WriteTransaction writeConfigTxn);
51 void removeVrfTable(DataBroker broker, String rd, WriteTransaction writeConfigTxn);