世界
23a39c59be
ping: Fix stale flows kept alive by unrelated ICMP traffic
...
Unconnected raw ICMP sockets receive every ICMP packet arriving at the
host, so any ICMP traffic refreshed the read deadline of every flow and
stale flows (with their raw sockets and goroutines) accumulated forever,
making per-ping cost grow linearly with uptime.
Expire flows based on their own activity only, and on Linux attach a
classic BPF ident filter to each raw socket so other flows' packets are
dropped in the kernel instead of waking every flow.
2026-07-27 23:11:48 +08:00
世界
ed63adda33
Add flow dispatcher
2026-07-27 23:11:48 +08:00
世界
a9027729be
Make gtcpip public for external use
2026-07-27 23:11:48 +08:00
世界
30e535973b
ping: Fix stale flows kept alive by unrelated ICMP traffic
...
Unconnected raw ICMP sockets receive every ICMP packet arriving at the
host, so any ICMP traffic refreshed the read deadline of every flow and
stale flows (with their raw sockets and goroutines) were only reclaimed
by LRU eviction while processing all host ICMP traffic in the meantime.
Expire flows based on their own activity only, and on Linux attach a
classic BPF ident filter to each raw socket so other flows' packets are
dropped in the kernel instead of waking every flow.
2026-07-27 23:11:48 +08:00
世界
aae2f0750c
Fix ping
2026-07-27 23:11:48 +08:00
世界
1251022fce
ping: Fix missing TTL and ICMP error handling
2026-07-27 23:11:48 +08:00
世界
1aa83a9f92
ping: limit ICMP read buffer size
2026-06-03 10:34:17 +08:00
世界
568357315c
ping: Fix unprivileged conn
2026-06-01 17:48:51 +08:00
世界
47ac4d08b1
ping: Fix unprivileged conn leak
2026-05-19 16:26:55 +08:00
wwqgtxx
e9e3fbf0c1
Apply ping destination filter for Windows
2025-12-01 08:47:38 +08:00
世界
0381a06643
ping: Add destination rewriter
2025-09-11 18:51:00 +08:00
世界
adc106bcf6
Improve checksum usages
2025-08-27 11:07:26 +08:00
wwqgtxx
f9bbb15bfb
ping: Reduce the cost of readMsg
2025-08-27 08:45:12 +08:00
世界
e8d7fc1bb2
ping: Do not use connected socket on macOS
2025-08-26 23:43:37 +08:00
wwqgtxx
4fb5702443
ping: Add needFilter
2025-08-26 13:20:50 +08:00
wwqgtxx
6e4e045620
ping: Limit old requests
2025-08-26 11:47:14 +08:00
世界
79e2d3b56d
ping: Clean old requests
2025-08-26 11:09:50 +08:00
世界
e6c64e3f18
Update icmp network name
2025-08-25 22:43:59 +08:00
世界
59e42c0d1f
ping: Fix rewriter
2025-08-25 22:04:16 +08:00
世界
ce55929883
ping: Fix missing bind for unix socket
2025-08-25 21:28:11 +08:00
世界
144683d882
ping: Add filter to destination
2025-08-25 20:57:18 +08:00
世界
d0ff7b6f6c
Replace usages of common/atomic
2025-08-25 19:59:21 +08:00
wwqgtxx
854e40dc40
ping: Fix icmp checksum
2025-08-25 11:51:22 +08:00
wwqgtxx
a0b34a4be9
ping: Code cleanup
2025-08-25 11:08:57 +08:00
世界
548f51cc9d
ping: Fix test
2025-08-25 10:48:44 +08:00
wwqgtxx
ce050baa58
ping: Add bitwiseID
2025-08-25 10:32:59 +08:00
wwqgtxx
06ddb3e0a7
ping: Add comments
2025-08-25 10:18:22 +08:00
世界
c089ffbd6c
ping: Fix read ipv4 header on darwin
2025-08-25 09:40:52 +08:00
世界
fe4e54bb0d
ping: check invalid ip header
2025-08-25 00:16:56 +08:00
wwqgtxx
58f331b49e
ping: fix network
2025-08-25 00:00:02 +08:00
wwqgtxx
0d3df84673
ping: fix UnprivilegedConn
2025-08-24 23:05:48 +08:00
世界
9532c7f1f6
ping: Update style for socket_linux_unprivileged.go
2025-08-24 18:43:22 +08:00
wwqgtxx
ccfe5c0f0f
ping: Rewrite UnprivilegedConn
2025-08-24 18:30:46 +08:00
世界
737ebf01c4
ping: Add timeout to destinations
2025-08-24 18:19:39 +08:00
世界
8f6cc9f62e
ping: Fix unprivileged response on linux
2025-08-24 15:15:04 +08:00
世界
3faf8cf679
ping: Add test for ident
2025-08-24 14:07:35 +08:00
wwqgtxx
bee7be8598
ping: fix Logs
2025-08-24 12:50:12 +08:00
世界
d53158b8d7
ping: Add logs
2025-08-24 12:39:56 +08:00
世界
7f41766568
ping: Fix control
2025-08-24 12:39:50 +08:00
世界
dd18aa2b86
ping: Fix on android
2025-08-24 10:47:15 +08:00
世界
86d96064d5
ping: Add gVisor destination
2025-08-24 10:36:16 +08:00
世界
f46791bc0d
Fix gvisor icmp destination
2025-08-23 16:43:33 +08:00
世界
8dbb51cfb7
Add ping client
2025-08-23 16:16:28 +08:00