diff -uNrp iproute2-2.6.11-050330.orig/include/linux/netlink.h iproute2-2.6.11-050330.dccp/include/linux/netlink.h
--- iproute2-2.6.11-050330.orig/include/linux/netlink.h	2005-04-01 16:58:11.000000000 -0300
+++ iproute2-2.6.11-050330.dccp/include/linux/netlink.h	2005-04-16 05:54:08.000000000 -0300
@@ -14,6 +14,7 @@
 #define NETLINK_SELINUX		7	/* SELinux event notifications */
 #define NETLINK_ARPD		8
 #define NETLINK_AUDIT		9	/* auditing */
+#define NETLINK_DCCPDIAG	10	/* DCCP socket monitoring			*/
 #define NETLINK_ROUTE6		11	/* af_inet6 route comm channel */
 #define NETLINK_IP6_FW		13
 #define NETLINK_DNRTMSG		14	/* DECnet routing messages */
diff -uNrp iproute2-2.6.11-050330.orig/misc/ss.c iproute2-2.6.11-050330.dccp/misc/ss.c
--- iproute2-2.6.11-050330.orig/misc/ss.c	2005-04-01 16:58:11.000000000 -0300
+++ iproute2-2.6.11-050330.dccp/misc/ss.c	2005-04-16 06:02:21.000000000 -0300
@@ -52,6 +52,8 @@ int addr_width;
 int serv_width;
 int screen_width;
 
+static int protocol = NETLINK_TCPDIAG;
+
 static const char *TCP_PROTO = "tcp";
 static const char *UDP_PROTO = "udp";
 static const char *RAW_PROTO = "raw";
@@ -1460,7 +1462,7 @@ int tcp_show_netlink(struct filter *f, F
 	char	buf[8192];
 	struct iovec iov[3];
 
-	if ((fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_TCPDIAG)) < 0)
+	if ((fd = socket(AF_NETLINK, SOCK_RAW, protocol)) < 0)
 		return -1;
 
 	memset(&nladdr, 0, sizeof(nladdr));
@@ -2432,6 +2434,7 @@ static const struct option long_opts[] =
 	{ "memory", 0, 0, 'm' },
 	{ "info", 0, 0, 'i' },
 	{ "processes", 0, 0, 'p' },
+	{ "dccp", 0, 0, 'd' },
 	{ "tcp", 0, 0, 't' },
 	{ "udp", 0, 0, 'u' },
 	{ "raw", 0, 0, 'w' },
@@ -2466,7 +2469,7 @@ int main(int argc, char *argv[])
 
 	current_filter.states = default_filter.states;
 
-	while ((ch = getopt_long(argc, argv, "haletuwxnro460spf:miA:D:F:vV",
+	while ((ch = getopt_long(argc, argv, "dhaletuwxnro460spf:miA:D:F:vV",
 				 long_opts, NULL)) != EOF) {
 		switch(ch) {
 		case 'n':
@@ -2495,6 +2498,9 @@ int main(int argc, char *argv[])
 			current_filter.dbs |= (1<<TCP_DB);
 			do_default = 0;
 			break;
+		case 'd':
+			protocol = NETLINK_DCCPDIAG;
+			break;
 		case 'u':
 			current_filter.dbs |= (1<<UDP_DB);
 			do_default = 0;
