| a2a23a79 | 21-Dec-2020 |
Long Li <[email protected]> |
net/netvsc: support VF device hot add/remove
When a VF device is present, netvsc can send or receive packets over the VF device. The VF device driver communicates directly with the PCI device via th
net/netvsc: support VF device hot add/remove
When a VF device is present, netvsc can send or receive packets over the VF device. The VF device driver communicates directly with the PCI device via the PF from the host hypervisor. This is faster than exchanging data with netvsp via vmbus, i.e. syntheic path.
In Azure and Hyper-v environments, VF device can be hot added or hot removed at anytime while guest VM is running. This patch improves netvsc to support VF device hot add/remove.
1. netvsc monitors all system hot add activities over the PCI bus. When it detects a VF device is added to the system and is managed under this netvsc device, it asks EAL to probe and start this VF device, then it attaches and switches data path to the VF device.
2. After a VF device is attached to netvsc, netvsc monitors this device on hot remove. When this VF device is hot removed, netvsc switches data path to synthetic, stops this VF device and removes it from EAL.
3. If any failure happens during a VF device hot remove or add, the netvsc falls back to synthetic path for all data traffic.
Signed-off-by: Long Li <[email protected]>
show more ...
|