Commit Graph

31 Commits

Author SHA1 Message Date
luwenpeng
6fbce43afc refactor: move macro to utils.h 2024-08-16 10:43:00 +08:00
luwenpeng
e8299dd77c enhance: rename session manager stat iterm name 2024-08-14 17:25:46 +08:00
luwenpeng
6e1c25a445 optimizate: clean up unused code && code formatting 2024-08-14 17:25:46 +08:00
yangwei
526171618f 🔧 build(compile Werror): reduce warning 2024-08-12 15:47:05 +08:00
luwenpeng
1f09f43f52 feature: session manager support lookup session by session ID 2024-07-29 10:44:57 +08:00
luwenpeng
c87ad330e0 feature: add GTP utils, support overwrite message length of GTP header 2024-07-09 11:17:03 +08:00
luwenpeng
076b3c7b0b refactor: session module (split to define/utils/pool/table/timer/transition/manager) 2024-06-25 10:32:51 +08:00
luwenpeng
de4c15f43c Refactored packet API to support struct layer (using union to contain different types of encapsulation headers) 2024-06-14 19:24:27 +08:00
luwenpeng
1f78881cbb rename struct packet_layer to struct raw_layer 2024-06-14 10:58:40 +08:00
luwenpeng
01958b56c5 rename layer_type to layer_proto 2024-06-12 18:21:45 +08:00
luwenpeng
32ae4618ef Add support for TCP port reuse (same tuple6 but different ISN) in session manager: evict old session and create new session 2024-05-16 19:21:12 +08:00
luwenpeng
c59f178769 Update stat of session manager 2024-04-30 17:03:36 +08:00
luwenpeng
74f0504d3d Update Stellar export header and add stellar_get_current_thread_index() function 2024-04-23 14:38:58 +08:00
luwenpeng
5508454a1b Optimize packet I/O and timeouts
- Introduce per-thread I/O statistics for packet I/O to reduce performance overhead.
- Implement packet_io_yield() for better thread management during I/O operations.
- Refactor time wheel management:
  - Replace timeouts-based cron tasks with (now_ts - last_ts > timeout) for scheduled tasks.
  - Update the time wheel every 5 ms for improved time management.
2024-04-18 14:37:03 +08:00
luwenpeng
cfbad63021 Duplicated packet filter supports IPv4-Based TCP / UDP packet (IPv6 is not supported, because IPv6 does not have an IPid and cannot distinguish between retransmissions and duplicates) 2024-04-11 11:29:01 +08:00
luwenpeng
24e109e34f Export tuple.h / packet.h / session.h to the include directory 2024-04-10 15:37:42 +08:00
luwenpeng
3b00acab81 Modify the stat of session manager 2024-04-09 10:36:39 +08:00
luwenpeng
c8beafe081 Modify the configuration items of evicted_session_filter && duplicated_packet_filter 2024-04-08 11:28:45 +08:00
luwenpeng
e8e60cee6d Refactor TCP reassembly, the session knows where the TCP segment comes from: raw packet or tcp segment queue 2024-04-03 15:45:08 +08:00
luwenpeng
a509f0ce3b Update API of manipulation session 2024-04-01 17:15:19 +08:00
luwenpeng
6e422ecb8d Update session timeouts 2024-03-29 16:32:16 +08:00
luwenpeng
eb281ab789 session manager support tcp reassembly 2024-03-26 15:09:03 +08:00
luwenpeng
ce00122557 Refactor the session manager using session transformation 2D array & Update test case 2024-03-14 18:03:34 +08:00
luwenpeng
512dfddd03 reactor packet I/O & duplicated packet filter & evicted session filter 2024-03-10 19:07:26 +08:00
luwenpeng
734f6a5135 rename config -> options 2024-03-08 14:51:21 +08:00
luwenpeng
d0914483bb rename counter -> stat 2024-03-08 14:25:01 +08:00
luwenpeng
c945931620 rename xxx_create() / xxx_destory() -> xxx_new() / xxx_free() 2024-03-08 14:20:36 +08:00
luwenpeng
31c9303a93 bugfix: reasion -> reason 2024-03-08 13:33:49 +08:00
luwenpeng
bd3735d3c4 update IPv4 utils 2024-02-21 14:34:34 +08:00
luwenpeng
3575cf9367 add test case: overload evict udp (old/new) session 2024-01-26 14:23:57 +08:00
luwenpeng
6050d15e29 add test case: overload evict tcp (old/new) session 2024-01-26 14:13:54 +08:00