I welcome this initiative, one question below: > -----Original Message----- > From: discuss [mailto:discuss-bounces at openvswitch.org] On Behalf Of Panu > Matilainen > Sent: Friday, December 4, 2015 10:54 AM > To: dev at dpdk.org; users at dpdk.org; dev at openvswitch.org; > discuss at openvswitch.org > Subject: [ovs-discuss] [announce] driverctl: utility for persistent > alternative > driver binding > > Hi all, > > While this is not directly related to DPDK or OVS, it is potentially > useful for users of both, so excuse me for cross-posting. > > Quoting from the project README (for the full text see > http://laiskiainen.org/git/?p=driverctl.git;a=blob_plain;f=README) > > > driverctl is a tool for manipulating and inspecting the system > > device driver choices. > > > > Devices are normally assigned to their sole designated kernel driver > > by default. However in some situations it may be desireable to > > override that default, for example to try an older driver to > > work around a regression in a driver or to try an experimental > > alternative driver. Another common use-case is pass-through > > drivers and driver stubs to allow userspace to drive the device, > > such as in case of virtualization. > > > > driverctl integrates with udev to support overriding > > driver selection for both cold- and hotplugged devices from the > > moment of discovery, but can also change already assigned drivers, > > assuming they are not in use by the system. The driver overrides > > created by driverctl are persistent across system reboots > > by default. > > > > Usage > > ----- > > > > Find devices currently driven by ixgbe driver: > > > > # driverctl -v list-devices | grep ixgbe > > 0000:01:00.0 ixgbe (Ethernet 10G 4P X520/I350 rNDC) > > 0000:01:00.1 ixgbe (Ethernet 10G 4P X520/I350 rNDC) > > > > Change them to use the vfio-pci driver: > > # driverctl set-override 0000:01:00.0 vfio-pci > > # driverctl set-override 0000:01:00.1 vfio-pci > > > > Find devices with driver overrides: > > # driverctl -v list-devices|grep \\* > > 0000:01:00.0 vfio-pci [*] (Ethernet 10G 4P X520/I350 rNDC) > > 0000:01:00.1 vfio-pci [*] (Ethernet 10G 4P X520/I350 rNDC) > > > > Remove the override from slot 0000:01:00.1: > > # driverctl unset-override 0000:01:00.1 > > DPDK of course has its own dpdk_nic_bind(.py) tool for this purpose, the > main differences to driverctl are: > - driverctl bindings are persistent across system boots
[Gray, Mark D] This is great! Will this integrate with, for example in Red Hat-based systems, /etc/sysconfig/network-scripts/ifcfg-X? In DPDK, could we then potentially reference devices by that (arbitrary) name? > - driverctl bindings take place immediately on cold- and hotplug > - driverctl is a generic tool not limited to network adapters > - dpdk_nic_bind being a special purpose tool has many more > sanity checks for its supported use-cases > - dpdk_nic_bind supports binding multiple NICs at once > > The project currently lives at > http://laiskiainen.org/git/?p=driverctl.git > > Feedback, patches etc are welcome. > > - Panu - > _______________________________________________ > discuss mailing list > discuss at openvswitch.org > http://openvswitch.org/mailman/listinfo/discuss