ia64/xen-unstable

changeset 5184:ed6682910675

bitkeeper revision 1.1575 (4296fb9akkrLM8bKzQ1I7T3Dy3Uu9w)

Patch ipv4 netfilter code to avoid checksumming CHECKUM_UNNCECESSARY
packets. On Xen the check could fail, as packets from domU have a blank
checksum field.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Fri May 27 10:51:06 2005 +0000 (2005-05-27)
parents 235ff659f89d
children af908567e181
files .rootkeys patches/linux-2.6.11/net-csum.patch
line diff
     1.1 --- a/.rootkeys	Fri May 27 10:45:50 2005 +0000
     1.2 +++ b/.rootkeys	Fri May 27 10:51:06 2005 +0000
     1.3 @@ -470,6 +470,7 @@ 413aa1d0oNP8HXLvfPuMe6cSroUfSA patches/l
     1.4  427261074Iy1MkbbqIV6zdZDWWx_Jg patches/linux-2.6.11/i386-cpu-hotplug-updated-for-mm.patch
     1.5  42372652KCUP-IOH9RN19YQmGhs4aA patches/linux-2.6.11/iomap.patch
     1.6  428359d4b3fDYtazwXi4UUmSWaOUew patches/linux-2.6.11/linux-2.6.11.10.patch
     1.7 +4296fb998LGSWCcljGKbOCUv3h9uRQ patches/linux-2.6.11/net-csum.patch
     1.8  424f001e_M1Tnxc52rDrmCLelnDWMQ patches/linux-2.6.11/x86_64-linux.patch
     1.9  3f776bd1Hy9rn69ntXBhPReUFw9IEA tools/Makefile
    1.10  40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Rules.mk
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/patches/linux-2.6.11/net-csum.patch	Fri May 27 10:51:06 2005 +0000
     2.3 @@ -0,0 +1,22 @@
     2.4 +diff -ur linux-2.6.11/net/ipv4/netfilter/ip_conntrack_proto_tcp.c linux-2.6.11-csum/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
     2.5 +--- linux-2.6.11/net/ipv4/netfilter/ip_conntrack_proto_tcp.c	2005-05-27 11:47:48 +01:00
     2.6 ++++ linux-2.6.11-csum/net/ipv4/netfilter/ip_conntrack_proto_tcp.c	2005-05-27 11:48:07 +01:00
     2.7 +@@ -803,6 +803,7 @@
     2.8 + 	 */
     2.9 + 	/* FIXME: Source route IP option packets --RR */
    2.10 + 	if (hooknum == NF_IP_PRE_ROUTING
    2.11 ++	    && skb->ip_summed != CHECKSUM_UNNECESSARY
    2.12 + 	    && csum_tcpudp_magic(iph->saddr, iph->daddr, tcplen, IPPROTO_TCP,
    2.13 + 			         skb->ip_summed == CHECKSUM_HW ? skb->csum
    2.14 + 			      	 : skb_checksum(skb, iph->ihl*4, tcplen, 0))) {
    2.15 +diff -ur linux-2.6.11/net/ipv4/netfilter/ip_conntrack_proto_udp.c linux-2.6.11-csum/net/ipv4/netfilter/ip_conntrack_proto_udp.c
    2.16 +--- linux-2.6.11/net/ipv4/netfilter/ip_conntrack_proto_udp.c	2005-05-27 11:47:48 +01:00
    2.17 ++++ linux-2.6.11-csum/net/ipv4/netfilter/ip_conntrack_proto_udp.c	2005-05-27 11:48:07 +01:00
    2.18 +@@ -120,6 +120,7 @@
    2.19 + 	 * and moreover root might send raw packets.
    2.20 + 	 * FIXME: Source route IP option packets --RR */
    2.21 + 	if (hooknum == NF_IP_PRE_ROUTING
    2.22 ++	    && skb->ip_summed != CHECKSUM_UNNECESSARY
    2.23 + 	    && csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP,
    2.24 + 			         skb->ip_summed == CHECKSUM_HW ? skb->csum
    2.25 + 			      	 : skb_checksum(skb, iph->ihl*4, udplen, 0))) {