Add --ttl flag for configurable packet TTL#10
Open
schmiatz wants to merge 4 commits intothomseddon:masterfrom
Open
Add --ttl flag for configurable packet TTL#10schmiatz wants to merge 4 commits intothomseddon:masterfrom
schmiatz wants to merge 4 commits intothomseddon:masterfrom
Conversation
Uses golang.org/x/net/ipv4 to set the IP TTL on forwarding connections, which is needed when forwarding to multicast addresses (OS defaults TTL to 1). Co-Authored-By: Claude Opus 4.6 <[email protected]>
Use SetMulticastTTL via ipv4.PacketConn for multicast addresses (e.g. 233.x.x.x) since the kernel ignores the unicast TTL for multicast traffic and defaults it to 1. Co-Authored-By: Claude Opus 4.6 <[email protected]>
The ipv4.PacketConn.SetMulticastTTL wrapper does not work on connected (DialUDP) sockets. Set the socket option directly via SyscallConn and SetsockoptInt instead. Co-Authored-By: Claude Opus 4.6 <[email protected]>
On connected UDP sockets the kernel may check either option depending on the send path. Set both to cover unicast and multicast targets. Removes golang.org/x/net/ipv4 dependency. Co-Authored-By: Claude Opus 4.6 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
--ttlflag (andTTLenv var) to control the IP TTL on forwarded packetsIP_TTLandIP_MULTICAST_TTLvia syscall on all forwarding socketsUsage
./replicator --listen-port=9000 --forward=233.84.178.1:1002 --ttl=64
When
--ttlis not set (or set to 0), the OS default behavior is preserved.