I am curious to know the Implementaion of the kernel driver approach for ethernet.
In gigabit Ethernet controller PF is having the ixgbe driver and VF is having a seperate driver ixgbevf.
1. Single kernel driver will be sufficient to maintain the PF and VF functionalities - since same driver can be loaded in the host and guest, with respective device ID the probe function will be called and it will enabled
2. or Is there any standards?
3. Any kernel Bugs for a single driver?
4. Any hypervisor changes to be done for single driver approach?
We had lenghy and heated discussions about that very topic nearly 4 years ago now when designing our 1st SR-IOV drivers.
There is no technical reason why you cannot have a single monolithic driver. We decided to separate the drivers for simplicity sake. The VF drivers change much less frequently than PF drivers, as we are always adding new features and fixing issues in the PF driver.
With the separate apprach, the PF can be updated without affecting the VF, and therefore the VM.
There was and still is no standard no any issues with either approach.