Namespace kernel version macros
[lttng-modules.git] / instrumentation / events / lttng-module / net.h
index 2085def5ee9445496e79f9e2c91f4689737d7515..c66a6dba3fe9310bd6c929aac9224cc073b1b267 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM net
 
@@ -10,7 +11,7 @@
 #include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <linux/tcp.h>
-#include <linux/version.h>
+#include <lttng-kernel-version.h>
 #include <lttng-endian.h>
 #include <net/sock.h>
 
@@ -438,30 +439,18 @@ LTTNG_TRACEPOINT_ENUM(net_network_header,
 
 LTTNG_TRACEPOINT_EVENT(net_dev_xmit,
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
        TP_PROTO(struct sk_buff *skb,
                 int rc,
                 struct net_device *dev,
                 unsigned int skb_len),
 
        TP_ARGS(skb, rc, dev, skb_len),
-#else
-       TP_PROTO(struct sk_buff *skb,
-                int rc),
-
-       TP_ARGS(skb, rc),
-#endif
 
        TP_FIELDS(
                ctf_integer_hex(void *, skbaddr, skb)
                ctf_integer(int, rc, rc)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
                ctf_integer(unsigned int, len, skb_len)
                ctf_string(name, dev->name)
-#else
-               ctf_integer(unsigned int, len, skb->len)
-               ctf_string(name, skb->dev->name)
-#endif
        )
 )
 
@@ -564,6 +553,175 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_template,
 
        TP_ARGS(skb)
 )
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,14,0))
+
+/* Trace events for the receive entry points */
+LTTNG_TRACEPOINT_EVENT_CLASS(net_dev_receive_entry_template,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb),
+
+       TP_FIELDS(
+               ctf_integer_hex(const void *, skbaddr, skb)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_entry_template,
+
+       napi_gro_frags_entry,
+
+       net_napi_gro_frags_entry,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_entry_template,
+
+       napi_gro_receive_entry,
+
+       net_napi_gro_receive_entry,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_entry_template,
+
+       netif_receive_skb_entry,
+
+       net_if_receive_skb_entry,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_entry_template,
+
+       netif_rx_entry,
+
+       net_if_rx_entry,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_entry_template,
+
+       netif_rx_ni_entry,
+
+       net_if_rx_ni_entry,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb)
+)
+
+#endif /* kernel > 3.14 */
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,19,0))
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_entry_template,
+
+       netif_receive_skb_list_entry,
+
+       net_if_receive_skb_list_entry,
+
+       TP_PROTO(const struct sk_buff *skb),
+
+       TP_ARGS(skb)
+)
+
+#endif /* kernel > 4.19 */
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,0,0))
+
+/* Trace events for the receive exit points */
+LTTNG_TRACEPOINT_EVENT_CLASS(net_dev_receive_exit_template,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret),
+
+       TP_FIELDS(
+               ctf_integer(int, ret, ret)
+       )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
+
+       napi_gro_frags_exit,
+
+       net_napi_gro_frags_exit,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
+
+       napi_gro_receive_exit,
+
+       net_napi_gro_receive_exit,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
+
+       netif_receive_skb_exit,
+
+       net_if_receive_skb_exit,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
+
+       netif_rx_exit,
+
+       net_if_rx_exit,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
+
+       netif_rx_ni_exit,
+
+       net_if_rx_ni_exit,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(net_dev_receive_exit_template,
+
+       netif_receive_skb_list_exit,
+
+       net_if_receive_skb_list_exit,
+
+       TP_PROTO(int ret),
+
+       TP_ARGS(ret)
+)
+
+#endif /* kernel > 5.0.0 */
+
 #endif /* LTTNG_TRACE_NET_H */
 
 /* This part must be outside protection */
This page took 0.033298 seconds and 4 git commands to generate.