Any solution to apply SR-IOV as a network driver plugin

Is there a solution which can create a network driver plugin for SR-IOV so I can start a container by
docker run --net=sriov busybox top

As far as I know, using modified-version of pipework will assign SR-IOV VFs to containers via network namespace as described at http://jason.digitalinertia.net/exposing-docker-containers-with-sr-iov/

However, if I write a plugin named sriov using libnetwork remote driver API ( https://github.com/docker/libnetwork/blob/master/docs/remote.md ), how to implement interface
/NetworkDriver.CreateEndpoint
and
/NetworkDriver.Join
so that a SR-IOV VF can be assigned to a container?