1 From 4ae0d960e149d1205d0cc167e44c120148c7f4f0 Mon Sep 17 00:00:00 2001
2 From: Michael Jeanson <mjeanson@efficios.com>
3 Date: Mon, 27 May 2024 11:11:21 -0400
4 Subject: [PATCH 3/3] fix: net: udp: add IP/port data to the tracepoint
5 udp/udp_fail_queue_rcv_skb (v6.10)
9 commit e9669a00bba79442dd4862c57761333d6a020c24
10 Author: Balazs Scheidler <bazsi77@gmail.com>
11 Date: Tue Mar 26 19:05:47 2024 +0100
13 net: udp: add IP/port data to the tracepoint udp/udp_fail_queue_rcv_skb
15 The udp_fail_queue_rcv_skb() tracepoint lacks any details on the source
16 and destination IP/port whereas this information can be critical in case
19 Upstream-Status: Backport [4ae0d960 fix: net: udp: add IP/port data to the tracepoint udp/udp_fail_queue_rcv_skb (v6.10)]
21 Change-Id: I0c337c5817b0a120298cbf5088d60671d9625b0d
22 Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
23 Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
25 include/instrumentation/events/udp.h | 30 ++++++++++++++++++++++++++++
26 1 file changed, 30 insertions(+)
28 diff --git a/include/instrumentation/events/udp.h b/include/instrumentation/events/udp.h
29 index b63a1bb5..0a94b466 100644
30 --- a/include/instrumentation/events/udp.h
31 +++ b/include/instrumentation/events/udp.h
34 #include <lttng/tracepoint-event.h>
35 #include <linux/udp.h>
36 +#include <lttng/kernel-version.h>
38 +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,10,0))
39 +LTTNG_TRACEPOINT_ENUM(lttng_sk_family,
41 + ctf_enum_value("AF_INET", AF_INET)
42 + ctf_enum_value("AF_INET6", AF_INET6)
46 +LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
48 + TP_PROTO(int rc, struct sock *sk, struct sk_buff *skb),
50 + TP_ARGS(rc, sk, skb),
53 + ctf_integer(int, rc, rc)
54 + ctf_integer(__u16, sport, ntohs(udp_hdr(skb)->source))
55 + ctf_integer(__u16, dport, ntohs(udp_hdr(skb)->dest))
56 + ctf_enum(lttng_sk_family, __u16, family, sk->sk_family)
58 + * The 'saddr' and 'daddr' fields from the upstream tracepoint
59 + * are currently not extracted. It is recommended to use a
60 + * tracepoint from the 'net' probe instead which includes all
61 + * fields from the IP header.
66 LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
68 TP_PROTO(int rc, struct sock *sk),
69 @@ -19,6 +48,7 @@ LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
70 ctf_integer(__u16, lport, inet_sk(sk)->inet_num)
75 #endif /* LTTNG_TRACE_UDP_H */