diff --git a/pom.xml b/pom.xml
index f3e0623..16f8b2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,17 +73,22 @@
       <dependency>
         <groupId>com.ibm.disni</groupId>
         <artifactId>disni</artifactId>
-        <version>1.7</version>
+        <version>2.0</version>
       </dependency>
       <dependency>
         <groupId>com.ibm.darpc</groupId>
         <artifactId>darpc</artifactId>
-        <version>1.7</version>
+        <version>1.8</version>
       </dependency>
       <dependency>
         <groupId>com.ibm.narpc</groupId>
         <artifactId>narpc</artifactId>
-        <version>1.1</version>
+        <version>1.4</version>
+			</dependency>
+      <dependency>
+        <groupId>com.ibm.jnvmf</groupId>
+        <artifactId>jnvmf</artifactId>
+        <version>1.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.hadoop</groupId>
diff --git a/rpc-darpc/pom.xml b/rpc-darpc/pom.xml
index eb584d7..4003c7d 100644
--- a/rpc-darpc/pom.xml
+++ b/rpc-darpc/pom.xml
@@ -40,7 +40,6 @@
     <dependency>
       <groupId>com.ibm.darpc</groupId>
       <artifactId>darpc</artifactId>
-      <version>1.6</version>
     </dependency>
     <dependency>
       <groupId>log4j</groupId>
diff --git a/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeServer.java b/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeServer.java
index 56f168e..459c14e 100644
--- a/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeServer.java
+++ b/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeServer.java
@@ -27,7 +27,7 @@
 
 import com.ibm.darpc.DaRPCServerEndpoint;
 import com.ibm.darpc.DaRPCServerGroup;
-import com.ibm.disni.rdma.RdmaServerEndpoint;
+import com.ibm.disni.RdmaServerEndpoint;
 
 public class DaRPCNameNodeServer extends RpcServer {
 	private static final Logger LOG = CrailUtils.getLogger();
diff --git a/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpRpcDispatcher.java b/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpRpcDispatcher.java
index 8f1aff0..4e2358c 100644
--- a/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpRpcDispatcher.java
+++ b/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpRpcDispatcher.java
@@ -19,6 +19,7 @@
 package org.apache.crail.namenode.rpc.tcp;
 
 import com.ibm.narpc.NaRPCService;
+import com.ibm.narpc.NaRPCServerChannel;
 
 import org.apache.crail.rpc.RpcErrors;
 import org.apache.crail.rpc.RpcNameNodeService;
@@ -99,4 +100,10 @@
 		
 		return response;		
 	}
+
+	public void removeEndpoint(NaRPCServerChannel channel){
+	}
+
+	public void addEndpoint(NaRPCServerChannel channel){
+	}
 }
diff --git a/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java b/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java
index a66537f..b0924d3 100644
--- a/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java
+++ b/storage-narpc/src/main/java/org/apache/crail/storage/tcp/TcpStorageServer.java
@@ -144,4 +144,12 @@
 			return new TcpStorageResponse(TcpStorageProtocol.RET_RPC_UNKNOWN);
 		}
 	}
+
+	@Override
+	public void addEndpoint(NaRPCServerChannel channel){
+	}
+
+	@Override
+	public void removeEndpoint(NaRPCServerChannel channel){
+	}
 }
diff --git a/storage-nvmf/pom.xml b/storage-nvmf/pom.xml
index f395cb1..832d4a3 100644
--- a/storage-nvmf/pom.xml
+++ b/storage-nvmf/pom.xml
@@ -40,7 +40,6 @@
     <dependency>
       <groupId>com.ibm.jnvmf</groupId>
       <artifactId>jnvmf</artifactId>
-      <version>1.4</version>
     </dependency>
     <dependency>
       <groupId>log4j</groupId>
diff --git a/storage-rdma/pom.xml b/storage-rdma/pom.xml
index 4e67953..0ee512a 100644
--- a/storage-rdma/pom.xml
+++ b/storage-rdma/pom.xml
@@ -40,7 +40,6 @@
     <dependency>
       <groupId>com.ibm.disni</groupId>
       <artifactId>disni</artifactId>
-      <version>1.6</version>
     </dependency>
     <dependency>
       <groupId>log4j</groupId>
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/MrCache.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/MrCache.java
index 36a692f..70f75e6 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/MrCache.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/MrCache.java
@@ -25,8 +25,8 @@
 
 import org.apache.crail.CrailBuffer;
 
-import com.ibm.disni.rdma.verbs.IbvMr;
-import com.ibm.disni.rdma.verbs.IbvPd;
+import com.ibm.disni.verbs.IbvMr;
+import com.ibm.disni.verbs.IbvPd;
 
 public class MrCache {
 	private ConcurrentHashMap<Integer, DeviceMrCache> cache;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageEndpointFactory.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageEndpointFactory.java
index c79bdc7..e0eb1b6 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageEndpointFactory.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageEndpointFactory.java
@@ -20,8 +20,8 @@
 
 import java.io.IOException;
 
-import com.ibm.disni.rdma.*;
-import com.ibm.disni.rdma.verbs.*;
+import com.ibm.disni.*;
+import com.ibm.disni.verbs.*;
 
 public class RdmaStorageEndpointFactory implements RdmaEndpointFactory<RdmaStorageServerEndpoint> {
 	private RdmaStorageServer closer;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServer.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServer.java
index 847fcf2..8c995c0 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServer.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServer.java
@@ -32,8 +32,8 @@
 import org.apache.crail.utils.CrailUtils;
 import org.slf4j.Logger;
 
-import com.ibm.disni.rdma.*;
-import com.ibm.disni.rdma.verbs.IbvMr;
+import com.ibm.disni.*;
+import com.ibm.disni.verbs.IbvMr;
 
 public class RdmaStorageServer implements Runnable, StorageServer {
 	private static final Logger LOG = CrailUtils.getLogger();
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServerEndpoint.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServerEndpoint.java
index ebc2188..7f24292 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServerEndpoint.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/RdmaStorageServerEndpoint.java
@@ -20,8 +20,8 @@
 
 import java.io.IOException;
 
-import com.ibm.disni.rdma.verbs.*;
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.verbs.*;
+import com.ibm.disni.*;
 
 public class RdmaStorageServerEndpoint extends RdmaEndpoint {
 	private RdmaStorageServer closer;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpoint.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpoint.java
index 1b468a9..cb25277 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpoint.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpoint.java
@@ -34,10 +34,10 @@
 import org.apache.crail.storage.rdma.MrCache.DeviceMrCache;
 import org.apache.crail.utils.AtomicIntegerModulo;
 
-import com.ibm.disni.rdma.verbs.*;
-import com.ibm.disni.rdma.verbs.SVCPostSend.SendWRMod;
-import com.ibm.disni.rdma.verbs.SVCPostSend.SgeMod;
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.verbs.*;
+import com.ibm.disni.verbs.SVCPostSend.SendWRMod;
+import com.ibm.disni.verbs.SVCPostSend.SgeMod;
+import com.ibm.disni.*;
 
 public class RdmaStorageActiveEndpoint extends RdmaActiveEndpoint implements StorageEndpoint {
 	private LinkedBlockingQueue<SVCPostSend> writeOps;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpointFactory.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpointFactory.java
index 2aadffd..d520c39 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpointFactory.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveEndpointFactory.java
@@ -20,8 +20,8 @@
 
 import java.io.IOException;
 
-import com.ibm.disni.rdma.verbs.*;
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.verbs.*;
+import com.ibm.disni.*;
 
 public class RdmaStorageActiveEndpointFactory implements RdmaEndpointFactory<RdmaStorageActiveEndpoint> {
 	private RdmaStorageActiveGroup group;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveGroup.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveGroup.java
index 53a28b2..8d42ab3 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveGroup.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageActiveGroup.java
@@ -29,7 +29,7 @@
 import org.apache.crail.storage.rdma.RdmaStorageGroup;
 import org.apache.crail.utils.CrailUtils;
 
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.*;
 
 public class RdmaStorageActiveGroup extends RdmaActiveEndpointGroup<RdmaStorageActiveEndpoint> implements RdmaStorageGroup {
 	private HashMap<InetSocketAddress, RdmaStorageLocalEndpoint> localCache;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
index 91bf04a..e69acdb 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStorageLocalEndpoint.java
@@ -40,7 +40,7 @@
 import org.apache.crail.utils.CrailUtils;
 import org.slf4j.Logger;
 
-import com.ibm.disni.rdma.verbs.*;
+import com.ibm.disni.verbs.*;
 
 import sun.misc.Unsafe;
 
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpoint.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpoint.java
index 814b6a1..40b63a9 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpoint.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpoint.java
@@ -38,10 +38,10 @@
 import org.apache.crail.utils.CrailUtils;
 import org.slf4j.Logger;
 
-import com.ibm.disni.rdma.verbs.*;
-import com.ibm.disni.rdma.verbs.SVCPostSend.SendWRMod;
-import com.ibm.disni.rdma.verbs.SVCPostSend.SgeMod;
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.verbs.*;
+import com.ibm.disni.verbs.SVCPostSend.SendWRMod;
+import com.ibm.disni.verbs.SVCPostSend.SgeMod;
+import com.ibm.disni.*;
 
 public class RdmaStoragePassiveEndpoint extends RdmaEndpoint implements StorageEndpoint {
 	private static final Logger LOG = CrailUtils.getLogger();
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpointFactory.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpointFactory.java
index 113bee2..cb1a4fc 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpointFactory.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveEndpointFactory.java
@@ -19,8 +19,8 @@
 package org.apache.crail.storage.rdma.client;
 
 import java.io.IOException;
-import com.ibm.disni.rdma.verbs.*;
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.verbs.*;
+import com.ibm.disni.*;
 
 public class RdmaStoragePassiveEndpointFactory implements RdmaEndpointFactory<RdmaStoragePassiveEndpoint> {
 	private RdmaStoragePassiveGroup group;
diff --git a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveGroup.java b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveGroup.java
index 9949574..a3ede19 100644
--- a/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveGroup.java
+++ b/storage-rdma/src/main/java/org/apache/crail/storage/rdma/client/RdmaStoragePassiveGroup.java
@@ -29,7 +29,7 @@
 import org.apache.crail.storage.rdma.RdmaStorageGroup;
 import org.apache.crail.utils.CrailUtils;
 
-import com.ibm.disni.rdma.*;
+import com.ibm.disni.*;
 
 public class RdmaStoragePassiveGroup extends RdmaPassiveEndpointGroup<RdmaStoragePassiveEndpoint> implements RdmaStorageGroup {
 	private HashMap<InetSocketAddress, RdmaStorageLocalEndpoint> localCache;
