Re: [PATCH net-next 03/15] udp: do checksum properly in skb_udp_tunnel_segment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Oct 3, 2020 at 12:04 PM Marcelo Ricardo Leitner
<marcelo.leitner@xxxxxxxxx> wrote:
>
> On Tue, Sep 29, 2020 at 09:48:55PM +0800, Xin Long wrote:
> > This patch fixes two things:
> >
> >   When skb->ip_summed == CHECKSUM_PARTIAL, skb_checksum_help() should be
> >   called do the checksum, instead of gso_make_checksum(), which is used
> >   to do the checksum for current proto after calling skb_segment(), not
> >   after the inner proto's gso_segment().
> >
> >   When offload_csum is disabled, the hardware will not do the checksum
> >   for the current proto, udp. So instead of calling gso_make_checksum(),
> >   it should calculate checksum for udp itself.
>
> Gotta say, this is odd. It is really flipping the two around. What
> about other users of this function, did you test them too?
Not yet, I couldn't found other cases to trigger this.

But I think gso_make_checksum() is not correct to be used here,
as it's trying to calculate the checksum for inner protocol
instead of UDP's. It should be skb_checksum_help(), like on
the xmit path.

>
> It makes sense to be, but would be nice if someone else could review
> this.
Fix the mail of Tom Herbert, and he is the right person to review this.



[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux