aboutsummaryrefslogtreecommitdiffstats
path: root/include
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 /include
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 'include')
-rw-r--r--include/linux/udp.h10
-rw-r--r--include/net/ipv6.h5
-rw-r--r--include/net/transp_v6.h5
-rw-r--r--include/net/udplite.h9
4 files changed, 2 insertions, 27 deletions
diff --git a/include/linux/udp.h b/include/linux/udp.h
index 4144664d69d9..1e7b7cb5703b 100644
--- a/include/linux/udp.h
+++ b/include/linux/udp.h
@@ -70,10 +70,8 @@ struct udp_sock {
70#define UDPLITE_BIT 0x1 /* set by udplite proto init function */ 70#define UDPLITE_BIT 0x1 /* set by udplite proto init function */
71#define UDPLITE_SEND_CC 0x2 /* set via udplite setsockopt */ 71#define UDPLITE_SEND_CC 0x2 /* set via udplite setsockopt */
72#define UDPLITE_RECV_CC 0x4 /* set via udplite setsocktopt */ 72#define UDPLITE_RECV_CC 0x4 /* set via udplite setsocktopt */
73#ifdef CONFIG_IP_UDPLITE
74 __u8 pcflag; /* marks socket as UDP-Lite if > 0 */ 73 __u8 pcflag; /* marks socket as UDP-Lite if > 0 */
75 __u8 unused[3]; 74 __u8 unused[3];
76#endif
77 /* 75 /*
78 * For encapsulation sockets. 76 * For encapsulation sockets.
79 */ 77 */
@@ -85,15 +83,7 @@ static inline struct udp_sock *udp_sk(const struct sock *sk)
85 return (struct udp_sock *)sk; 83 return (struct udp_sock *)sk;
86} 84}
87 85
88#ifdef CONFIG_IP_UDPLITE
89#define IS_UDPLITE(__sk) (udp_sk(__sk)->pcflag) 86#define IS_UDPLITE(__sk) (udp_sk(__sk)->pcflag)
90#define IS_PROTO_UDPLITE(__proto) ((__proto) == IPPROTO_UDPLITE)
91#define IS_SOL_UDPFAMILY(level) ((level) == SOL_UDP || (level) == SOL_UDPLITE)
92#else
93#define IS_UDPLITE(__sk) 0
94#define IS_PROTO_UDPLITE(__proto) 0
95#define IS_SOL_UDPFAMILY(level) ((level) == SOL_UDP)
96#endif
97 87
98#endif 88#endif
99 89
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 5f6df50a33a9..8db06af1efbb 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -599,13 +599,8 @@ extern int tcp6_proc_init(void);
599extern void tcp6_proc_exit(void); 599extern void tcp6_proc_exit(void);
600extern int udp6_proc_init(void); 600extern int udp6_proc_init(void);
601extern void udp6_proc_exit(void); 601extern void udp6_proc_exit(void);
602#ifdef CONFIG_IP_UDPLITE
603extern int udplite6_proc_init(void); 602extern int udplite6_proc_init(void);
604extern void udplite6_proc_exit(void); 603extern void udplite6_proc_exit(void);
605#else
606static inline int udplite6_proc_init(void) { return 0; }
607static inline void udplite6_proc_exit(void) { }
608#endif
609extern int ipv6_misc_proc_init(void); 604extern int ipv6_misc_proc_init(void);
610extern void ipv6_misc_proc_exit(void); 605extern void ipv6_misc_proc_exit(void);
611extern int snmp6_register_dev(struct inet6_dev *idev); 606extern int snmp6_register_dev(struct inet6_dev *idev);
diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h
index 902e6c6bc793..27394e0447d8 100644
--- a/include/net/transp_v6.h
+++ b/include/net/transp_v6.h
@@ -27,13 +27,8 @@ extern int rawv6_init(void);
27extern void rawv6_exit(void); 27extern void rawv6_exit(void);
28extern int udpv6_init(void); 28extern int udpv6_init(void);
29extern void udpv6_exit(void); 29extern void udpv6_exit(void);
30#ifdef CONFIG_IP_UDPLITE
31extern int udplitev6_init(void); 30extern int udplitev6_init(void);
32extern void udplitev6_exit(void); 31extern void udplitev6_exit(void);
33#else
34static inline int udplitev6_init(void) { return 0; }
35static inline void udplitev6_exit(void) { }
36#endif
37extern int tcpv6_init(void); 32extern int tcpv6_init(void);
38extern void tcpv6_exit(void); 33extern void tcpv6_exit(void);
39 34
diff --git a/include/net/udplite.h b/include/net/udplite.h
index 01ddb2c20264..b76b2e377af4 100644
--- a/include/net/udplite.h
+++ b/include/net/udplite.h
@@ -25,9 +25,7 @@ static __inline__ int udplite_getfrag(void *from, char *to, int offset,
25/* Designate sk as UDP-Lite socket */ 25/* Designate sk as UDP-Lite socket */
26static inline int udplite_sk_init(struct sock *sk) 26static inline int udplite_sk_init(struct sock *sk)
27{ 27{
28#ifdef CONFIG_IP_UDPLITE
29 udp_sk(sk)->pcflag = UDPLITE_BIT; 28 udp_sk(sk)->pcflag = UDPLITE_BIT;
30#endif
31 return 0; 29 return 0;
32} 30}
33 31
@@ -71,7 +69,7 @@ static inline int udplite_checksum_init(struct sk_buff *skb, struct udphdr *uh)
71static inline int udplite_sender_cscov(struct udp_sock *up, struct udphdr *uh) 69static inline int udplite_sender_cscov(struct udp_sock *up, struct udphdr *uh)
72{ 70{
73 int cscov = up->len; 71 int cscov = up->len;
74#ifdef CONFIG_IP_UDPLITE 72
75 /* 73 /*
76 * Sender has set `partial coverage' option on UDP-Lite socket 74 * Sender has set `partial coverage' option on UDP-Lite socket
77 */ 75 */
@@ -95,15 +93,13 @@ static inline int udplite_sender_cscov(struct udp_sock *up, struct udphdr *uh)
95 * illegal, we fall back to the defaults here. 93 * illegal, we fall back to the defaults here.
96 */ 94 */
97 } 95 }
98#endif
99 return cscov; 96 return cscov;
100} 97}
101 98
102static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb) 99static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
103{ 100{
104 __wsum csum = 0;
105#ifdef CONFIG_IP_UDPLITE
106 int cscov = udplite_sender_cscov(udp_sk(sk), udp_hdr(skb)); 101 int cscov = udplite_sender_cscov(udp_sk(sk), udp_hdr(skb));
102 __wsum csum = 0;
107 103
108 skb->ip_summed = CHECKSUM_NONE; /* no HW support for checksumming */ 104 skb->ip_summed = CHECKSUM_NONE; /* no HW support for checksumming */
109 105
@@ -116,7 +112,6 @@ static inline __wsum udplite_csum_outgoing(struct sock *sk, struct sk_buff *skb)
116 if ((cscov -= len) <= 0) 112 if ((cscov -= len) <= 0)
117 break; 113 break;
118 } 114 }
119#endif
120 return csum; 115 return csum;
121} 116}
122 117