code: func (r *DrvRegistry) WalkDrivers(dfn DriverWalkFunc) {
  	type driverVal struct {
  		name string
  		data *driverData
  	}
  
  	r.Lock()
  	dvl := make([]driverVal, 0, len(r.drivers))
  	for k, v := range r.drivers {
  		dvl = append(dvl, driverVal{name: k, data: v})
  	}
  	r.Unlock()
  
  	for _, dv := range dvl {
  		if dfn(dv.name, dv.data.driver, dv.data.capability) {
  			break
  		}
  	}
  }
docs: // WalkDrivers walks the network drivers registered in the registry and invokes the passed walk function and each one of them.