#define NETVSC_CLASS_ID "{f8615163-df3e-46c5-913f-f2d2f965ed0e}"
#define NETVSC_MAX_ROUTE_LINE_SIZE 300
-RTE_LOG_REGISTER(vdev_netvsc_logtype, pmd.net.vdev_netvsc, NOTICE);
+RTE_LOG_REGISTER_DEFAULT(vdev_netvsc_logtype, NOTICE);
#define DRV_LOG(level, ...) \
rte_log(RTE_LOG_ ## level, \
int ret;
DRV_LOG(DEBUG, "invoked as \"%s\", using arguments \"%s\"", name, args);
+ rte_eal_alarm_cancel(vdev_netvsc_alarm, NULL);
if (!kvargs) {
DRV_LOG(ERR, "cannot parse arguments list");
goto error;
!strcmp(pair->key, VDEV_NETVSC_ARG_MAC))
++specified;
}
- if (ignore) {
- if (kvargs)
- rte_kvargs_free(kvargs);
- return 0;
- }
+ if (ignore)
+ goto ignore;
if (specified > 1) {
DRV_LOG(ERR, "More than one way used to specify the netvsc"
" device.");
goto error;
}
- rte_eal_alarm_cancel(vdev_netvsc_alarm, NULL);
/* Gather interfaces. */
ret = vdev_netvsc_foreach_iface(vdev_netvsc_netvsc_probe, 1, name,
kvargs, specified, &matched);
}
DRV_LOG(WARNING, "non-netvsc device was probed as netvsc");
}
- ret = rte_eal_alarm_set(VDEV_NETVSC_PROBE_MS * 1000,
- vdev_netvsc_alarm, NULL);
- if (ret < 0) {
- DRV_LOG(ERR, "unable to schedule alarm callback: %s",
- rte_strerror(-ret));
- goto error;
- }
error:
- if (kvargs)
- rte_kvargs_free(kvargs);
++vdev_netvsc_ctx_inst;
+ignore:
+ rte_kvargs_free(kvargs);
+ /* Reset alarm if there are device context created */
+ if (vdev_netvsc_ctx_count) {
+ ret = rte_eal_alarm_set(VDEV_NETVSC_PROBE_MS * 1000,
+ vdev_netvsc_alarm, NULL);
+ if (ret < 0)
+ DRV_LOG(ERR, "unable to schedule alarm callback: %s",
+ rte_strerror(-ret));
+ }
return 0;
}