cthuang
be0305ec58
TUN-6741: ICMP proxy tries to listen on specific IPv4 & IPv6 when possible
...
If it cannot determine the correct interface IP, it will fallback to all interfaces.
This commit also introduces the icmpv4-src and icmpv6-src flags
2022-09-26 11:37:08 +01:00
cthuang
3449ea35f2
TUN-6791: Calculate ICMPv6 checksum
2022-09-22 15:18:53 +00:00
cthuang
b1995b4dd1
TUN-6777: Fix race condition in TestFunnelIdleTimeout
2022-09-20 13:17:38 +00:00
cthuang
b639b6627a
TUN-6744: On posix platforms, assign unique echo ID per (src, dst, echo ID)
...
This also refactor FunnelTracker to provide a GetOrRegister method to prevent race condition
2022-09-19 14:39:47 +01:00
cthuang
8a53c1aa1d
TUN-6592: Decrement TTL and return ICMP time exceed if it's 0
2022-09-15 17:53:26 +01:00
cthuang
30c529e730
TUN-6743: Support ICMPv6 echo on Windows
2022-09-12 10:40:50 +01:00
cthuang
bf3d70d1d2
TUN-6654: Support ICMPv6 on Linux and Darwin
2022-09-12 09:27:06 +01:00
cthuang
2ffff0687b
TUN-6696: Refactor flow into funnel and close idle funnels
...
A funnel is an abstraction for 1 source to many destinations.
As part of this refactoring, shared logic between Darwin and Linux are moved into icmp_posix
2022-09-09 13:06:00 +01:00
Chung-Ting Huang
3e0ff3a771
TUN-6531: Implement ICMP proxy for Windows using IcmpSendEcho
2022-09-07 19:18:06 +00:00
Nuno Diegues
7a19798682
TUN-6740: Detect no UDP packets allowed and fallback from QUIC in that case
2022-09-07 16:32:15 +00:00
cthuang
fc20a22685
TUN-6695: Implement ICMP proxy for linux
2022-09-05 14:49:42 +00:00
cthuang
7e760f9fcc
TUN-6586: Change ICMP proxy to only build for Darwin and use echo ID to track flows
2022-08-27 22:37:08 +01:00
cthuang
59f5b0df83
TUN-6530: Implement ICMPv4 proxy
...
This proxy uses unprivileged datagram-oriented endpoint and is shared by all quic connections
2022-08-24 17:33:03 +01:00