From: Jon Maloy <jmaloy@redhat.com>
To: sbrivio@redhat.com, dgibson@redhat.com, jmaloy@redhat.com,
passt-dev@passt.top
Subject: [0/2] udp: copy ttl or hop limit from socket to tap
Date: Wed, 23 Apr 2025 22:43:58 -0400 [thread overview]
Message-ID: <20250424024400.60045-1-jmaloy@redhat.com> (raw)
The following patches were meant as a preparation for supporting
traceroute from remote to internal peers.
Unfortunately we ran into two showstoppers during this work.
1: We cannot read IPv4 ttl from the dual-stack socket we are using
as listener. setsockopt(IP_RECVTTL) is simply not supported by
the kernel for IPv6 socket, even in dual-stack mode. It is not
acceptable from a memory consumption viewpoint to create two
listener sockets, one for IPv4 and one for IPv6, for each bound
port.
2: There is no way we can create and send ICMP response messages
to be sent out from the outgoing socket unless we can access
it with privileges, which we cannot in PASST.
Because of this, these patches are posted mostly as a documentation
of the work done, maybe to be applied some time in the future if
new conditions permit.
Jon Maloy (2):
make ttl parametrized
udp: copy incoming packet TTL from socket to tap
checksum.c | 7 +++--
checksum.h | 2 +-
ip.h | 11 ++++---
tap.c | 16 +++++-----
tap.h | 6 ++--
tcp.c | 5 ++--
udp.c | 79 +++++++++++++++++++++++++++++++++++++-------------
udp_flow.c | 18 ++++++++++++
udp_internal.h | 4 +--
udp_vu.c | 5 ++--
util.c | 5 ++++
11 files changed, 112 insertions(+), 46 deletions(-)
--
2.48.1
reply other threads:[~2025-04-24 2:44 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250424024400.60045-1-jmaloy@redhat.com \
--to=jmaloy@redhat.com \
--cc=dgibson@redhat.com \
--cc=passt-dev@passt.top \
--cc=sbrivio@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).