On Fri, Oct 10, 2025 at 10:40:13AM +0200, Stefano Brivio wrote:
On Thu, 6 Mar 2025 13:00:03 -0500 Jon Maloy
wrote: We will need to build the UDP header at other locations than in function tap_udp4_send(), so we break that part out to a separate function.
Reviewed-by: David Gibson
Signed-off-by: Jon Maloy --- v2: Fix to satisfy coverity. After feedback from S. Brivio --- tap.c | 34 +++++++++++++++++++++++++++------- tap.h | 5 +++++ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/tap.c b/tap.c index 44b0fc0..16e3761 100644 --- a/tap.c +++ b/tap.c @@ -163,7 +163,7 @@ static void *tap_push_ip4h(struct iphdr *ip4h, struct in_addr src, }
/** - * tap_udp4_send() - Send UDP over IPv4 packet + * tap_push_uh4() - Build UDPv4 header with checksum * @c: Execution context * @src: IPv4 source address * @sport: UDP source port @@ -171,16 +171,14 @@ static void *tap_push_ip4h(struct iphdr *ip4h, struct in_addr src, * @dport: UDP destination port * @in: UDP payload contents (not including UDP header) * @dlen: UDP payload length (not including UDP header) + * + * Return: pointer at which to write the packet's payload */ -void tap_udp4_send(const struct ctx *c, struct in_addr src, in_port_t sport, +void *tap_push_uh4(struct udphdr *uh, struct in_addr src, in_port_t sport,
This patch didn't update the function comment, so it now takes a 'uh' parameter which is not obvious at all. At a first glance, one might say it's an "input" header.
Please fix this.
Jon, I'll take care of this - needed a quick warm up exercise :). -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson