Hi Danny, 2014-10-31 17:36, O'driscoll, Tim: > Bifurcated Driver (Danny.Zhou at intel.com)
Thanks for the presentation of bifurcated driver during the community call. I asked if you looked at ibverbs and you wanted a link to check. The kernel module is here: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core The userspace library: http://git.kernel.org/cgit/libs/infiniband/libibverbs.git Extract from Kconfig: " config INFINIBAND_USER_ACCESS tristate "InfiniBand userspace access (verbs and CM)" select ANON_INODES ---help--- Userspace InfiniBand access support. This enables the kernel side of userspace verbs and the userspace communication manager (CM). This allows userspace processes to set up connections and directly access InfiniBand hardware for fast-path operations. You will also need libibverbs, libibcm and a hardware driver library from <http://www.openfabrics.org/git/>. " It seems to be close to the bifurcated driver needs. Not sure if it can solve the security issues if there is no dedicated MMU in the NIC. I feel we should sum up pros and cons of - igb_uio - uio_pci_generic - VFIO - ibverbs - bifurcated driver I suggest to consider these criterias: - upstream status - usable with kernel netdev - usable in a vm - usable for ethernet - hardware requirements - security protection - performance -- Thomas