diff options
Diffstat (limited to 'sys/net/if_wg.c')
-rw-r--r-- | sys/net/if_wg.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/net/if_wg.c b/sys/net/if_wg.c index e27a575cc1b..9e23dfb60ee 100644 --- a/sys/net/if_wg.c +++ b/sys/net/if_wg.c @@ -1681,13 +1681,26 @@ error: task_add(net_tq(sc->sc_if.if_index), &peer->p_deliver_in); } +#define BUCKETS 512 +static unsigned int buckets[BUCKETS]; +unsigned int times; + void wg_encap_worker(void *_sc) { struct mbuf *m; struct wg_softc *sc = _sc; - while ((m = wg_ring_dequeue(&sc->sc_encap_ring)) != NULL) + unsigned int i = 0; + while ((m = wg_ring_dequeue(&sc->sc_encap_ring)) != NULL) { wg_encap(sc, m); + ++i; + } + if (i < BUCKETS) + ++buckets[i]; + if (times++ == 4096 * 8) { + for (i = 0; i < BUCKETS; ++i) + DPRINTF(sc, "%u: %u\n", i, buckets[i]); + } } void |