luwenpeng
f061f9abc1
feature: support session manager scan
2024-08-20 18:57:35 +08:00
luwenpeng
d1df1bb18b
session manager stat metric rename
2024-08-16 18:46:55 +08:00
luwenpeng
b77c8e6ba1
packet bypass metric rename
2024-08-16 18:32:35 +08:00
luwenpeng
60a4666427
refactor: move packet_layer / packet_tunnel to packet.cpp
2024-08-16 16:58:06 +08:00
luwenpeng
c298fdf289
refactor: mv eth/gre0/gre1/gtp1/gtp2/ip4/ip6/l2tp/mpls/tcp/udp/vlan/vxlan utils.h to packet_helper.h
2024-08-16 16:12:12 +08:00
luwenpeng
b36cd8cdad
refactor: rename packet_def.h to packet_private.h
2024-08-16 15:13:37 +08:00
luwenpeng
ebf1dad62c
refactor: rename packet_parse.cpp/h to packet_parser.cpp/h
2024-08-16 11:51:43 +08:00
luwenpeng
da891dffa7
refactor: move evicted_session_filter to session dir
2024-08-16 11:18:16 +08:00
luwenpeng
f4d437d58b
refactor: rename id_generator to snowflake
2024-08-16 11:02:19 +08:00
luwenpeng
6fbce43afc
refactor: move macro to utils.h
2024-08-16 10:43:00 +08:00
luwenpeng
e8299dd77c
enhance: rename session manager stat iterm name
2024-08-14 17:25:46 +08:00
luwenpeng
6e1c25a445
optimizate: clean up unused code && code formatting
2024-08-14 17:25:46 +08:00
yangwei
6bb5c44ee3
🐞 fix(warning as error): fix unused parameter warning
2024-08-12 15:48:37 +08:00
yangwei
f1b3928c70
🔧 build(enable cppcheck on build): eliminate cppcheck error
2024-08-12 15:48:31 +08:00
yangwei
526171618f
🔧 build(compile Werror): reduce warning
2024-08-12 15:47:05 +08:00
luwenpeng
1f09f43f52
feature: session manager support lookup session by session ID
2024-07-29 10:44:57 +08:00
luwenpeng
62b9c0c99c
feature: add 'quiet' option to avoid automatic update of LRU list by find session
2024-07-25 18:50:15 +08:00
luwenpeng
5fdf0e2aa4
feature: session pool support forearch session by index
2024-07-25 18:32:14 +08:00
luwenpeng
f43da9002b
optimizate: rename IP type to address family
2024-07-25 18:29: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
c87ad330e0
feature: add GTP utils, support overwrite message length of GTP header
2024-07-09 11:17:03 +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
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
1f78881cbb
rename struct packet_layer to struct raw_layer
2024-06-14 10:58:40 +08:00
luwenpeng
01958b56c5
rename layer_type to layer_proto
2024-06-12 18:21:45 +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
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
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
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
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
dc37306594
update session table add/del API
2024-04-30 15:29:31 +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
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
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
17f5d338de
Add packet utils to packet.h
2024-04-14 13:14:48 +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
c8beafe081
Modify the configuration items of evicted_session_filter && duplicated_packet_filter
2024-04-08 11:28:45 +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