Browse Source

[TCPDIAG]: Introduce CONFIG_IP_TCPDIAG_DCCP

Similar to CONFIG_IP_TCPDIAG_IPV6

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arnaldo Carvalho de Melo 20 years ago
parent
commit
e41aac41e3
2 changed files with 10 additions and 7 deletions
  1. 6 3
      net/ipv4/Kconfig
  2. 4 4
      net/ipv4/tcp_diag.c

+ 6 - 3
net/ipv4/Kconfig

@@ -419,15 +419,18 @@ config IP_TCPDIAG
 	---help---
 	  Support for TCP socket monitoring interface used by native Linux
 	  tools such as ss. ss is included in iproute2, currently downloadable
-	  at <http://developer.osdl.org/dev/iproute2>. If you want IPv6 support
-	  and have selected IPv6 as a module, you need to build this as a
-	  module too.
+	  at <http://developer.osdl.org/dev/iproute2>. If you want IPv6 or DCCP
+	  support and have selected IPv6 or DCCP as a module, you need to build
+	  this as a module too.
 	  
 	  If unsure, say Y.
 
 config IP_TCPDIAG_IPV6
 	def_bool (IP_TCPDIAG=y && IPV6=y) || (IP_TCPDIAG=m && IPV6)
 
+config IP_TCPDIAG_DCCP
+	def_bool (IP_TCPDIAG=y && IP_DCCP=y) || (IP_TCPDIAG=m && IP_DCCP)
+
 config TCP_CONG_ADVANCED
 	bool "TCP: advanced congestion control"
 	---help---

+ 4 - 4
net/ipv4/tcp_diag.c

@@ -45,7 +45,7 @@ static struct sock *tcpnl;
 #define TCPDIAG_PUT(skb, attrtype, attrlen) \
 	RTA_DATA(__RTA_PUT(skb, attrtype, attrlen))
 
-#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
+#ifdef CONFIG_IP_TCPDIAG_DCCP
 extern struct inet_hashinfo dccp_hashinfo;
 #endif
 
@@ -216,7 +216,7 @@ static int tcpdiag_get_exact(struct sk_buff *in_skb, const struct nlmsghdr *nlh)
 	struct tcpdiagreq *req = NLMSG_DATA(nlh);
 	struct sk_buff *rep;
 	struct inet_hashinfo *hashinfo = &tcp_hashinfo;
-#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
+#ifdef CONFIG_IP_TCPDIAG_DCCP
 	if (nlh->nlmsg_type == DCCPDIAG_GETSOCK)
 		hashinfo = &dccp_hashinfo;
 #endif
@@ -614,7 +614,7 @@ static int tcpdiag_dump(struct sk_buff *skb, struct netlink_callback *cb)
 	s_i = cb->args[1];
 	s_num = num = cb->args[2];
 		hashinfo = &tcp_hashinfo;
-#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
+#ifdef CONFIG_IP_TCPDIAG_DCCP
 	if (cb->nlh->nlmsg_type == DCCPDIAG_GETSOCK)
 		hashinfo = &dccp_hashinfo;
 #endif
@@ -752,7 +752,7 @@ tcpdiag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
 		return 0;
 
 	if (nlh->nlmsg_type != TCPDIAG_GETSOCK
-#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
+#ifdef CONFIG_IP_TCPDIAG_DCCP
 	    && nlh->nlmsg_type != DCCPDIAG_GETSOCK
 #endif
 	   )