Commit graph

45 commits

Author SHA1 Message Date
世界
d1af8aaf7e
Fix lint errors 2026-07-27 23:11:48 +08:00
世界
d0d4ebd8db
Improve ping performance 2026-07-27 23:11:48 +08:00
世界
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