summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@mandriva.com>2005-08-11 14:37:16 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-29 15:56:49 -0700
commite41aac41e3856c87fee52c5b8bca71705d15449b (patch)
treec3023f226eac22b32bbcc3cfe09af6625f91443d
parent14ab9b867aa6c107b4886bdc5b23f277ab10792e (diff)
downloadlwn-e41aac41e3856c87fee52c5b8bca71705d15449b.tar.gz
lwn-e41aac41e3856c87fee52c5b8bca71705d15449b.zip
[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>
-rw-r--r--net/ipv4/Kconfig9
-rw-r--r--net/ipv4/tcp_diag.c8
2 files changed, 10 insertions, 7 deletions
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index 0b3d9f1d8069..c844954c1ad5 100644
--- a/net/ipv4/Kconfig
+++ b/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---
diff --git a/net/ipv4/tcp_diag.c b/net/ipv4/tcp_diag.c
index f5fc84aaa9b4..8bf495c698f8 100644
--- a/net/ipv4/tcp_diag.c
+++ b/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
)