Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
296f7ea7 SM |
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> | |
e9669a00 | 10 | #include <trace/events/net_probe_common.h> |
296f7ea7 SM |
11 | |
12 | TRACE_EVENT(udp_fail_queue_rcv_skb, | |
13 | ||
e9669a00 | 14 | TP_PROTO(int rc, struct sock *sk, struct sk_buff *skb), |
296f7ea7 | 15 | |
e9669a00 | 16 | TP_ARGS(rc, sk, skb), |
296f7ea7 SM |
17 | |
18 | TP_STRUCT__entry( | |
19 | __field(int, rc) | |
e9669a00 BS |
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)) | |
296f7ea7 SM |
26 | ), |
27 | ||
28 | TP_fast_assign( | |
e9669a00 BS |
29 | const struct udphdr *uh = (const struct udphdr *)udp_hdr(skb); |
30 | ||
296f7ea7 | 31 | __entry->rc = rc; |
e9669a00 BS |
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 | ||
9807080e | 41 | TP_STORE_ADDR_PORTS_SKB(skb, uh, __entry->saddr, __entry->daddr); |
296f7ea7 SM |
42 | ), |
43 | ||
e9669a00 BS |
44 | TP_printk("rc=%d family=%s src=%pISpc dest=%pISpc", __entry->rc, |
45 | show_family_name(__entry->family), | |
46 | __entry->saddr, __entry->daddr) | |
296f7ea7 SM |
47 | ); |
48 | ||
49 | #endif /* _TRACE_UDP_H */ | |
50 | ||
51 | /* This part must be outside protection */ | |
52 | #include <trace/define_trace.h> |