patch-1.3.61 linux/net/ipv4/udp.c

Next file: linux/net/ipx/af_ipx.c
Previous file: linux/net/ipv4/tcp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.60/linux/net/ipv4/udp.c linux/net/ipv4/udp.c
@@ -633,8 +633,9 @@
 	/* (That's the Right Place to do it, IMHO.) -- MS */
 
 	if (uh->check && (
-		( skb->ip_summed && udp_check(uh, len, saddr, daddr, skb->csum ) ) ||
-		( !skb->ip_summed && udp_check(uh, len, saddr, daddr,csum_partial((char*)uh, len, 0)))
+		( (skb->ip_summed == CHECKSUM_HW) && udp_check(uh, len, saddr, daddr, skb->csum ) ) ||
+		( (skb->ip_summed == CHECKSUM_NONE) && udp_check(uh, len, saddr, daddr,csum_partial((char*)uh, len, 0)))
+			  /* skip if CHECKSUM_UNNECESSARY */
 		         )
 	   )
 	{

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this