Subject: Re: [PATCH] firewire net: Ensure checksumming in upper layer.

From: Stefan Richter <[email-masked]>
Date: Sun, 20 Jan 2013 10:50:58 +0100

On Jan 20 YOSHIFUJI Hideaki wrote:
> It is wrong to set skb->ip_summed to CHECKSUM_UNNECESSARY unless
> the device has already checked it.
> 
> Signed-off-by: YOSHIFUJI Hideaki <[email-masked]>
> ---
>  drivers/firewire/net.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
> index e7a711f5..df6a1ca 100644
> --- a/drivers/firewire/net.c
> +++ b/drivers/firewire/net.c
> @@ -520,7 +520,7 @@ static int fwnet_finish_incoming_packet(struct net_device *net,
>  	dev = netdev_priv(net);
>  	/* Write metadata, and then pass to the receive level */
>  	skb->dev = net;
> -	skb->ip_summed = CHECKSUM_UNNECESSARY;  /* don't check it */
> +	skb->ip_summed = CHECKSUM_NONE;
>  
>  	/*
>  	 * Parse the encapsulation header. This actually does the job of

Indeed neither the device nor the lower drivers check protocol checksums.
But the CRCs of the encapsulating 1394 packets are checked in hardware.
Shall protocol checksums be verified regardless?
-- 
Stefan Richter
-=====-===-= ---= =-=--
http://arcgraph.de/sr/

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012