No. Kernel o DPDK driver can be used, configured at network attachment definition.
A Network Attachment Definition for SR-IOV CNI takes the form:
apiVersion: “k8s.cni.cncf.io/v1”
kind: NetworkAttachmentDefinition
metadata:
name: sriov-net1
annotations:
k8s.v1.cni.cncf.io/resourceName: intel.com/intel_sriov_netdevice
spec:
config: ‘{
[…]
}’This is the [extended] configuration for a working kernel driver interface using an SR-IOV Virtual Function. It applies an IP address using the host-local IPAM plugin in the range of the subnet provided:
{
“cniVersion”: “0.3.1”,
“name”: “sriov-advanced”,
“type”: “sriov”,
“vlan”: 1000,
“spoofchk”: “off”,
“trust”: “on”,
“ipam”: {
“type”: “host-local”,
“subnet”: “10.56.217.0/24”,
“routes”: [{
“dst”: “0.0.0.0/0”
}],
“gateway”: “10.56.217.1”
}
}The below config will configure a VF using a userspace driver (uio/vfio) for use in a container. If this plugin is used with a VF bound to a dpdk driver then the IPAM configuration will still be respected, but it will only allocate IP address(es) using the specified IPAM plugin, not apply the IP address(es) to container interface.
{
“cniVersion”: “0.3.1”,
“name”: “sriov-dpdk”,
“type”: “sriov”,
“vlan”: 1000
}Note DHCP IPAM plugin can not be used for VF bound to a dpdk driver (uio/vfio).
Note When VLAN is not specified in the Network-Attachment-Definition, or when it is given a value of 0, VFs connected to this network will have no vlan tag.
https://github.com/openshift/sriov-cni