Lines Matching full:monitors
29 * Monitors
31 * netmap monitors can be used to do monitoring of network traffic
34 * Monitors offer to userspace the same interface as any other netmap port,
48 * Monitors can be either zero-copy or copy-based.
50 * Copy monitors see the frames before they are consumed:
60 * Zero-copy monitors only see the frames after they have been consumed:
70 * Several copy or zero-copy monitors may be active on any ring.
126 * functions common to both kind of monitors
168 /* nm_krings_create callbacks for monitors.
191 /* nm_krings_delete callback for monitors */
205 /* allocate the monitors array in the monitored kring */
218 nm = nm_os_realloc(kring->monitors, len, old_len); in nm_monitor_alloc()
222 kring->monitors = nm; in nm_monitor_alloc()
232 if (kring->monitors) { in nm_monitor_dealloc()
234 nm_prerr("freeing not empty monitor array for %s (%d dangling monitors)!", in nm_monitor_dealloc()
237 nm_os_free(kring->monitors); in nm_monitor_dealloc()
238 kring->monitors = NULL; in nm_monitor_dealloc()
244 /* returns 1 iff kring has no monitors */
254 * monitors work by replacing the nm_sync() and possibly the
314 /* add the monitor mkring to the list of monitors of kring.
357 kring->monitors[kring->n_monitors] = mkring; in netmap_monitor_add()
367 /* remove the monitor mkring from the list of monitors of kring.
420 kring->monitors[mon_pos] = in netmap_monitor_del()
421 kring->monitors[kring->n_monitors]; in netmap_monitor_del()
422 kring->monitors[mon_pos]->mon_pos[kring->tx] = mon_pos; in netmap_monitor_del()
424 kring->monitors[kring->n_monitors] = NULL; in netmap_monitor_del()
442 * We need to notify the monitors that the monitored rings are gone.
465 kring->monitors[j]; in netmap_monitor_stop()
473 kring->monitors[j] = NULL; in netmap_monitor_stop()
506 * monitors.
578 * functions specific for zero-copy monitors
711 /* nm_dtor callback for monitors */
725 * functions specific for copy monitors
736 struct netmap_kring *mkring = kring->monitors[j]; in netmap_monitor_parent_sync()
927 * except other monitors. in netmap_get_monitor_na()
973 /* a do-nothing txsync: monitors cannot be used to inject packets */ in netmap_get_monitor_na()