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

[Xen-devel] ip/udp checksum offload from minios guest


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Anil Madhavapeddy <anil@xxxxxxxxxx>
  • Date: Tue, 29 Mar 2011 12:17:48 -0400
  • Delivery-date: Tue, 29 Mar 2011 09:18:29 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

I'm just adding checksum offload support into a custom guest, and wanted to 
clarify a few things.

In netfront, I can mark outgoing frames with:
- NETTXF_csum_blank
- NETTXF_data_validated

These refer to UDP or TCP checksums, and not the IP checksum, right? Linux 
seems to never offload IP header checksumming, so it must be offloading the 
UDP/TCP calculation and then adjusting the IPv4 checksum based on that 
calculation.

For outgoing UDP, my guest is setting the checksum to 0 (as it's optional in 
the protocol), and calculating the full IPv4 checksum in software, and all 
works (slowly).  However, setting NETTXF_csum_blank in the outgoing frame and 
leaving the IPv4 checksum at 0 doesn't seem to result in any adjustment by 
netback, and the packet gets dropped. 

How am I supposed to entirely offload the IPv4 checksum calculation for UDP?  
Setting the flag unconditionally for non-TCP/UDP traffic (e.g. ARP/ICMP) 
results in lots of dropped frames, so I am only setting it in the outgoing UDP 
frames.

-anil


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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