#include <linux/mutex.h>
 #include <linux/inetdevice.h>
 #include <linux/workqueue.h>
-#include <linux/if_arp.h>
 #include <net/arp.h>
 #include <net/neighbour.h>
 #include <net/route.h>
 int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
                     const unsigned char *dst_dev_addr)
 {
-       switch (dev->type) {
-       case ARPHRD_INFINIBAND:
-               dev_addr->dev_type = RDMA_NODE_IB_CA;
-               break;
-       case ARPHRD_ETHER:
-               dev_addr->dev_type = RDMA_NODE_RNIC;
-               break;
-       default:
-               return -EADDRNOTAVAIL;
-       }
-
+       dev_addr->dev_type = dev->type;
        memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
        memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN);
        if (dst_dev_addr)
 
        union ib_gid gid;
        int ret = -ENODEV;
 
-       switch (rdma_node_get_transport(dev_addr->dev_type)) {
-       case RDMA_TRANSPORT_IB:
+       switch (dev_addr->dev_type) {
+       case ARPHRD_INFINIBAND:
                ib_addr_get_sgid(dev_addr, &gid);
                break;
-       case RDMA_TRANSPORT_IWARP:
+       case ARPHRD_ETHER:
                iw_addr_get_sgid(dev_addr, &gid);
                break;
        default:
 
 
 #include <linux/in.h>
 #include <linux/in6.h>
+#include <linux/if_arp.h>
 #include <linux/netdevice.h>
 #include <linux/socket.h>
 #include <rdma/ib_verbs.h>
        unsigned char src_dev_addr[MAX_ADDR_LEN];
        unsigned char dst_dev_addr[MAX_ADDR_LEN];
        unsigned char broadcast[MAX_ADDR_LEN];
-       enum rdma_node_type dev_type;
+       unsigned short dev_type;
        int bound_dev_if;
 };