cthuang
b6bd8c1f5e
TUN-6604: Trace icmp echo request on Linux and Darwin
2022-10-17 20:01:05 +01:00
cthuang
495f9fb8bd
TUN-6856: Refactor to lay foundation for tracing ICMP
...
Remove send and return methods from Funnel interface. Users of Funnel can provide their own send and return methods without wrapper to comply with the interface.
Move packet router to ingress package to avoid circular dependency
2022-10-17 19:48:35 +01:00
cthuang
49438f30f5
TUN-6813: Only proxy ICMP packets when warp-routing is enabled
2022-09-30 19:08:12 +01:00
cthuang
eacc8c648d
TUN-6812: Drop IP packets if ICMP proxy is not initialized
2022-09-30 14:10:32 +00:00
cthuang
cbf8c71fab
TUN-6716: Document limitation of Windows ICMP proxy
2022-09-29 14:51:53 +01:00
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
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
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
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
efb99d90d7
TUN-6708: Fix replace flow logic
2022-08-26 17:52:06 +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
cthuang
bad2e8e812
TUN-6666: Define packet package
...
This package defines IP and ICMP packet, decoders, encoder and flow
2022-08-24 11:36:57 +01:00