summaryrefslogtreecommitdiff
path: root/common/src/addr_tuple4.cpp
diff options
context:
space:
mode:
authorroot <[email protected]>2023-05-30 09:31:51 +0000
committerroot <[email protected]>2023-05-30 09:31:51 +0000
commitfd75395ba232c71ca0f5b43cbe38214c7975f643 (patch)
treebbe06e2a56b116bdf72ba9d1ff5ebec032bd5c85 /common/src/addr_tuple4.cpp
parent57efeb63d5769c9f1b92b1266780968ad1c30d78 (diff)
add feature splitby and fairness
Diffstat (limited to 'common/src/addr_tuple4.cpp')
-rw-r--r--common/src/addr_tuple4.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/common/src/addr_tuple4.cpp b/common/src/addr_tuple4.cpp
index fd60f0d..7e294f8 100644
--- a/common/src/addr_tuple4.cpp
+++ b/common/src/addr_tuple4.cpp
@@ -33,6 +33,27 @@ char *addr_tuple4_to_str(const struct addr_tuple4 *addr)
return str_ret;
}
+char *addr_src_ip_to_str(const struct addr_tuple4 *addr)//TODO: self test
+{
+ char *str_ret = NULL;
+
+ if (addr->addr_type == ADDR_TUPLE4_TYPE_V4)
+ {
+ char src_addr[INET_ADDRSTRLEN] = {0};
+ inet_ntop(AF_INET, &addr->addr_v4.src_addr, src_addr, sizeof(src_addr));
+ asprintf(&str_ret, "%s", src_addr);
+ }
+
+ if (addr->addr_type == ADDR_TUPLE4_TYPE_V6)
+ {
+ char src_addr[INET6_ADDRSTRLEN] = {0};
+ inet_ntop(AF_INET6, &addr->addr_v6.src_addr, src_addr, sizeof(src_addr));
+ asprintf(&str_ret, "%s", src_addr);
+ }
+
+ return str_ret;
+}
+
void addr_tuple4_reverse(const struct addr_tuple4 *orin, struct addr_tuple4 *out)
{
memset(out, 0, sizeof(struct addr_tuple4));