aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ipv6_sockglue.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-03-06 19:22:02 -0500
committerDavid S. Miller <davem@davemloft.net>2008-03-06 19:22:02 -0500
commitdb8dac20d5199307dcfcf4e01dac4bda5edf9e89 (patch)
tree3694d1aee5c0014fb45eec045a67ca150ca1231f /net/ipv6/ipv6_sockglue.c
parentba0fa4599484b98dbb21d279fbfdb40e9c07d30d (diff)
[UDP]: Revert udplite and code split.
This reverts commit db1ed684f6c430c4cdad67d058688b8a1b5e607c ("[IPV6] UDP: Rename IPv6 UDP files."), commit 8be8af8fa4405652e6c0797db5465a4be8afb998 ("[IPV4] UDP: Move IPv4-specific bits to other file.") and commit e898d4db2749c6052072e9bc4448e396cbdeb06a ("[UDP]: Allow users to configure UDP-Lite."). First, udplite is of such small cost, and it is a core protocol just like TCP and normal UDP are. We spent enormous amounts of effort to make udplite share as much code with core UDP as possible. All of that work is less valuable if we're just going to slap a config option on udplite support. It is also causing build failures, as reported on linux-next, showing that the changeset was not tested very well. In fact, this is the second build failure resulting from the udplite change. Finally, the config options provided was a bool, instead of a modular option. Meaning the udplite code does not even get build tested by allmodconfig builds, and furthermore the user is not presented with a reasonable modular build option which is particularly needed by distribution vendors. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
-rw-r--r--net/ipv6/ipv6_sockglue.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index 3bbfdff698d2..5eea6fa506e5 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -127,9 +127,7 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
127 struct sk_buff *pktopt; 127 struct sk_buff *pktopt;
128 128
129 if (sk->sk_protocol != IPPROTO_UDP && 129 if (sk->sk_protocol != IPPROTO_UDP &&
130#ifdef CONFIG_IP_UDPLITE
131 sk->sk_protocol != IPPROTO_UDPLITE && 130 sk->sk_protocol != IPPROTO_UDPLITE &&
132#endif
133 sk->sk_protocol != IPPROTO_TCP) 131 sk->sk_protocol != IPPROTO_TCP)
134 break; 132 break;
135 133
@@ -169,7 +167,7 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
169 } else { 167 } else {
170 struct proto *prot = &udp_prot; 168 struct proto *prot = &udp_prot;
171 169
172 if (IS_PROTO_UDPLITE(sk->sk_protocol)) 170 if (sk->sk_protocol == IPPROTO_UDPLITE)
173 prot = &udplite_prot; 171 prot = &udplite_prot;
174 local_bh_disable(); 172 local_bh_disable();
175 sock_prot_inuse_add(sk->sk_prot, -1); 173 sock_prot_inuse_add(sk->sk_prot, -1);
@@ -734,9 +732,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
734 switch (optname) { 732 switch (optname) {
735 case IPV6_ADDRFORM: 733 case IPV6_ADDRFORM:
736 if (sk->sk_protocol != IPPROTO_UDP && 734 if (sk->sk_protocol != IPPROTO_UDP &&
737#ifdef CONFIG_IP_UDPLITE
738 sk->sk_protocol != IPPROTO_UDPLITE && 735 sk->sk_protocol != IPPROTO_UDPLITE &&
739#endif
740 sk->sk_protocol != IPPROTO_TCP) 736 sk->sk_protocol != IPPROTO_TCP)
741 return -EINVAL; 737 return -EINVAL;
742 if (sk->sk_state != TCP_ESTABLISHED) 738 if (sk->sk_state != TCP_ESTABLISHED)