In rS360398, a new iflib device method was added to opt out of VLAN events needing an interface reset.
I am switching the default for VLAN and unknown events to not requiring a restart. After fixing various bugs, I do not think this would be a common need of hardware and it is undesirable from the user's perspective causing link flaps and much slower VLAN configuration. Currently, there are no other restart events besides VLAN events, and setting the ifdi_needs_restart default to false will alleviate the need to churn every driver if an odd event is added in the future for specific hardware.
No functional change, do not restart on VLAN change for:
- em (fixed in 2796f7c)
- igc (fixed in 2eaef8e)
- ix (implemented in cf15091)
- ixl (implemented in cf15091)
No function change, continue to restart on VLAN change for:
- ixv (needs code audit, 61a8231 fixed principal issue; re-init probably not necessary)
- axgbe (needs code audit; re-init probably not necessary)
- iavf - (needs code audit; interaction with Malicious Driver Detection mentioned in rS360398)
- mgb - no VLAN functions are currently implemented. Left a comment.
Functional change to:
- bnxt - it was an unintended side effect of rS360398 that this driver is doing re-init for VLAN changes. Toggle it off.
- enic - it was an unintended side effect of rS360398 that this driver is doing re-init for VLAN changes. Toggle it off.
- enetc - it was an unintended side effect of rS360398 that this driver is doing re-init for VLAN changes. Toggle it off.
- vmxnet3 - it was an unintended side effect of rS360398 that this driver is doing re-init for VLAN changes. Toggle it off.
- ice - it doesn't look like it needs to re-init for VLAN changes. Toggle it off.