From owner-freebsd-net@freebsd.org Thu Jan 28 05:18:55 2016 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B8CFA7032C for ; Thu, 28 Jan 2016 05:18:55 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from phabric-backend.rbsd.freebsd.org (unknown [IPv6:2607:fc50:2000:101::1bb:73]) by mx1.freebsd.org (Postfix) with ESMTP id E1E1E1499 for ; Thu, 28 Jan 2016 05:18:54 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id E0AA6106339; Thu, 28 Jan 2016 05:18:54 +0000 (UTC) Date: Thu, 28 Jan 2016 05:18:54 +0000 To: freebsd-net@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5099+325+848a83c1598839c9@reviews.freebsd.org Subject: [Differential] [Request, 5 lines] D5099: hyperv/hn: Enable IP header checksum offloading Message-ID: X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , , Thread-Topic: D5099: hyperv/hn: Enable IP header checksum offloading X-Herald-Rules: none X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: Precedence: bulk Thread-Index: YmJjZTQyNjA4YTZjZjY2YWRlYTUwZDRiZThk MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_8433498bc71f02aa1a01066b952a0fad" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jan 2016 05:18:55 -0000 --b1_8433498bc71f02aa1a01066b952a0fad Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit 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 --b1_8433498bc71f02aa1a01066b952a0fad Content-Type: text/x-patch; charset=utf-8; name="D5099.12775.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5099.12775.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0xNzIsNyArMTcyLDcg QEAKICAqIFdpbmRvd3MgcmVsZWFzZXMuCiAgKi8KICNkZWZpbmUgSE5fQ1NVTV9BU1NJU1RfV0lO OAkoQ1NVTV9UQ1ApCi0jZGVmaW5lIEhOX0NTVU1fQVNTSVNUCQkoQ1NVTV9VRFAgfCBDU1VNX1RD UCkKKyNkZWZpbmUgSE5fQ1NVTV9BU1NJU1QJCShDU1VNX0lQIHwgQ1NVTV9VRFAgfCBDU1VNX1RD UCkKIAogLyogWFhYIG1vdmUgdG8gbmV0aW5ldC90Y3BfbHJvLmggKi8KICNkZWZpbmUgSE5fTFJP X0hJV0FUX01BWAkJCQk2NTUzNQpAQCAtODY3LDYgKzg2Nyw5IEBACiAJCQkgICAgcnBwaS0+cGVy X3BhY2tldF9pbmZvX29mZnNldCk7CiAKIAkJCWNzdW1faW5mby0+eG1pdC5pc19pcHY0ID0gMTsK KwkJCWlmIChtX2hlYWQtPm1fcGt0aGRyLmNzdW1fZmxhZ3MgJiBDU1VNX0lQKQorCQkJCWNzdW1f aW5mby0+eG1pdC5pcF9oZWFkZXJfY3N1bSA9IDE7CisKIAkJCWlmIChtX2hlYWQtPm1fcGt0aGRy LmNzdW1fZmxhZ3MgJiBDU1VNX1RDUCkgewogCQkJCWNzdW1faW5mby0+eG1pdC50Y3BfY3N1bSA9 IDE7CiAJCQkJY3N1bV9pbmZvLT54bWl0LnRjcF9oZWFkZXJfb2Zmc2V0ID0gMDsKCg== --b1_8433498bc71f02aa1a01066b952a0fad--