diff options
Diffstat (limited to '')
-rw-r--r-- | lib/util/stats.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/util/stats.h b/lib/util/stats.h new file mode 100644 index 0000000..9ee0cad --- /dev/null +++ b/lib/util/stats.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __STATS_H +#define __STATS_H + +#include <bpf/libbpf.h> + +#include "xdp/xdp_stats_kern_user.h" + +struct record { + __u64 timestamp; + bool enabled; + struct xdp_stats_record total; /* defined in common_kern_user.h */ +}; + +struct stats_record { + struct record stats[XDP_ACTION_MAX]; +}; + +int stats_print_one(struct stats_record *stats_rec); +int stats_print(struct stats_record *stats_rec, + struct stats_record *stats_prev); +int stats_collect(int map_fd, __u32 map_type, struct stats_record *stats_rec); +int stats_poll(int map_fd, int interval, bool *exit, const char *pin_dir, const char *map_name); + +#endif |