From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754512AbdHVCXs (ORCPT ); Mon, 21 Aug 2017 22:23:48 -0400 Received: from a2nlsmtp01-05.prod.iad2.secureserver.net ([198.71.225.49]:35076 "EHLO a2nlsmtp01-05.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754049AbdHVCXr (ORCPT ); Mon, 21 Aug 2017 22:23:47 -0400 x-originating-ip: 107.180.71.197 From: Haiyang Zhang To: davem@davemloft.net, netdev@vger.kernel.org Cc: haiyangz@microsoft.com, kys@microsoft.com, olaf@aepfle.de, vkuznets@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH net-next,0/4] hv_netvsc: Ethtool handler to change UDP hash levels Date: Mon, 21 Aug 2017 19:22:36 -0700 Message-Id: <1503368560-14331-1-git-send-email-haiyangz@exchange.microsoft.com> X-Mailer: git-send-email 1.7.1 Reply-To: haiyangz@microsoft.com X-CMAE-Envelope: MS4wfN1vXHxq/2nGC6bKh4BqEnthby07mRv0tngcst5GfA0+E8bQI3OAPv0WdFYNkL/CcW0s/6XqZJBcjT77TO4Kl7nhROJJ8y2XcXS5ti57/FjhhxS3CG95 VsWTTA9q1IZ8BYzFa5aTHscoP96F9QQBEYfVOj+w23KVa0TKjg/wiDIFX8xaAQr+7wqYj4JX/dL9qJ/VZ/q5KUkSdN2NlY6FgyjmmZ0NDiYT48MzBKHOtuXg lr5iQCXB0jQd64FEdNvRzCP70SdPAdmp88VBclIsXjLpEkZ/VEZSo+tx/Lj1k9Ic1qBjyBRAztkVAPyCIVOFuvvH3Jxd0tAjlmvNmplO1XoXDiKgAwCCOS20 Gtnq44zI1WuWkGi7PxrozWMxbU6u7w== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Haiyang Zhang The patch set adds the functions to switch UDP hash level between L3 and L4 by ethtool command. UDP over IPv4 and v6 can be set differently. The default hash level is L4. We currently only allow switching TX hash level from within the guests. The ethtool callback function is triggered by command line, and update the per device variables of the hash level. On Azure, fragmented UDP packets is not yet supported with L4 hashing, and may have high packet loss rate. Using L3 hashing is recommended in this case. This ethtool option allows a user to make this selection. Haiyang Zhang (4): hv_netvsc: Clean up unused parameter from netvsc_get_hash() hv_netvsc: Clean up unused parameter from netvsc_get_rss_hash_opts() hv_netvsc: Add ethtool handler to set and get UDP hash levels hv_netvsc: Update netvsc Document for UDP hash level setting Documentation/networking/netvsc.txt | 22 ++++++++-- drivers/net/hyperv/hyperv_net.h | 2 + drivers/net/hyperv/netvsc_drv.c | 77 +++++++++++++++++++++++++++++++---- 3 files changed, 88 insertions(+), 13 deletions(-)