We are free to pass it up to user level however we like. RFC1643 and RFC1213 make this utterly. It is OK to check only once every 5 seconds or so. If somebody needs faster failover, they can buy hardware that isn't broken. Perhaps we should make the media timer generic.
Every driver has one anyway.
The media selection timer which we need to call every 5 seconds. Keep this as is. Each driver is responsible for starting its own media selection timer. This allows the driver to use an on-chip timer instead. Probably on open only.