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
3701fc7361
Add session_set_discard
2024-05-20 17:02:16 +08:00
luwenpeng
be9a68935b
Update the format of tuple to string output
2024-05-20 15:44:04 +08:00
luwenpeng
0e33a1b647
Resolve merge conflicts
2024-05-20 11:26:06 +08:00
yangwei
ccaddf7fdb
🧪 test(packet injector test): upgrade plugin manager
2024-05-20 10:11:17 +08:00
yangwei
e0ec3f2d52
✨ feat(plugin manager): integrated plugin manager, build success
2024-05-20 10:09:18 +08:00
yangwei
db611561f6
🔧 build(Version.cmake): set version.txt in build directory
2024-05-20 10:06:31 +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
31a4267e23
support inject mutil packet base current packet
2024-05-17 19:10:28 +08:00
luwenpeng
c22e4e5955
recv SYN after FIN or RST is considered to be TCP port reuse
2024-05-17 17:38:08 +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
d6ae7c79f7
Add test case: inject IPv4 based TCP RST packet after recv S2C first payload
2024-05-16 14:14:41 +08:00
luwenpeng
8d8a266f60
Optimize the output of log and stat
2024-05-16 11:52:14 +08:00
luwenpeng
4c50a6dca7
Add injected packets to duplicate packet filter
2024-05-16 10:32:42 +08:00
luwenpeng
fdc65067b2
stellar support monotonic time and real time
2024-05-16 10:13:43 +08:00
luwenpeng
1ef82a0c6a
Packet IO dump file mode, automatically exits when all sessions are released
2024-05-15 18:01:24 +08:00
luwenpeng
44c2cf86e4
session_get_tcp_segment() and session_free_tcp_segment() support asynchronous calls
2024-05-15 17:47:57 +08:00
luwenpeng
00df68695e
CI install tcpdump & wireshark-cli & jq
2024-05-15 17:13:55 +08:00
luwenpeng
7b20747c8f
Update session.h: support get tuple6 by session
2024-05-15 16:29:33 +08:00
luwenpeng
5e10870833
Add test case: inject IPv4 based TCP RST packet after recv C2S first payload
2024-05-15 16:09:24 +08:00
luwenpeng
bb55ea68e0
Add test case: inject IPv4 based TCP RST packet after recv Sub-ACK
2024-05-15 15:07:52 +08:00
luwenpeng
b33dafff53
Add packet injector test frame
2024-05-15 14:48:15 +08:00
luwenpeng
cda77c6f6f
Add the packet_injector tool to test the packet injection effect
2024-05-11 18:58:36 +08:00
luwenpeng
7f1e7a23de
update debug API session_to_json
2024-05-09 17:40:14 +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
37d12ebcfc
inject TCP RST test pass
2024-05-08 18:24:26 +08:00
luwenpeng
61ee619689
TCP reassembly add stat of TCP retransmit and TCP overlap
2024-05-06 17:33:02 +08:00
luwenpeng
309736f9f1
session manager support TCP fast open
2024-05-06 12:06:20 +08:00
luwenpeng
c59f178769
Update stat of session manager
2024-04-30 17:03:36 +08:00
luwenpeng
388144b8c0
Add stat of ip reassembly
2024-04-30 16:19:28 +08:00
luwenpeng
bdf899cf01
Move code scanning directories to dumpfile io
2024-04-30 15:47:45 +08:00
luwenpeng
95e0982fd1
Add implementation of injecting tcp rst package
2024-04-30 15:30:43 +08:00
luwenpeng
dc37306594
update session table add/del API
2024-04-30 15:29:31 +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
17ca476c24
tcp session record last packet tcp payload length used to calculate seq of injected RST packets
2024-04-25 15:39:02 +08:00
luwenpeng
54a78389cf
packet IO support inject packet and add inject packet stat
2024-04-25 15:34:46 +08:00
luwenpeng
476c5bac56
session table can search session by tuple6 or tuple4 or id
2024-04-24 11:39:15 +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
8a41a79f06
Add support for parsing ICMP and ICMPv6 packets in packet parser
2024-04-22 16:38:24 +08:00
luwenpeng
dd32f0f231
Enhancement: Improve error handling in stellar's packet API by checking return values of metadata functions and adding descriptive error logging
2024-04-22 14:23:50 +08:00
luwenpeng
bb7d7410c9
fix spelling mistake
2024-04-21 11:30:41 +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
892842c61b
bugfix: ip_reassembly_expire busy loop
2024-04-17 18:22:31 +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
f5f09e5e23
Update timeout and timestamp
...
* Timeout using CLOCK_MONOTONIC
* Session start/last timestamps use CLOCK_REALTIME
* Session ID generator uses CLOCK_REALTIME
2024-04-16 19:19:00 +08:00