From db8415b5b6d58f81be5fa33077fa3c0e7d46ca24 Mon Sep 17 00:00:00 2001 From: "Martine S. Lenders" Date: Mon, 15 Mar 2021 15:13:27 +0100 Subject: [PATCH] gnrc_netif_pktq: add function to check usage --- sys/include/net/gnrc/netif/pktq.h | 7 +++++++ sys/net/gnrc/netif/pktq/gnrc_netif_pktq.c | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/sys/include/net/gnrc/netif/pktq.h b/sys/include/net/gnrc/netif/pktq.h index 582f83757a..7138e3b5b4 100644 --- a/sys/include/net/gnrc/netif/pktq.h +++ b/sys/include/net/gnrc/netif/pktq.h @@ -46,6 +46,13 @@ extern "C" { */ int gnrc_netif_pktq_put(gnrc_netif_t *netif, gnrc_pktsnip_t *pkt); +/** + * @brief Returns the overall usage of the packet queue resources + * + * @return Number of gnrc_pktqueue_t entries currently in use. + */ +unsigned gnrc_netif_pktq_usage(void); + /** * @brief Gets a packet from the packet send queue of a network interface * diff --git a/sys/net/gnrc/netif/pktq/gnrc_netif_pktq.c b/sys/net/gnrc/netif/pktq/gnrc_netif_pktq.c index b8ced8b893..11a9a3b23e 100644 --- a/sys/net/gnrc/netif/pktq/gnrc_netif_pktq.c +++ b/sys/net/gnrc/netif/pktq/gnrc_netif_pktq.c @@ -32,6 +32,18 @@ static gnrc_pktqueue_t *_get_free_entry(void) return NULL; } +unsigned gnrc_netif_pktq_usage(void) +{ + unsigned res = 0; + + for (unsigned i = 0; i < CONFIG_GNRC_NETIF_PKTQ_POOL_SIZE; i++) { + if (_pool[i].pkt != NULL) { + res++; + } + } + return res; +} + int gnrc_netif_pktq_put(gnrc_netif_t *netif, gnrc_pktsnip_t *pkt) { assert(netif != NULL);