[dpdk-dev] [PATCH v2] tools/dpdk_nic_bind: Fix can't bind virtio-pci issue
> > The dpdk_nic_bind script will not allow ports to be bound or unbound if > > none of the > > kernel modules supported by DPDK is loaded. This patch relaxes this > > restriction by > > checking if a DPDK module is actually requested. The example below > > illustrates this > > problem: > > > > In virtio test, on the guest > > 1. Bind virtio port to igb_uio driver; > > 2. Remove igb_uio module; > > 3. Bind virtio port to virtio-pci driver, it fails and reports: > >"Error - no supported modules are loaded" > > > > The script should check the to-be-bound driver flag, if it is dpdk > > driver(igb_uio, vfio etc), > > and the corresponding module is not loaded, then exit, otherwise, just > > report a warning, > > and continue to bind the non-dpdk driver(like virtio-pci) to dev. > > > > Signed-off-by: Changchun Ouyang > Acked-by: Michael Qiu Applied, thanks
[dpdk-dev] [PATCH v2] tools/dpdk_nic_bind: Fix can't bind virtio-pci issue
On 3/4/2015 10:56 AM, Ouyang Changchun wrote: > The dpdk_nic_bind script will not allow ports to be bound or unbound if none > of the > kernel modules supported by DPDK is loaded. This patch relaxes this > restriction by > checking if a DPDK module is actually requested. The example below > illustrates this > problem: > > In virtio test, on the guest > 1. Bind virtio port to igb_uio driver; > 2. Remove igb_uio module; > 3. Bind virtio port to virtio-pci driver, it fails and reports: >"Error - no supported modules are loaded" > > The script should check the to-be-bound driver flag, if it is dpdk > driver(igb_uio, vfio etc), > and the corresponding module is not loaded, then exit, otherwise, just report > a warning, > and continue to bind the non-dpdk driver(like virtio-pci) to dev. > > Signed-off-by: Changchun Ouyang > --- > > Changes in v2: > -- Update the description. > > tools/dpdk_nic_bind.py | 7 +-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py > index 2483056..8523f82 100755 > --- a/tools/dpdk_nic_bind.py > +++ b/tools/dpdk_nic_bind.py > @@ -175,8 +175,11 @@ def check_modules(): > > # check if we have at least one loaded module > if True not in [mod["Found"] for mod in mods] and b_flag is not None: > -print "Error - no supported modules are loaded" > -sys.exit(1) > +if b_flag in dpdk_drivers: > +print "Error - no supported modules(DPDK driver) are loaded" > +sys.exit(1) > +else: > +print "Warning - no supported modules(DPDK driver) are loaded" > > # change DPDK driver list to only contain drivers that are loaded > dpdk_drivers = [mod["Name"] for mod in mods if mod["Found"]] Acked-by: Michael Qiu
[dpdk-dev] [PATCH v2] tools/dpdk_nic_bind: Fix can't bind virtio-pci issue
The dpdk_nic_bind script will not allow ports to be bound or unbound if none of the kernel modules supported by DPDK is loaded. This patch relaxes this restriction by checking if a DPDK module is actually requested. The example below illustrates this problem: In virtio test, on the guest 1. Bind virtio port to igb_uio driver; 2. Remove igb_uio module; 3. Bind virtio port to virtio-pci driver, it fails and reports: "Error - no supported modules are loaded" The script should check the to-be-bound driver flag, if it is dpdk driver(igb_uio, vfio etc), and the corresponding module is not loaded, then exit, otherwise, just report a warning, and continue to bind the non-dpdk driver(like virtio-pci) to dev. Signed-off-by: Changchun Ouyang --- Changes in v2: -- Update the description. tools/dpdk_nic_bind.py | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py index 2483056..8523f82 100755 --- a/tools/dpdk_nic_bind.py +++ b/tools/dpdk_nic_bind.py @@ -175,8 +175,11 @@ def check_modules(): # check if we have at least one loaded module if True not in [mod["Found"] for mod in mods] and b_flag is not None: -print "Error - no supported modules are loaded" -sys.exit(1) +if b_flag in dpdk_drivers: +print "Error - no supported modules(DPDK driver) are loaded" +sys.exit(1) +else: +print "Warning - no supported modules(DPDK driver) are loaded" # change DPDK driver list to only contain drivers that are loaded dpdk_drivers = [mod["Name"] for mod in mods if mod["Found"]] -- 1.8.4.2