Commit Graph

49 Commits

Author SHA1 Message Date
luwenpeng
fb700b43e4 In packet I/O dump file mode, force refresh stat before program exit 2024-05-29 18:12:46 +08:00
luwenpeng
ba1e651876 build stellar and stellar-devel rpm 2024-05-29 16:14:38 +08:00
luwenpeng
f82b85c979 Optimize integration testing
- Add injection package plug-in
- Add libstellar_dynamic.so to facilitate unit testing of upper-level plug-ins
2024-05-28 14:30:42 +08:00
luwenpeng
3701fc7361 Add session_set_discard 2024-05-20 17:02:16 +08:00
luwenpeng
0e33a1b647 Resolve merge conflicts 2024-05-20 11:26:06 +08:00
yangwei
e0ec3f2d52 feat(plugin manager): integrated plugin manager, build success 2024-05-20 10:09:18 +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
1559f0a13e bugfix: session cannot get current flow direction on duplicate package 2024-05-16 17:07:53 +08:00
luwenpeng
fdc65067b2 stellar support monotonic time and real time 2024-05-16 10:13:43 +08:00
luwenpeng
7b20747c8f Update session.h: support get tuple6 by session 2024-05-15 16:29:33 +08:00
luwenpeng
b33dafff53 Add packet injector test frame 2024-05-15 14:48:15 +08:00
luwenpeng
13001003e2 Refactor enum session_stat with improved naming conventions 2024-05-09 16:32:45 +08:00
luwenpeng
cc380d9271 rename session_direction to flow_direction 2024-05-09 14:57:12 +08:00
luwenpeng
388144b8c0 Add stat of ip reassembly 2024-04-30 16:19:28 +08:00
luwenpeng
611fda598f Adjust thread index type to uint16 for future expansion & Organize stellar directory files 2024-04-25 18:17:20 +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
4d55f4ed95 fix stat output 2024-04-18 19:32:31 +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
3771b68873 Add API support thread cron task 2024-04-17 11:44:38 +08:00
luwenpeng
d878849c3a Stellar output statistics 2024-04-16 14:13:42 +08:00
luwenpeng
17f5d338de Add packet utils to packet.h 2024-04-14 13:14:48 +08:00
luwenpeng
84541c40e2 Refactor main loop 2024-04-11 16:33:35 +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
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
814a0d739f Add linux kernel interval tree 2024-03-27 17:16:59 +08:00
luwenpeng
eb281ab789 session manager support tcp reassembly 2024-03-26 15:09:03 +08:00
luwenpeng
2ad811f68d Add tcp reassembly 2024-03-21 19:27:41 +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
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
c945931620 rename xxx_create() / xxx_destory() -> xxx_new() / xxx_free() 2024-03-08 14:20:36 +08:00
luwenpeng
9d562ffee6 rename ip_reassemble -> ip_reassembly 2024-03-08 13:55:17 +08:00
luwenpeng
7952ae7283 Add packet IO module
* support marsio
    * support dumpfile ( 1 thread read dumpfile & N thread handle packet)
2024-02-28 16:31:26 +08:00
luwenpeng
97ef872d9a add session id generator 2024-01-31 18:55:06 +08:00
luwenpeng
6d1f352bc9 receive packets from mrzcpd; log output supports stderr or file 2024-01-30 18:09:12 +08:00
luwenpeng
7d7cc8e90c load config from toml file 2024-01-29 15:29:10 +08:00
luwenpeng
d61da92e92 add config for main config 2024-01-26 15:48:30 +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
02f8d40c1e Add eviction filter 2024-01-11 17:20:11 +08:00
luwenpeng
d44eda2c86 Add duplicated packet filter 2024-01-10 10:19:47 +08:00
luwenpeng
37f4680dbc Add stellar thread cycle 2024-01-09 18:03:24 +08:00
luwenpeng
cf6d855aa4 Initial commit, building project framework 2023-12-08 11:18:16 +08:00