[dpdk-users] Should netvsc and Debian 10 work?

Stephen Hemminger stephen at networkplumber.org
Tue Apr 30 18:51:01 CEST 2019


On Tue, 30 Apr 2019 10:58:36 -0400
Chas Williams <3chas3 at gmail.com> wrote:

> I am trying to get netvsc to work with Debian 10. Following along in the 
> instructions I have:
> 
>      # cat setup
>      modprobe uio_hv_generic
>      echo -n 57b2866a-61b8-400e-ac8f-32373f9c42a3 > 
> /sys/bus/vmbus/drivers/uio_hv_generic/new_id
>      echo -n 57b2866a-61b8-400e-ac8f-32373f9c42a3 > 
> /sys/bus/vmbus/drivers/hv_netvsc/unbind
>      echo -n 57b2866a-61b8-400e-ac8f-32373f9c42a3 > 
> /sys/bus/vmbus/drivers/uio_hv_generic/bind
> 
> But this fails during the bind stage with "No such device":
> 
>      setup: line 4: echo: write error: No such device
> 
> The kernel in Debian 10 is
> 
> Linux debian10 4.19.0-4-amd64 #1 SMP Debian 4.19.28-2 (2019-03-15) 
> x86_64 GNU/Linux
> 
> This is a generation 1 virtual machine.

You have the wrong GUID.
The first step (writing new_id) needs the GUID used to as device type
for all nework devices.  The second/third step bind/unbind need the GUID
of the ethernet device in question.

I use this script:


#! /bin/bash

if [ $# -lt 1 ]; then
    echo "Usage: $0 ethN"
    exit 1
fi


# Setup UIO
NET_UUID="f8615163-df3e-46c5-913f-f2d2f965ed0e"
modprobe uio_hv_generic || exit 1
echo $NET_UUID > /sys/bus/vmbus/drivers/uio_hv_generic/new_id

for ETH
do
	if [ ! -h /sys/class/net/$ETH/device ]; then
	    echo "$ETH/device does not exist"
	    exit 1
	fi
	DEV_UUID=$(basename $(readlink /sys/class/net/$ETH/device))
	echo $ETH is $DEV_UUID

	echo $DEV_UUID > /sys/bus/vmbus/drivers/hv_netvsc/unbind
	echo $DEV_UUID > /sys/bus/vmbus/drivers/uio_hv_generic/bind
done


More information about the users mailing list