summaryrefslogtreecommitdiff
path: root/common/include/utils.h
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2023-08-09 18:47:16 +0800
committerluwenpeng <[email protected]>2023-08-10 18:31:38 +0800
commite34aa3f5e23d7fa0b95944269c499d5c1e7c23aa (patch)
treeaf0565991e01741c850d9479850fc58df6f9b509 /common/include/utils.h
parent1063574ca0d3fea91f26b8a6bd76a2d021efd822 (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.h61
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