diff options
| author | luwenpeng <[email protected]> | 2023-08-09 18:47:16 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2023-08-10 18:31:38 +0800 |
| commit | e34aa3f5e23d7fa0b95944269c499d5c1e7c23aa (patch) | |
| tree | af0565991e01741c850d9479850fc58df6f9b509 /common/include/utils.h | |
| parent | 1063574ca0d3fea91f26b8a6bd76a2d021efd822 (diff) | |
TSG-16531 PacketAdapter适配容器环境,使用mrzcpd收包,通过RAW Socket注RST包v2.0.0-20230810
Diffstat (limited to 'common/include/utils.h')
| -rw-r--r-- | common/include/utils.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/common/include/utils.h b/common/include/utils.h new file mode 100644 index 0000000..7b26103 --- /dev/null +++ b/common/include/utils.h @@ -0,0 +1,61 @@ +#ifndef _UTILS_H +#define _UTILS_H + +#ifdef __cpluscplus +extern "C" +{ +#endif + +#include <stdint.h> +#include <stdio.h> + +struct metrics +{ + uint64_t rx_pkts; + uint64_t rx_bytes; + + uint64_t rx_err_pkts; + uint64_t rx_err_bytes; + + uint64_t succ_tx_v4_pkts; + uint64_t succ_tx_v4_bytes; + + uint64_t succ_tx_v6_pkts; + uint64_t succ_tx_v6_bytes; + + uint64_t err_tx_v4_pkts; + uint64_t err_tx_v4_bytes; + + uint64_t err_tx_v6_pkts; + uint64_t err_tx_v6_bytes; +}; + +inline void metrics_dump(struct metrics *metrics) +{ + printf(" rx_pkts : %ld\n", metrics->rx_pkts); + printf(" rx_bytes : %ld\n", metrics->rx_bytes); + + printf(" rx_err_pkts : %ld\n", metrics->rx_err_pkts); + printf(" rx_err_bytes : %ld\n", metrics->rx_err_bytes); + + printf(" succ_tx_v4_pkts : %ld\n", metrics->succ_tx_v4_pkts); + printf(" succ_tx_v4_bytes : %ld\n", metrics->succ_tx_v4_bytes); + + printf(" succ_tx_v6_pkts : %ld\n", metrics->succ_tx_v6_pkts); + printf(" succ_tx_v6_bytes : %ld\n", metrics->succ_tx_v6_bytes); + + printf(" err_tx_v4_pkts : %ld\n", metrics->err_tx_v4_pkts); + printf(" err_tx_v4_bytes : %ld\n", metrics->err_tx_v4_bytes); + + printf(" err_tx_v6_pkts : %ld\n", metrics->err_tx_v6_pkts); + printf(" err_tx_v6_bytes : %ld\n", metrics->err_tx_v6_bytes); +} + +#define ATOMIC_READ(x) __atomic_fetch_add(x, 0, __ATOMIC_RELAXED) +#define ATOMIC_ADD(x, y) __atomic_fetch_add(x, y, __ATOMIC_RELAXED) + +#ifdef __cpluscplus +} +#endif + +#endif |
