[dpdk-users] Proposal -- Add APIs allowing for VF management

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Jul 18 10:46:06 CEST 2016


Hi,

2016-07-15 14:06, Scott Daniels:
> The need to configure and manage virtual functions (VFs) on a NIC in order 
> to apply policy has grown to the point that we have implemented a small, 
> DPDK based, tool to do so.  Our tool, VFd (Virtual Function daemon), 
> allows us to configure VFs using a per VF description provided by an 
> external source (e.g. a virtualisation manager such as Openstack).
> 
> In order to implement VFd, initially supporting just the Intel 82599, we 
> found that not all of the NIC management could be accomplished through the
> existing DPDK libraries, and would like to propose the following API 
> extensions to DPDK:
> 
>     - mailbox communication callback support
>     - TC configuration
>     - DCB configuration
>     - Queue configuration
>     - PF/VF statistics
> 
> These API extensions would allow software such as VFd to manage any 
> supported NIC without the need for customised code in the application.
> 
> Is this something that the community would be open to?

It is difficult to answer to this question without understanding precisely
which change you need.
The VFs are managed in DPDK as any other device. The configuration is done
through the ethdev library. Do you mean the ethdev API is too poor for
your needs?
Could you give some examples please?

> We also believe that once the APIs are added a more generic management 
> tool, similar to VFd, could be added to allow for VF management via 
> traditional command line tools (ifconfig, ip, ethtool).

These tools send some ioctl to the kernel drivers.
I don't know if mixing DPDK and kernel drivers would be a good idea.
I think it has never been tried :)

> This could be maintained either as one of the DPDK examples, or as a
> separate community supported software application.
> 
> Again, we're wondering what the community thinks about such a tool.
> 
> 
> Scott
> 
> VFd is open source and is hosted on github:
> https://github.com/att/vfd

Thank you for sharing. Please use the dev@ mailing list to discuss new API.



More information about the users mailing list