From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [RFC 2/3] usertools: add hv_uio_setup script Date: Thu, 4 Jan 2018 15:16:35 -0800 Message-ID: <20180104231636.30573-3-stephen@networkplumber.org> References: <20180104231636.30573-1-stephen@networkplumber.org> Cc: Stephen Hemminger To: dev@dpdk.org Return-path: Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) by dpdk.org (Postfix) with ESMTP id E58631B011 for ; Fri, 5 Jan 2018 00:16:44 +0100 (CET) Received: by mail-pl0-f68.google.com with SMTP id i6so1937539plt.13 for ; Thu, 04 Jan 2018 15:16:44 -0800 (PST) In-Reply-To: <20180104231636.30573-1-stephen@networkplumber.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Stephen Hemminger Small script to rebind netvsc kernel device to Hyper-V networking PMD. The existing dev_bind.py script is PCI specific and won't work with VMBUS. Signed-off-by: Stephen Hemminger --- usertools/hv_uio_setup.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 usertools/hv_uio_setup.sh diff --git a/usertools/hv_uio_setup.sh b/usertools/hv_uio_setup.sh new file mode 100755 index 000000000000..fc56ec6f9273 --- /dev/null +++ b/usertools/hv_uio_setup.sh @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Microsoft Corporation + +module=uio_hv_generic +guid="f8615163-df3e-46c5-913f-f2d2f965ed0e" + +if [ $# -ne 1 ]; then + echo "Usage: $0 ethN" + exit 1 +fi + +syspath=/sys/class/net/$1/device +devpath=$(readlink $syspath) +if [ $? -ne 0 ]; then + echo "$1 no device present" + exit 1 +fi +guid=$(basename $devpath) + +driver=$(readlink $syspath/driver) +if [ $? -ne 0 ]; then + echo "$1 driver not found" + exit 1 +fi +existing=$(basename $driver) + +if [ "$existing" != "hv_netvsc" ]; then + echo "$1 controlled by $existing" + exit 1 +fi + +if [ ! -d /sys/module/$module ]; then + modprobe $module + echo $guid >/sys/bus/vmbus/drivers/uio_hv_generic/new_id +fi + +echo $guid > /sys/bus/vmbus/drivers/$existing/unbind +echo $guid > /sys/bus/vmbus/drivers/$module/bind -- 2.15.1