X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fskb.h;h=b52cf682310a7201c05bb86007f622833d82820a;hb=e2ea881152a730f3a1ae9dca443dbdbe851ef682;hp=2079580aa0977a60e020e48461f4dbe6bffa9f71;hpb=f127e61ee231d002fb9a7803643a157e06f6d2e2;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/skb.h b/instrumentation/events/lttng-module/skb.h index 2079580a..b52cf682 100644 --- a/instrumentation/events/lttng-module/skb.h +++ b/instrumentation/events/lttng-module/skb.h @@ -1,17 +1,66 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM skb #if !defined(LTTNG_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ) #define LTTNG_TRACE_SKB_H -#include "../../../probes/lttng-tracepoint-event.h" +#include #include #include -#include +#include /* * Tracepoint for free an sk_buff: */ +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \ + || LTTNG_KERNEL_RANGE(5,15,58, 5,16,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,477,10,1, 4,19,0,0,0,0)) +LTTNG_TRACEPOINT_ENUM(skb_drop_reason, + TP_ENUM_VALUES( + ctf_enum_value("NOT_SPECIFIED", SKB_DROP_REASON_NOT_SPECIFIED) + ctf_enum_value("NO_SOCKET", SKB_DROP_REASON_NO_SOCKET) + ctf_enum_value("PKT_TOO_SMALL", SKB_DROP_REASON_PKT_TOO_SMALL) + ctf_enum_value("TCP_CSUM", SKB_DROP_REASON_TCP_CSUM) + ctf_enum_value("SOCKET_FILTER", SKB_DROP_REASON_SOCKET_FILTER) + ctf_enum_value("UDP_CSUM", SKB_DROP_REASON_UDP_CSUM) + ctf_enum_value("MAX", SKB_DROP_REASON_MAX) + ) +) +#elif (LTTNG_RHEL_KERNEL_RANGE(5,14,0,70,0,0, 5,15,0,0,0,0)) +LTTNG_TRACEPOINT_ENUM(skb_drop_reason, + TP_ENUM_VALUES( + ctf_enum_value("NOT_SPECIFIED", SKB_DROP_REASON_NOT_SPECIFIED) + ctf_enum_value("NO_SOCKET", SKB_DROP_REASON_NO_SOCKET) + ctf_enum_value("PKT_TOO_SMALL", SKB_DROP_REASON_PKT_TOO_SMALL) + ctf_enum_value("TCP_CSUM", SKB_DROP_REASON_TCP_CSUM) + ctf_enum_value("UDP_CSUM", SKB_DROP_REASON_UDP_CSUM) + ctf_enum_value("MAX", SKB_DROP_REASON_MAX) + ) +) +#endif + +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \ + || LTTNG_KERNEL_RANGE(5,15,58, 5,16,0) \ + || LTTNG_RHEL_KERNEL_RANGE(5,14,0,70,0,0, 5,15,0,0,0,0) \ + || LTTNG_RHEL_KERNEL_RANGE(4,18,0,477,10,1, 4,19,0,0,0,0)) +LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, + + skb_kfree, + + TP_PROTO(struct sk_buff *skb, void *location, + enum skb_drop_reason reason), + + TP_ARGS(skb, location, reason), + + TP_FIELDS( + ctf_integer_hex(void *, skbaddr, skb) + ctf_integer_hex(void *, location, location) + ctf_integer_network(unsigned short, protocol, skb->protocol) + ctf_enum(skb_drop_reason, uint8_t, reason, reason) + ) +) +#else LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, skb_kfree, @@ -21,13 +70,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, TP_ARGS(skb, location), TP_FIELDS( - ctf_integer(void *, skbaddr, skb) - ctf_integer(void *, location, location) + ctf_integer_hex(void *, skbaddr, skb) + ctf_integer_hex(void *, location, location) ctf_integer_network(unsigned short, protocol, skb->protocol) ) ) +#endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) LTTNG_TRACEPOINT_EVENT_MAP(consume_skb, skb_consume, @@ -37,12 +86,10 @@ LTTNG_TRACEPOINT_EVENT_MAP(consume_skb, TP_ARGS(skb), TP_FIELDS( - ctf_integer(void *, skbaddr, skb) + ctf_integer_hex(void *, skbaddr, skb) ) ) -#endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec, TP_PROTO(const struct sk_buff *skb, int len), @@ -50,13 +97,12 @@ LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec, TP_ARGS(skb, len), TP_FIELDS( - ctf_integer(const void *, skbaddr, skb) + ctf_integer_hex(const void *, skbaddr, skb) ctf_integer(int, len, len) ) ) -#endif #endif /* LTTNG_TRACE_SKB_H */ /* This part must be outside protection */ -#include "../../../probes/define_trace.h" +#include