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

Re: [Xen-devel] xen-netfront sets partial checksum at wrong offset



> 
> Please CC the maintainers of the driver. You can get that from
> 'scripts/get_maintainer.pl'
> 
> I've done that for you.

Thanks, Konrad.

I am copying Wei too who had fixed the below problem earlier.
It fixed the incorrect ip_hdr(). tcp_hdr() still needs to fixed.

commit d554f73df6bc35ac8f6a65e5560bf1d31dfebed9
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Wed Feb 19 18:48:34 2014 +0000

    xen-netfront: reset skb network header before checksum

    In ed1f50c3a ("net: add skb_checksum_setup") we introduced some checksum
    functions in core driver. Subsequent change b5cf66cd1 ("xen-netfront:
    use new skb_checksum_setup function") made use of those functions to
    replace its own implementation.

    However with that change netfront is broken. It sees a lot of checksum
    error. That's because its own implementation of checksum function was a
    bit hacky (dereferencing skb->data directly) while the new function was
    implemented using ip_hdr(). The network header is not reset before skb
    is passed to the new function. When the new function tries to do its
    job, it's confused and reports error.

    The fix is simple, we need to reset network header before passing skb to
    checksum function. Netback is not affected as it already does the right
    thing.

    Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
    Cc: Paul Durrant <paul.durrant@xxxxxxxxxx>
    Tested-By: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

Thanks.

Venkat

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.