Skip to content
Snippets Groups Projects
Commit 9ca47091 authored by alex's avatar alex
Browse files

- tcp_sendpage_zccd() must be exported always

parent bf1a0702
No related branches found
No related tags found
No related merge requests found
......@@ -5,9 +5,11 @@
net/netsyms.c | 2
5 files changed, 311 insertions(+), 3 deletions(-)
--- kernel-2.4.20-6chaos_18_7/include/linux/skbuff.h~tcp_zero_copy_2.4.20_chaos 2003-06-24 11:31:17.000000000 -0600
+++ kernel-2.4.20-6chaos_18_7-braam/include/linux/skbuff.h 2003-07-12 15:38:07.000000000 -0600
@@ -116,6 +116,30 @@ struct skb_frag_struct
Index: linux-2.4.20-rh-20.9/include/linux/skbuff.h
===================================================================
--- linux-2.4.20-rh-20.9.orig/include/linux/skbuff.h 2003-09-13 19:34:24.000000000 +0400
+++ linux-2.4.20-rh-20.9/include/linux/skbuff.h 2003-12-19 14:14:55.000000000 +0300
@@ -116,6 +116,30 @@
__u16 size;
};
......@@ -38,7 +40,7 @@
/* This data is invariant across clones and lives at
* the end of the header data, ie. at skb->end.
*/
@@ -123,6 +147,12 @@ struct skb_shared_info {
@@ -123,6 +147,12 @@
atomic_t dataref;
unsigned int nr_frags;
struct sk_buff *frag_list;
......@@ -51,9 +53,11 @@
skb_frag_t frags[MAX_SKB_FRAGS];
};
--- kernel-2.4.20-6chaos_18_7/include/net/tcp.h~tcp_zero_copy_2.4.20_chaos 2003-06-24 11:31:17.000000000 -0600
+++ kernel-2.4.20-6chaos_18_7-braam/include/net/tcp.h 2003-07-12 15:38:07.000000000 -0600
@@ -643,6 +643,8 @@ extern int tcp_v4_tw_remember_stam
Index: linux-2.4.20-rh-20.9/include/net/tcp.h
===================================================================
--- linux-2.4.20-rh-20.9.orig/include/net/tcp.h 2003-09-13 19:34:25.000000000 +0400
+++ linux-2.4.20-rh-20.9/include/net/tcp.h 2003-12-19 14:14:55.000000000 +0300
@@ -643,6 +643,8 @@
extern int tcp_sendmsg(struct sock *sk, struct msghdr *msg, int size);
extern ssize_t tcp_sendpage(struct socket *sock, struct page *page, int offset, size_t size, int flags);
......@@ -62,7 +66,7 @@
extern int tcp_ioctl(struct sock *sk,
int cmd,
@@ -737,6 +739,9 @@ extern int tcp_recvmsg(struct sock *sk
@@ -737,6 +739,9 @@
struct msghdr *msg,
int len, int nonblock,
int flags, int *addr_len);
......@@ -72,20 +76,33 @@
extern int tcp_listen_start(struct sock *sk);
--- kernel-2.4.20-6chaos_18_7/net/netsyms.c~tcp_zero_copy_2.4.20_chaos 2003-05-15 21:15:18.000000000 -0600
+++ kernel-2.4.20-6chaos_18_7-braam/net/netsyms.c 2003-07-12 15:38:54.000000000 -0600
@@ -397,6 +397,8 @@ EXPORT_SYMBOL(sysctl_tcp_wmem);
Index: linux-2.4.20-rh-20.9/net/netsyms.c
===================================================================
--- linux-2.4.20-rh-20.9.orig/net/netsyms.c 2003-09-13 19:34:24.000000000 +0400
+++ linux-2.4.20-rh-20.9/net/netsyms.c 2003-12-19 14:15:24.000000000 +0300
@@ -396,7 +396,7 @@
EXPORT_SYMBOL(sysctl_tcp_wmem);
EXPORT_SYMBOL(sysctl_tcp_ecn);
EXPORT_SYMBOL(tcp_cwnd_application_limited);
EXPORT_SYMBOL(tcp_sendpage);
+EXPORT_SYMBOL(tcp_sendpage_zccd);
-EXPORT_SYMBOL(tcp_sendpage);
+EXPORT_SYMBOL(tcp_recvpackets);
EXPORT_SYMBOL(sysctl_tcp_low_latency);
EXPORT_SYMBOL(tcp_write_xmit);
--- kernel-2.4.20-6chaos_18_7/net/core/skbuff.c~tcp_zero_copy_2.4.20_chaos 2003-05-15 21:15:21.000000000 -0600
+++ kernel-2.4.20-6chaos_18_7-braam/net/core/skbuff.c 2003-07-12 15:38:07.000000000 -0600
@@ -208,6 +208,8 @@ struct sk_buff *alloc_skb(unsigned int s
@@ -417,6 +417,8 @@
#endif
+EXPORT_SYMBOL(tcp_sendpage);
+EXPORT_SYMBOL(tcp_sendpage_zccd);
EXPORT_SYMBOL(tcp_read_sock);
EXPORT_SYMBOL(netlink_set_err);
Index: linux-2.4.20-rh-20.9/net/core/skbuff.c
===================================================================
--- linux-2.4.20-rh-20.9.orig/net/core/skbuff.c 2003-09-13 19:34:19.000000000 +0400
+++ linux-2.4.20-rh-20.9/net/core/skbuff.c 2003-12-19 14:14:56.000000000 +0300
@@ -208,6 +208,8 @@
atomic_set(&(skb_shinfo(skb)->dataref), 1);
skb_shinfo(skb)->nr_frags = 0;
skb_shinfo(skb)->frag_list = NULL;
......@@ -94,7 +111,7 @@
return skb;
nodata:
@@ -276,6 +278,10 @@ static void skb_release_data(struct sk_b
@@ -276,6 +278,10 @@
{
if (!skb->cloned ||
atomic_dec_and_test(&(skb_shinfo(skb)->dataref))) {
......@@ -105,7 +122,7 @@
if (skb_shinfo(skb)->nr_frags) {
int i;
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++)
@@ -532,6 +538,8 @@ int skb_linearize(struct sk_buff *skb, i
@@ -532,6 +538,8 @@
atomic_set(&(skb_shinfo(skb)->dataref), 1);
skb_shinfo(skb)->nr_frags = 0;
skb_shinfo(skb)->frag_list = NULL;
......@@ -114,7 +131,7 @@
/* We are no longer a clone, even if we were. */
skb->cloned = 0;
@@ -578,6 +586,14 @@ struct sk_buff *pskb_copy(struct sk_buff
@@ -578,6 +586,14 @@
n->data_len = skb->data_len;
n->len = skb->len;
......@@ -129,7 +146,7 @@
if (skb_shinfo(skb)->nr_frags) {
int i;
@@ -620,6 +636,8 @@ int pskb_expand_head(struct sk_buff *skb
@@ -620,6 +636,8 @@
u8 *data;
int size = nhead + (skb->end - skb->head) + ntail;
long off;
......@@ -138,7 +155,7 @@
if (skb_shared(skb))
BUG();
@@ -641,6 +659,11 @@ int pskb_expand_head(struct sk_buff *skb
@@ -641,6 +659,11 @@
if (skb_shinfo(skb)->frag_list)
skb_clone_fraglist(skb);
......@@ -150,7 +167,7 @@
skb_release_data(skb);
off = (data+nhead) - skb->head;
@@ -655,6 +678,8 @@ int pskb_expand_head(struct sk_buff *skb
@@ -655,6 +678,8 @@
skb->nh.raw += off;
skb->cloned = 0;
atomic_set(&skb_shinfo(skb)->dataref, 1);
......@@ -159,9 +176,11 @@
return 0;
nodata:
--- kernel-2.4.20-6chaos_18_7/net/ipv4/tcp.c~tcp_zero_copy_2.4.20_chaos 2003-05-15 21:15:21.000000000 -0600
+++ kernel-2.4.20-6chaos_18_7-braam/net/ipv4/tcp.c 2003-07-12 15:38:07.000000000 -0600
@@ -747,7 +747,7 @@ do_interrupted:
Index: linux-2.4.20-rh-20.9/net/ipv4/tcp.c
===================================================================
--- linux-2.4.20-rh-20.9.orig/net/ipv4/tcp.c 2003-09-13 19:34:25.000000000 +0400
+++ linux-2.4.20-rh-20.9/net/ipv4/tcp.c 2003-12-19 14:14:56.000000000 +0300
@@ -747,7 +747,7 @@
goto out;
}
......@@ -170,7 +189,7 @@
static inline int
can_coalesce(struct sk_buff *skb, int i, struct page *page, int off)
@@ -826,7 +826,8 @@ static int tcp_error(struct sock *sk, in
@@ -826,7 +826,8 @@
return err;
}
......@@ -180,7 +199,7 @@
{
struct tcp_opt *tp = &(sk->tp_pinfo.af_tcp);
int mss_now;
@@ -874,6 +875,17 @@ new_segment:
@@ -874,6 +875,17 @@
copy = size;
i = skb_shinfo(skb)->nr_frags;
......@@ -198,7 +217,7 @@
if (can_coalesce(skb, i, page, offset)) {
skb_shinfo(skb)->frags[i-1].size += copy;
} else if (i < MAX_SKB_FRAGS) {
@@ -884,6 +896,20 @@ new_segment:
@@ -884,6 +896,20 @@
goto new_segment;
}
......@@ -219,7 +238,7 @@
skb->len += copy;
skb->data_len += copy;
skb->ip_summed = CHECKSUM_HW;
@@ -947,7 +973,31 @@ ssize_t tcp_sendpage(struct socket *sock
@@ -947,7 +973,31 @@
lock_sock(sk);
TCP_CHECK_TIMER(sk);
......@@ -252,7 +271,7 @@
TCP_CHECK_TIMER(sk);
release_sock(sk);
return res;
@@ -1771,6 +1821,202 @@ recv_urg:
@@ -1771,6 +1821,202 @@
goto out;
}
......@@ -455,5 +474,3 @@
/*
* State processing on a close. This implements the state shift for
* sending our FIN frame. Note that we only send a FIN for some
_
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment