X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fskb.h;h=6e36302024435eb98fa94810791ac38bbbb80159;hb=9874ec562e299f8abe680c89c810d8c2d5cec0aa;hp=77e1823a09129282e863aa98b6a58d20b90661a0;hpb=6ec43db836429730c1431809049197a4fbe820fa;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/skb.h b/instrumentation/events/lttng-module/skb.h index 77e1823a..6e363020 100644 --- a/instrumentation/events/lttng-module/skb.h +++ b/instrumentation/events/lttng-module/skb.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM skb @@ -7,11 +8,43 @@ #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_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) + ) +) + +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, @@ -26,8 +59,8 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb, 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, @@ -40,9 +73,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(consume_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), @@ -54,7 +85,6 @@ LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec, ctf_integer(int, len, len) ) ) -#endif #endif /* LTTNG_TRACE_SKB_H */