Merge "Using DataStoreJobCoordinator"
[netvirt.git] / vpnservice / fibmanager / fibmanager-api / src / main / java / org / opendaylight / netvirt / fibmanager / api / IFibManager.java
1 /*
2  * Copyright (c) 2015 - 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.netvirt.fibmanager.api;
10
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;
14
15 import java.math.BigInteger;
16 import java.util.List;
17
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();
29
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);
44
45
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);
52 }