Unbind/Bind VF as well as moving RDMA device to namespace
causes rdma resources to be re-created.
CNI may be invoked in parallel and kernel may provide a VF
RDMA resources under a different name.
As the mapping of RDMA resources is done in Device plugin
prior to CNI invocation, it must not change during CNI invocation.
We serialize the CNI's Add,Del operations by Creating/Locking/Unlocking
a file, causing kernel to allocate RDMA resources the same name
for a given VF.
In the future, Systems should use udev PCI based RDMA device
names, ensuring consistent RDMA resources names.
Unbind/Bind VF as well as moving RDMA device to namespace causes rdma resources to be re-created. CNI may be invoked in parallel and kernel may provide a VF RDMA resources under a different name.
As the mapping of RDMA resources is done in Device plugin prior to CNI invocation, it must not change during CNI invocation.
We serialize the CNI's Add,Del operations by Creating/Locking/Unlocking a file, causing kernel to allocate RDMA resources the same name for a given VF.
In the future, Systems should use udev PCI based RDMA device names, ensuring consistent RDMA resources names.