Warn and return on fd overflow fdt
[lttng-modules.git] / include / instrumentation / events / udp.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM udp
4
5 #if !defined(LTTNG_TRACE_UDP_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_UDP_H
7
8 #include <lttng/tracepoint-event.h>
9 #include <linux/udp.h>
10 #include <lttng/kernel-version.h>
11
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
40 LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
41
42 TP_PROTO(int rc, struct sock *sk),
43
44 TP_ARGS(rc, sk),
45
46 TP_FIELDS(
47 ctf_integer(int, rc, rc)
48 ctf_integer(__u16, lport, inet_sk(sk)->inet_num)
49 )
50 )
51 #endif
52
53 #endif /* LTTNG_TRACE_UDP_H */
54
55 /* This part must be outside protection */
56 #include <lttng/define_trace.h>
This page took 0.034678 seconds and 5 git commands to generate.