Hello linux-kernel:
I do some work on tcp-zero-copy for kernel 2.6.12-6 ( vanilla ) , Here is the patch . Please review and discussion it .
The patch modify mainly these files below :
(1) include/linux/skbuff.h : add a zccd_t struct , it include the zero-copy's callback function pointer and reference count.
(2)include/net/tcp.h : add a new function tcp_sendpage_zccd( ) . It was used as send a memory page to TCP/IP stack.
(3)net/core/dev.c (4)net/core/skbuff.c : process the initial ,refcount and release of zccd information.
(5)net/ipv4/tcp.c : call the tcp_sendpage_zccd() function to send a memory page.