From e34aa3f5e23d7fa0b95944269c499d5c1e7c23aa Mon Sep 17 00:00:00 2001 From: luwenpeng Date: Wed, 9 Aug 2023 18:47:16 +0800 Subject: TSG-16531 PacketAdapter适配容器环境,使用mrzcpd收包,通过RAW Socket注RST包 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/include/utils.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 common/include/utils.h (limited to 'common/include/utils.h') 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 +#include + +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 -- cgit v1.2.3