[UDP]: Revert udplite and code split.
This reverts commitdb1ed684f6("[IPV6] UDP: Rename IPv6 UDP files."), commit8be8af8fa4("[IPV4] UDP: Move IPv4-specific bits to other file.") and commite898d4db27("[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>
This commit is contained in:
@@ -599,13 +599,8 @@ extern int tcp6_proc_init(void);
|
||||
extern void tcp6_proc_exit(void);
|
||||
extern int udp6_proc_init(void);
|
||||
extern void udp6_proc_exit(void);
|
||||
#ifdef CONFIG_IP_UDPLITE
|
||||
extern int udplite6_proc_init(void);
|
||||
extern void udplite6_proc_exit(void);
|
||||
#else
|
||||
static inline int udplite6_proc_init(void) { return 0; }
|
||||
static inline void udplite6_proc_exit(void) { }
|
||||
#endif
|
||||
extern int ipv6_misc_proc_init(void);
|
||||
extern void ipv6_misc_proc_exit(void);
|
||||
extern int snmp6_register_dev(struct inet6_dev *idev);
|
||||
|
||||
@@ -27,13 +27,8 @@ extern int rawv6_init(void);
|
||||
extern void rawv6_exit(void);
|
||||
extern int udpv6_init(void);
|
||||
extern void udpv6_exit(void);
|
||||
#ifdef CONFIG_IP_UDPLITE
|
||||
extern int udplitev6_init(void);
|
||||
extern void udplitev6_exit(void);
|
||||
#else
|
||||
static inline int udplitev6_init(void) { return 0; }
|
||||
static inline void udplitev6_exit(void) { }
|
||||
#endif
|
||||
extern int tcpv6_init(void);
|
||||
extern void tcpv6_exit(void);
|
||||
|
||||
|
||||
@@ -25,9 +25,7 @@ static __inline__ int udplite_getfrag(void *from, char *to, int offset,
|
||||
/* Designate sk as UDP-Lite socket */
|
||||
static inline int udplite_sk_init(struct sock *sk)
|
||||
{
|
||||
#ifdef CONFIG_IP_UDPLITE
|
||||
udp_sk(sk)->pcflag = UDPLITE_BIT;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -71,7 +69,7 @@ static inline int udplite_checksum_init(struct sk_buff *skb, struct udphdr *uh)
|
||||
static inline int udplite_sender_cscov(struct udp_sock *up, struct udphdr *uh)
|
||||
{
|
||||
int cscov = up->len;
|
||||
#ifdef CONFIG_IP_UDPLITE
|
||||
|
||||
/*
|
||||
* Sender has set `partial coverage' option on UDP-Lite socket
|
||||
*/
|
||||
@@ -95,15 +93,13 @@ static inline int udplite_sender_cscov(struct udp_sock *up, struct udphdr *uh)
|
||||
* illegal, we fall back to the defaults here.
|
||||
*/
|
||||
}
|
||||
#endif
|
||||
return cscov;
|
||||
}
|
||||
|
||||
static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
__wsum csum = 0;
|
||||
#ifdef CONFIG_IP_UDPLITE
|
||||
int cscov = udplite_sender_cscov(udp_sk(sk), udp_hdr(skb));
|
||||
__wsum csum = 0;
|
||||
|
||||
skb->ip_summed = CHECKSUM_NONE; /* no HW support for checksumming */
|
||||
|
||||
@@ -116,7 +112,6 @@ static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
|
||||
if ((cscov -= len) <= 0)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
return csum;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user