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
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
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
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
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
c8beafe081
Modify the configuration items of evicted_session_filter && duplicated_packet_filter
2024-04-08 11:28:45 +08:00
luwenpeng
151b6f8f1d
Add TCP reassembly metrics on session
2024-04-03 19:51:44 +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
772860c1be
Update session timer
2024-03-29 19:49:01 +08:00
luwenpeng
8e527a0f4c
Replace session queue with kernel list
2024-03-29 17:45:41 +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
5b92d6d8de
Add tcp reassembly test case
2024-03-25 17:30:48 +08:00
luwenpeng
2ad811f68d
Add tcp reassembly
2024-03-21 19:27:41 +08:00
luwenpeng
36b9a8282a
Add interval tree
2024-03-21 10:06:11 +08:00
luwenpeng
1cdbb7c2a4
Add session state 'discard'
2024-03-15 17:02:12 +08:00
luwenpeng
5b8d5610a2
rename ip_reassembly args name 'mgr' -> 'assembler'
2024-03-15 09:59:33 +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