[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20130402074441.GA28378@unicorn.suse.cz>
Date: Tue, 2 Apr 2013 09:44:42 +0200
From: Michal Kubecek <mkubecek@...e.cz>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: pshelar@...ira.com, netdev@...r.kernel.org
Subject: Re: GRE: Refactor GRE tunneling code.
On Tue, Apr 02, 2013 at 09:34:21AM +0300, Dan Carpenter wrote:
>
> I had a question about c54419321455: "GRE: Refactor GRE tunneling code."
> from Mar 25, 2013:
>
> net/ipv4/ip_gre.c
> 392 if (tpi->flags&TUNNEL_CSUM &&
> 393 !(skb_shinfo(skb)->gso_type & SKB_GSO_GRE)) {
> 394 *(__sum16 *)ptr = 0;
> 395 *(__sum16 *)ptr = csum_fold(skb_checksum(skb, 0,
> 396 skb->len, 0));
>
> What are we doing here when we set *ptr = 0 and then reset it on the
> next line? Is there a ptr++ or ptr-- missing?
AFAICS, skb_checksum() calculates the checksum over a block containing
the checksum field the result is to be written into (which is where ptr
points). This fields needs to be reset first.
Michal Kubecek
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists