Commit Graph

39 Commits

Author SHA1 Message Date
luwenpeng
12975e2da7 Removed the ambiguous session_get0_current_payload() API. It is unclear whether the original packet payload or TCP reassembled payload is obtained.
It is recommended to:
* Use packet_get_payload() to obtain the original packet payload
* Use tcp_segment_get_data() to obtain the reassembled data
2024-08-01 15:48:27 +08:00
luwenpeng
f43da9002b optimizate: rename IP type to address family 2024-07-25 18:29:57 +08:00
luwenpeng
2c0ec4072f enhance: imitate_tcp_packet() support setting tcp options 2024-07-02 17:55:55 +08:00
luwenpeng
761329e530 feature: support packet dump to pcap 2024-07-01 15:51:36 +08:00
luwenpeng
da9fb7cd11 optimizate inject packt test case 2024-06-27 16:00:12 +08:00
luwenpeng
276bdd1b99 refactor stellar stat 2024-06-25 14:08:33 +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
71422ebb36 refactor: packet module (split to parse/build/layer/tunnel/utils) 2024-06-24 17:07:05 +08:00
luwenpeng
d8963af5f8 Add packet_build.cpp support imitate_tcp_packet() / imitate_udp_packet() 2024-06-24 14:31:22 +08:00
luwenpeng
48428e52fe replace 'ifndef define' to 'pragam once' 2024-06-19 15:06:14 +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
e8c61a1752 Add test case: inject IPv4 based TCP payload packet after recv C2S first payload 2024-05-22 11:38:32 +08:00
luwenpeng
5678cf645e gtest_inject_tcp_rst creates a working directory under the current path 2024-05-17 19:51:50 +08:00
luwenpeng
b33dafff53 Add packet injector test frame 2024-05-15 14:48:15 +08:00
luwenpeng
cc380d9271 rename session_direction to flow_direction 2024-05-09 14:57:12 +08:00
luwenpeng
37d12ebcfc inject TCP RST test pass 2024-05-08 18:24:26 +08:00
luwenpeng
bdf899cf01 Move code scanning directories to dumpfile io 2024-04-30 15:47:45 +08:00
luwenpeng
e418c84b85 Add stat of inject packet and drop packet 2024-04-30 15:25:34 +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
54a78389cf packet IO support inject packet and add inject packet stat 2024-04-25 15:34:46 +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
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
621a4cf292 Refactor Packet I/O 2024-04-11 10:55:06 +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
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
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
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
62c70d0d67 packet IO dumpfile mode use lock free queue 2024-02-28 19:43:07 +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