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
de00396669
TUN-6778: Cleanup logs about ICMP
2022-09-19 15:46:34 +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
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
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