diff -Nrup source/drivers/infiniband/ulp/sdp/sdp_cma.c /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_cma.c
--- source/drivers/infiniband/ulp/sdp/sdp_cma.c	2012-11-27 18:09:42.000000000 +0100
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_cma.c	2012-11-27 21:20:57.000000000 +0100
@@ -43,7 +43,6 @@
 #include <rdma/ib_verbs.h>
 #include <rdma/rdma_cm.h>
 #include <net/tcp_states.h>
-#include <rdma/sdp_socket.h>
 #include "sdp.h"
 
 #define SDP_MAJV_MINV 0x22
diff -Nrup source/drivers/infiniband/ulp/sdp/sdp.h /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp.h
--- source/drivers/infiniband/ulp/sdp/sdp.h	2010-09-21 17:51:32.000000000 +0200
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp.h	2012-11-27 21:01:13.000000000 +0100
@@ -10,6 +10,7 @@
 #include <linux/sched.h>
 #include <rdma/rdma_cm.h>
 #include <rdma/ib_cm.h>
+#include "sdp_socket.h"
 #include "sdp_dbg.h"
 
 /* Interval between sucessive polls in the Tx routine when polling is used
diff -Nrup source/drivers/infiniband/ulp/sdp/sdp_main.c /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_main.c
--- source/drivers/infiniband/ulp/sdp/sdp_main.c	2012-11-27 18:09:42.000000000 +0100
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_main.c	2012-11-27 22:48:21.000000000 +0100
@@ -71,7 +71,6 @@ unsigned int csum_partial_copy_from_user
 #include <rdma/ib_fmr_pool.h>
 #include <rdma/ib_verbs.h>
 #include <linux/pagemap.h>
-#include <rdma/sdp_socket.h>
 #include "sdp.h"
 #include <linux/delay.h>
 
@@ -159,7 +158,8 @@ static int sdp_get_port(struct sock *sk,
 		addr.sin_addr.s_addr, ntohs(addr.sin_port));
 
 	if (!ssk->id)
-		ssk->id = rdma_create_id(sdp_cma_handler, sk, RDMA_PS_SDP);
+		ssk->id = rdma_create_id(sdp_cma_handler, sk, RDMA_PS_SDP,
+					IB_QPT_RC);
 
 	if (!ssk->id)
 	       return -ENOMEM;
@@ -776,13 +776,13 @@ static int sdp_connect(struct sock *sk,
 			return rc;
 		inet_sk(sk)->inet_sport = htons(inet_sk(sk)->inet_num);
 	}
-
+/*
 	sdp_dbg(sk, "%s %pI4:%hu -> %pI4:%hu\n", __func__,
 		src_addr.sin_addr.s_addr,
 		ntohs(src_addr.sin_port),
 		((struct sockaddr_in *)uaddr)->sin_addr.s_addr,
 		ntohs(((struct sockaddr_in *)uaddr)->sin_port));
-
+*/
 	if (!ssk->id) {
 		printk("??? ssk->id == NULL. Ohh\n");
 		return -EINVAL;
diff -Nrup source/drivers/infiniband/ulp/sdp/sdp_proc.c /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_proc.c
--- source/drivers/infiniband/ulp/sdp/sdp_proc.c	2012-11-27 18:09:42.000000000 +0100
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_proc.c	2012-11-27 21:21:43.000000000 +0100
@@ -31,7 +31,6 @@
  */
 
 #include <linux/proc_fs.h>
-#include <rdma/sdp_socket.h>
 #include <linux/vmalloc.h>
 #include "sdp.h"
 
diff -Nrup source/drivers/infiniband/ulp/sdp/sdp_rx.c /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_rx.c
--- source/drivers/infiniband/ulp/sdp/sdp_rx.c	2012-11-27 18:09:42.000000000 +0100
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_rx.c	2012-11-27 21:25:22.000000000 +0100
@@ -908,7 +908,7 @@ int sdp_rx_ring_create(struct sdp_sock *
 	memset(ssk->rx_ring.buffer, 0, sizeof *ssk->rx_ring.buffer * SDP_RX_SIZE);
 
 	rx_cq = ib_create_cq(device, sdp_rx_irq, sdp_rx_cq_event_handler,
-			  &ssk->isk.sk, SDP_RX_SIZE, IB_CQ_VECTOR_LEAST_ATTACHED);
+			  &ssk->isk.sk, SDP_RX_SIZE, 0);
 
 	if (IS_ERR(rx_cq)) {
 		rc = PTR_ERR(rx_cq);
diff -Nrup source/drivers/infiniband/ulp/sdp/sdp_socket.h /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_socket.h
--- source/drivers/infiniband/ulp/sdp/sdp_socket.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_socket.h	2012-11-27 20:08:27.000000000 +0100
@@ -0,0 +1,21 @@
+/* Stuff that should go into include/linux/socket.h */
+
+#ifndef SDP_SOCKET_H
+#define SDP_SOCKET_H
+
+#ifndef AF_INET_SDP
+#define AF_INET_SDP 27
+#define PF_INET_SDP AF_INET_SDP
+#endif
+
+#ifndef SDP_ZCOPY_THRESH
+#define SDP_ZCOPY_THRESH 80
+#endif
+
+#ifndef SDP_LAST_BIND_ERR
+#define SDP_LAST_BIND_ERR 81
+#endif
+
+/* TODO: AF_INET6_SDP ? */
+
+#endif
diff -Nrup source/drivers/infiniband/ulp/sdp/sdp_tx.c /abuild/goldwyn/linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_tx.c
--- source/drivers/infiniband/ulp/sdp/sdp_tx.c	2012-11-27 18:09:42.000000000 +0100
+++ linux-3.0.42-0.7/drivers/infiniband/ulp/sdp/sdp_tx.c	2012-11-27 21:24:41.000000000 +0100
@@ -490,7 +490,7 @@ int sdp_tx_ring_create(struct sdp_sock *
 	}
 
 	tx_cq = ib_create_cq(device, sdp_tx_irq, sdp_tx_cq_event_handler,
-			  &ssk->isk.sk, SDP_TX_SIZE, IB_CQ_VECTOR_LEAST_ATTACHED);
+			  &ssk->isk.sk, SDP_TX_SIZE, 0);
 
 	if (IS_ERR(tx_cq)) {
 		rc = PTR_ERR(tx_cq);
