package org.opendaylight.netvirt.fibmanager.api;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+
import java.math.BigInteger;
import java.util.List;
public interface IFibManager {
void populateFibOnNewDpn(BigInteger dpnId, long vpnId, String rd);
- void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd, String nextHopIp);
- void populateFibOnDpn(BigInteger localDpnId, BigInteger destDpnId, long vpnId, String rd, String nextHopIp);
+ void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd,
+ String localNextHopIp, String remoteNextHopIp);
+ void populateFibOnDpn(BigInteger localDpnId, long vpnId, String rd,
+ String localNextHopIp, String remoteNextHopIp);
void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd);
List<String> printFibEntries();
void writeConfTransTypeConfigDS();
String getReqTransType();
String getTransportTypeStr(String tunType);
- void handleRemoteRoute(boolean action, BigInteger localDpnId, BigInteger remoteDpnId,
- long vpnId, String rd, String destPrefix, String nextHopIp);
+ void handleRemoteRoute(boolean action, BigInteger localDpnId,
+ BigInteger remoteDpnId, long vpnId,
+ String rd, String destPrefix,
+ String localNextHopIp,
+ String remoteNextHopIP);
+
+
+ void addOrUpdateFibEntry(DataBroker broker, String rd, String prefix, List<String> nextHopList,
+ int label, RouteOrigin origin, WriteTransaction writeConfigTxn);
+ void removeOrUpdateFibEntry(DataBroker broker, String rd, String prefix, String nextHopToRemove, WriteTransaction writeConfigTxn);
+ void removeFibEntry(DataBroker broker, String rd, String prefix, WriteTransaction writeConfigTxn);
}