There have been some discussions on this new PMD and it will be discussed today in the techboard meeting.
I would like to expose my view and summarize the solutions I have heard. First it is important to remind that everyone agrees on the need for this feature, i.e. masking the hotplug events by maintaining an ethdev object even without real underlying device. 1/ The proposal from Gaetan is to add a failsafe driver with 2 features: * masking underlying device * limited and small failover code to switch from a device to another one, with the same centralized configuration The latter feature makes think to the bonding driver, but it could be kept limited without any intent of implementing real bonding features. 2/ If we really want to merge failsafe and bonding features, we could create a new bonding driver with centralized configuration. The legacy bonding driver let each slave to be configured separately. It is a different model and we should not mix them. If one is better, it could be deprecated later. 3/ It can be tried to implement the failsafe feature into the bonding driver, as Neil suggests. However, I am not sure it would work very well or would be easy to use. 4/ We can implement only the failsafe feature as a PMD and use it to wrap the slaves of the bonding driver. So the order of link would be bonding -> failsafe -> real device In this model, failsafe can have only one slave and do not implement the fail-over feature.