[dpdk-users] rte_virtio_pmd_init(): IOPL call failed - cannot use virtio PMD
Stephen Hemminger
stephen at networkplumber.org
Sat Aug 4 00:21:50 CEST 2018
On Fri, 3 Aug 2018 22:20:12 +0000 (UTC)
amit sehas <cun23 at yahoo.com> wrote:
What was the error?
Are you running on KVM, what version? Or some other hypervisor like virtualbox?
> I tried my best to make iopl work but couldnt, i wrote a small 'c' program that does only iopl() and even that does not work, neither on the host machine nor on the VM in docker ... i am wondering if this has anything to do with bios settings ...i tried it on different machines too ... root permissions, explicity setting capset ... etc .. i tried them all but still does not work ... quite frustrating how many hours i had to spent trying different things...
>
> thanks
>
>
> On Friday, August 3, 2018, 2:24:28 PM PDT, Stephen Hemminger <stephen at networkplumber.org> wrote:
>
> On Wed, 1 Aug 2018 16:27:49 +0000 (UTC)
> amit sehas <cun23 at yahoo.com> wrote:
>
> > I am trying to run a dpdk application in docker and i get the above error ... the docker instance was run as below:
> >
> > docker run -dit --name <name> -v /hostlibpath:/contlibpath:ro fedora:26 bash
> >
> > i am new to dpdk, as a result i am quite lost as to where to look ...
> >
> > thanks
>
> Short answer virtio requires DPDK process to be run as root.
>
> In order for the virtio device to signal the underlying host it may need the in/out instructions.
> These CPU instructions are normally privileged (only allowed in kernel) but on Linux there is
> is a system call to allow a process with root (really CAP_SYS_RAWIO) to do these from userspace.
> See iopl manual page.
>
> The actual answer is more complex. Older versions of virtio (legacy) use in/out but the
> current version (modern) can use memory read/write. Ideally, the DPDK virtio would only
> ask for IOPL privilege if it needed it. The problem is that may need it during the negotiation
> process. Someone should look into fixing this.
>
More information about the users
mailing list