Commit | Line | Data |
---|---|---|
b7cdc182 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b283666f PW |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM udp | |
4 | ||
3bc29f0a MD |
5 | #if !defined(LTTNG_TRACE_UDP_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define LTTNG_TRACE_UDP_H | |
b283666f | 7 | |
3b4aafcb | 8 | #include <lttng/tracepoint-event.h> |
b283666f | 9 | #include <linux/udp.h> |
8c34b412 | 10 | #include <lttng/kernel-version.h> |
b283666f | 11 | |
8c34b412 MJ |
12 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,10,0)) |
13 | LTTNG_TRACEPOINT_ENUM(lttng_sk_family, | |
14 | TP_ENUM_VALUES( | |
15 | ctf_enum_value("AF_INET", AF_INET) | |
16 | ctf_enum_value("AF_INET6", AF_INET6) | |
17 | ) | |
18 | ) | |
19 | ||
20 | LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb, | |
21 | ||
22 | TP_PROTO(int rc, struct sock *sk, struct sk_buff *skb), | |
23 | ||
24 | TP_ARGS(rc, sk, skb), | |
25 | ||
26 | TP_FIELDS( | |
27 | ctf_integer(int, rc, rc) | |
28 | ctf_integer(__u16, sport, ntohs(udp_hdr(skb)->source)) | |
29 | ctf_integer(__u16, dport, ntohs(udp_hdr(skb)->dest)) | |
30 | ctf_enum(lttng_sk_family, __u16, family, sk->sk_family) | |
31 | /* | |
32 | * The 'saddr' and 'daddr' fields from the upstream tracepoint | |
33 | * are currently not extracted. It is recommended to use a | |
34 | * tracepoint from the 'net' probe instead which includes all | |
35 | * fields from the IP header. | |
36 | */ | |
37 | ) | |
38 | ) | |
39 | #else | |
3bc29f0a | 40 | LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb, |
b283666f PW |
41 | |
42 | TP_PROTO(int rc, struct sock *sk), | |
43 | ||
44 | TP_ARGS(rc, sk), | |
45 | ||
f127e61e MD |
46 | TP_FIELDS( |
47 | ctf_integer(int, rc, rc) | |
48 | ctf_integer(__u16, lport, inet_sk(sk)->inet_num) | |
49 | ) | |
b283666f | 50 | ) |
8c34b412 | 51 | #endif |
b283666f | 52 | |
3bc29f0a | 53 | #endif /* LTTNG_TRACE_UDP_H */ |
b283666f PW |
54 | |
55 | /* This part must be outside protection */ | |
3b4aafcb | 56 | #include <lttng/define_trace.h> |