luwenpeng
e8299dd77c
enhance: rename session manager stat iterm name
2024-08-14 17:25:46 +08:00
luwenpeng
1f09f43f52
feature: session manager support lookup session by session ID
2024-07-29 10:44:57 +08:00
luwenpeng
b50f0c2c70
optimizate: pass the current timeout to the ID generator as a parameter, instead of getting the time from the ID generator itself
2024-07-16 17:16:52 +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
48428e52fe
replace 'ifndef define' to 'pragam once'
2024-06-19 15:06:14 +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
4c50a6dca7
Add injected packets to duplicate packet filter
2024-05-16 10:32:42 +08:00
luwenpeng
61ee619689
TCP reassembly add stat of TCP retransmit and TCP overlap
2024-05-06 17:33:02 +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
bb7d7410c9
fix spelling mistake
2024-04-21 11:30:41 +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
d57c81697f
bugfix: call duplicated packet filter too many times
2024-04-17 17:53:42 +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
a5a133bf91
Modify the stat of session
2024-04-09 17:27:49 +08:00
luwenpeng
3b00acab81
Modify the stat of session manager
2024-04-09 10:36:39 +08:00
luwenpeng
daff1ecbc7
When tcp reassembly is turned off, all tcp segments are considered in order
2024-04-08 12:10:25 +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
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
1cdbb7c2a4
Add session state 'discard'
2024-03-15 17:02:12 +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
639614622b
update session_manager_stat
2024-03-11 15:04:18 +08:00
luwenpeng
512dfddd03
reactor packet I/O & duplicated packet filter & evicted session filter
2024-03-10 19:07:26 +08:00
luwenpeng
ee35a26a9d
update stellar thread main loop
2024-03-08 18:10:38 +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
6d1f352bc9
receive packets from mrzcpd; log output supports stderr or file
2024-01-30 18:09:12 +08:00
luwenpeng
d61da92e92
add config for main config
2024-01-26 15:48:30 +08:00
luwenpeng
6050d15e29
add test case: overload evict tcp (old/new) session
2024-01-26 14:13:54 +08:00
luwenpeng
d3367fc86a
add timeout test case
...
tcp timeout init (SYN / SYNACK)
tcp timeout handshake
tcp timeout data
tcp timeout half closed (session opening / session active)
tcp timeout time wait
udp timeout data (session opening / session active)
2024-01-25 16:09:13 +08:00
luwenpeng
1f668b1a01
update session finite state machine & add tcp init -> opening test case
2024-01-23 14:30:46 +08:00
luwenpeng
4fbafab4e3
session manager: support session timeouts & tcp dupkt filter & udp eviction filter
2024-01-18 14:34:55 +08:00
luwenpeng
a045c04f8d
session manager not trigger event
2024-01-15 11:21:11 +08:00
luwenpeng
37f4680dbc
Add stellar thread cycle
2024-01-09 18:03:24 +08:00
luwenpeng
b353c9c824
Split session_manager_dispatch into session_manager_dispatch and session_manager_expire
2023-12-22 18:57:39 +08:00
luwenpeng
2c26879182
implementation session manager
2023-12-20 19:20:14 +08:00
luwenpeng
a232045764
refactor: change session key from address list to six tuple
2023-12-14 19:19:29 +08:00
luwenpeng
5620ac211b
Add session manager
2023-12-13 19:20:34 +08:00