Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM udp
4
5#if !defined(_TRACE_UDP_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_UDP_H
7
8#include <linux/udp.h>
9#include <linux/tracepoint.h>
10
11TRACE_EVENT(udp_fail_queue_rcv_skb,
12
13 TP_PROTO(int rc, struct sock *sk),
14
15 TP_ARGS(rc, sk),
16
17 TP_STRUCT__entry(
18 __field(int, rc)
19 __field(__u16, lport)
20 ),
21
22 TP_fast_assign(
23 __entry->rc = rc;
24 __entry->lport = inet_sk(sk)->inet_num;
25 ),
26
27 TP_printk("rc=%d port=%hu", __entry->rc, __entry->lport)
28);
29
30#endif /* _TRACE_UDP_H */
31
32/* This part must be outside protection */
33#include <trace/define_trace.h>
1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM udp
4
5#if !defined(_TRACE_UDP_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_UDP_H
7
8#include <linux/udp.h>
9#include <linux/tracepoint.h>
10#include <trace/events/net_probe_common.h>
11
12TRACE_EVENT(udp_fail_queue_rcv_skb,
13
14 TP_PROTO(int rc, struct sock *sk, struct sk_buff *skb),
15
16 TP_ARGS(rc, sk, skb),
17
18 TP_STRUCT__entry(
19 __field(int, rc)
20
21 __field(__u16, sport)
22 __field(__u16, dport)
23 __field(__u16, family)
24 __array(__u8, saddr, sizeof(struct sockaddr_in6))
25 __array(__u8, daddr, sizeof(struct sockaddr_in6))
26 ),
27
28 TP_fast_assign(
29 const struct udphdr *uh = (const struct udphdr *)udp_hdr(skb);
30
31 __entry->rc = rc;
32
33 /* for filtering use */
34 __entry->sport = ntohs(uh->source);
35 __entry->dport = ntohs(uh->dest);
36 __entry->family = sk->sk_family;
37
38 memset(__entry->saddr, 0, sizeof(struct sockaddr_in6));
39 memset(__entry->daddr, 0, sizeof(struct sockaddr_in6));
40
41 TP_STORE_ADDR_PORTS_SKB(skb, uh, __entry->saddr, __entry->daddr);
42 ),
43
44 TP_printk("rc=%d family=%s src=%pISpc dest=%pISpc", __entry->rc,
45 show_family_name(__entry->family),
46 __entry->saddr, __entry->daddr)
47);
48
49#endif /* _TRACE_UDP_H */
50
51/* This part must be outside protection */
52#include <trace/define_trace.h>