summaryrefslogtreecommitdiff
path: root/shaping/src/shaper_session.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 /shaping/src/shaper_session.cpp
parent57efeb63d5769c9f1b92b1266780968ad1c30d78 (diff)
add feature splitby and fairness
Diffstat (limited to 'shaping/src/shaper_session.cpp')
-rw-r--r--shaping/src/shaper_session.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/shaping/src/shaper_session.cpp b/shaping/src/shaper_session.cpp
index dc4bc08..27a8c51 100644
--- a/shaping/src/shaper_session.cpp
+++ b/shaping/src/shaper_session.cpp
@@ -1,3 +1,4 @@
+#include "addr_tuple4.h"
#include "session_table.h"
#include "raw_packet.h"
#include "utils.h"
@@ -18,12 +19,22 @@ struct shaping_flow* shaper_session_opening(struct shaping_thread_ctx *ctx, stru
node = session_table_search_by_id(ctx->session_table, meta->session_id);
if (node) {
sf = (struct shaping_flow *)node->val_data;
- LOG_ERROR("%s: session id %lu for %s has already exist", LOG_TAG_SHAPING, meta->session_id, addr_tuple4_to_str(&sf->tuple4));
+
+ char *addr_str = addr_tuple4_to_str(&sf->tuple4);
+ LOG_ERROR("%s: session id %lu for %s has already exist", LOG_TAG_SHAPING, meta->session_id, addr_str);
+
+ if (addr_str) {
+ free(addr_str);
+ }
+
return NULL;
}
sf = shaping_flow_new();
raw_packet_parser_get_most_inner_tuple4(raw_parser, &sf->tuple4);
+ sf->src_ip_str = addr_src_ip_to_str(&sf->tuple4);
+ sf->src_ip_str_len = strlen(sf->src_ip_str);
+
//shaper_rules_update(ctx, sf, ctrl_data->shaping_rule_ids, ctrl_data->shaping_rule_num);
shaper_marsio_metadata_deep_copy(&sf->ctrl_meta, meta);