[Differential] [Request, 5 lines] D5099: hyperv/hn: Enable IP header checksum offloading

sepherosa_gmail.com (Sepherosa Ziehau) phabric-noreply at FreeBSD.org
Thu Jan 28 05:18:55 UTC 2016


sepherosa_gmail.com created this revision.
sepherosa_gmail.com added reviewers: network, adrian, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com.
sepherosa_gmail.com added a subscriber: freebsd-net-list.

REVISION SUMMARY
  - TCP/IP stack will not do unnecessary IP header checksum for TSO packets
  - Reduce guest load for non-TSO IP packets.

REVISION DETAIL
  https://reviews.freebsd.org/D5099

AFFECTED FILES
  sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c

CHANGE DETAILS
  diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  @@ -172,7 +172,7 @@
    * Windows releases.
    */
   #define HN_CSUM_ASSIST_WIN8	(CSUM_TCP)
  -#define HN_CSUM_ASSIST		(CSUM_UDP | CSUM_TCP)
  +#define HN_CSUM_ASSIST		(CSUM_IP | CSUM_UDP | CSUM_TCP)
   
   /* XXX move to netinet/tcp_lro.h */
   #define HN_LRO_HIWAT_MAX				65535
  @@ -867,6 +867,9 @@
   			    rppi->per_packet_info_offset);
   
   			csum_info->xmit.is_ipv4 = 1;
  +			if (m_head->m_pkthdr.csum_flags & CSUM_IP)
  +				csum_info->xmit.ip_header_csum = 1;
  +
   			if (m_head->m_pkthdr.csum_flags & CSUM_TCP) {
   				csum_info->xmit.tcp_csum = 1;
   				csum_info->xmit.tcp_header_offset = 0;

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: sepherosa_gmail.com, network, adrian, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com
Cc: freebsd-net-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5099.12775.patch
Type: text/x-patch
Size: 790 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20160128/7049d718/attachment.bin>


More information about the freebsd-net mailing list