diff options
author | David S. Miller <davem@davemloft.net> | 2008-03-06 19:22:02 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-06 19:22:02 -0500 |
commit | db8dac20d5199307dcfcf4e01dac4bda5edf9e89 (patch) | |
tree | 3694d1aee5c0014fb45eec045a67ca150ca1231f /net/ipv6/ipv6_sockglue.c | |
parent | ba0fa4599484b98dbb21d279fbfdb40e9c07d30d (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.c | 6 |
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) |