diff options
| author | root <[email protected]> | 2023-05-30 09:31:51 +0000 |
|---|---|---|
| committer | root <[email protected]> | 2023-05-30 09:31:51 +0000 |
| commit | fd75395ba232c71ca0f5b43cbe38214c7975f643 (patch) | |
| tree | bbe06e2a56b116bdf72ba9d1ff5ebec032bd5c85 /shaping/src/shaper_session.cpp | |
| parent | 57efeb63d5769c9f1b92b1266780968ad1c30d78 (diff) | |
add feature splitby and fairness
Diffstat (limited to 'shaping/src/shaper_session.cpp')
| -rw-r--r-- | shaping/src/shaper_session.cpp | 13 |
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); |
