summaryrefslogtreecommitdiff
path: root/platform/include/sce.h
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2023-11-23 16:52:06 +0800
committerluwenpeng <[email protected]>2023-11-24 11:37:24 +0800
commitbda50d79af1f7c59f5ab71fdefff06e3e3397be2 (patch)
tree8eec56e3276271a192c2f73c1e2831aa5c02e22f /platform/include/sce.h
parentcbac7fea291ded728a630227e196e17543f4646d (diff)
perf: 删除无效代码;修改变量命名;减少内存分配
Diffstat (limited to 'platform/include/sce.h')
-rw-r--r--platform/include/sce.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/platform/include/sce.h b/platform/include/sce.h
index 0eba8c1..7d5bf9b 100644
--- a/platform/include/sce.h
+++ b/platform/include/sce.h
@@ -49,11 +49,11 @@ struct metadata
uint64_t session_id;
uint32_t rehash_index;
- char *raw_data;
+ char *raw_data; // refer to current packet data
int raw_len;
uint16_t l7offset;
- int is_e2i_dir;
+ int direction; // 1: E2I; 0: I2E
int is_ctrl_pkt;
int is_decrypted;
@@ -61,11 +61,10 @@ struct metadata
struct route_ctx route_ctx;
};
-struct metadata *metadata_new();
-int metadata_is_empty(struct metadata *meta);
-void metadata_shallow_copy(struct metadata *dst, struct metadata *src);
-void metadata_deep_copy(struct metadata *dst, struct metadata *src);
-void metadata_free(struct metadata *meta);
+int metadata_isempty(struct metadata *meta);
+void metadata_copy(struct metadata *dst, struct metadata *src);
+
+char *memdup(const char *src, int len);
/******************************************************************************
* Struct Session Ctx
@@ -75,18 +74,24 @@ struct session_ctx
{
uint64_t session_id;
char *session_addr;
+
+ // dup from received control packet, for sending control packet
+ char *ctrl_packet_header_data;
+ uint16_t ctrl_packet_header_len;
+
uint16_t vxlan_src_port;
struct four_tuple inner_tuple4;
struct mutable_array rule_ids;
- struct metadata *decrypted_meta_i2e;
- struct metadata *decrypted_meta_e2i;
- struct metadata *raw_meta_i2e;
- struct metadata *raw_meta_e2i;
- struct metadata *ctrl_meta;
+ struct metadata decrypted_meta_i2e;
+ struct metadata decrypted_meta_e2i;
+ struct metadata raw_meta_i2e;
+ struct metadata raw_meta_e2i;
+ struct metadata ctrl_meta;
- struct selected_chainings chainings;
+ struct selected_chaining *chaining_raw;
+ struct selected_chaining *chaining_decrypted;
struct thread_ctx *ref_thread_ctx;
};