diff --git a/sys/shell/commands/Makefile b/sys/shell/commands/Makefile index 81d3dd062a..05fabdbf68 100644 --- a/sys/shell/commands/Makefile +++ b/sys/shell/commands/Makefile @@ -54,6 +54,9 @@ ifneq (,$(filter gnrc_ipv6_nib_6lbr,$(USEMODULE))) SRC += sc_gnrc_6ctx.c endif endif +ifneq (,$(filter gnrc_sixlowpan_frag_stats,$(USEMODULE))) + SRC += sc_gnrc_6lo_frag_stats.c +endif ifneq (,$(filter saul_reg,$(USEMODULE))) SRC += sc_saul_reg.c endif diff --git a/sys/shell/commands/sc_gnrc_6lo_frag_stats.c b/sys/shell/commands/sc_gnrc_6lo_frag_stats.c new file mode 100644 index 0000000000..6a553607cf --- /dev/null +++ b/sys/shell/commands/sc_gnrc_6lo_frag_stats.c @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2019 Freie Universität Berlin + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @{ + * + * @file + * @author Martine Lenders + */ + +#include + +#include "net/gnrc/sixlowpan/frag.h" + +int _gnrc_6lo_frag_stats(int argc, char **argv) +{ + gnrc_sixlowpan_frag_stats_t *stats = gnrc_sixlowpan_frag_stats_get(); + + (void)argc; + (void)argv; + printf("rbuf full: %u\n", stats->rbuf_full); + printf("frag full: %u\n", stats->frag_full); +#ifdef MODULE_GNRC_SIXLOWPAN_FRAG_VRB + printf("VRB full: %u\n", stats->vrb_full); +#endif + return 0; +} + +/** @} */ diff --git a/sys/shell/commands/shell_commands.c b/sys/shell/commands/shell_commands.c index fe29ee9480..78e703f6dd 100644 --- a/sys/shell/commands/shell_commands.c +++ b/sys/shell/commands/shell_commands.c @@ -117,6 +117,12 @@ extern int _gnrc_6ctx(int argc, char **argv); #endif #endif +#ifdef MODULE_GNRC_SIXLOWPAN_FRAG_STATS +#ifdef MODULE_GNRC_SIXLOWPAN_FRAG_STATS +extern int _gnrc_6lo_frag_stats(int argc, char **argv); +#endif +#endif + #ifdef MODULE_CCN_LITE_UTILS extern int _ccnl_open(int argc, char **argv); extern int _ccnl_content(int argc, char **argv); @@ -225,6 +231,9 @@ const shell_command_t _shell_command_list[] = { {"6ctx", "6LoWPAN context configuration tool", _gnrc_6ctx }, #endif #endif +#ifdef MODULE_GNRC_SIXLOWPAN_FRAG_STATS + {"6lo_frag", "6LoWPAN fragment statistics", _gnrc_6lo_frag_stats }, +#endif #ifdef MODULE_SAUL_REG {"saul", "interact with sensors and actuators using SAUL", _saul }, #endif