Upstreaming changes in Netvirt
[netvirt.git] / vpnservice / fibmanager / fibmanager-api / src / main / java / org / opendaylight / netvirt / fibmanager / api / IFibManager.java
index 4bca84fbca9830dde73618f4beccfc63d95149f9..a2f19174a1d1f693c1c16c0cd8f507f3e34b85bd 100644 (file)
@@ -8,13 +8,18 @@
 
 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();
 
@@ -27,6 +32,15 @@ public interface IFibManager {
     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);
 }