As part of the ongoing development of the sriov-cni and
sriov-device-plugin, the DPDK NetworkAttachmentDefinition
configuration options have been deprecated.
Previously, we used this functionality to have the sriov-cni
plugin perform the device bind from netdevice (kernel) to
vfio (userspace), and simply set sriov-device-plugin
deviceType configuration parameter to 'netdevice'.
Going forward, we must add a mechanism for a user to define
the deviceType at the interface configuration level. This
means an SR-IOV enabled device can no longer have a mix of
netdevice, vfio chosen by the NeworkAttachmentDefinition.
That is, it must be determined by the user beforehand which
type of virtual function driver (kernel or DPDK) a device's
VFs should have.
This commit includes the cgtsclient, API, DB and puppet
related changes required for a user to set the VF driver type.
In terms of the cgts-client, the following parameter has been
added: --vf-driver. Example usage for a device intended to
be used with a DPDK application is as follows:
system host-if-modify -m 1500 -n sriov0 -d ${DATANET} \
-c pci-sriov -N ${NUM_VFS} --vf-driver=vfio ${WORKER_NAME} \
${INTERFACE_UUID}
If the user does not specify a vf-driver, the default device
type will remain as it is today as 'netdevice'. The user can
also choose to explicitly set the --vf-driver to 'netdevice'
for the same effect. In this case, a check is made to ensure
the VF driver has been detected and reported by the sysinv
agent.
Story: 2005208
Task: 33485
Closes-Bug: 1829565
Change-Id: I8f6f27b79c7fafa03873e71473f7694991142e50
Signed-off-by: Steven Webster <steven.webster@windriver.com>