at v3.7 84 lines 1.6 kB view raw
1#undef TRACE_SYSTEM 2#define TRACE_SYSTEM net 3 4#if !defined(_TRACE_NET_H) || defined(TRACE_HEADER_MULTI_READ) 5#define _TRACE_NET_H 6 7#include <linux/skbuff.h> 8#include <linux/netdevice.h> 9#include <linux/ip.h> 10#include <linux/tracepoint.h> 11 12TRACE_EVENT(net_dev_xmit, 13 14 TP_PROTO(struct sk_buff *skb, 15 int rc, 16 struct net_device *dev, 17 unsigned int skb_len), 18 19 TP_ARGS(skb, rc, dev, skb_len), 20 21 TP_STRUCT__entry( 22 __field( void *, skbaddr ) 23 __field( unsigned int, len ) 24 __field( int, rc ) 25 __string( name, dev->name ) 26 ), 27 28 TP_fast_assign( 29 __entry->skbaddr = skb; 30 __entry->len = skb_len; 31 __entry->rc = rc; 32 __assign_str(name, dev->name); 33 ), 34 35 TP_printk("dev=%s skbaddr=%p len=%u rc=%d", 36 __get_str(name), __entry->skbaddr, __entry->len, __entry->rc) 37); 38 39DECLARE_EVENT_CLASS(net_dev_template, 40 41 TP_PROTO(struct sk_buff *skb), 42 43 TP_ARGS(skb), 44 45 TP_STRUCT__entry( 46 __field( void *, skbaddr ) 47 __field( unsigned int, len ) 48 __string( name, skb->dev->name ) 49 ), 50 51 TP_fast_assign( 52 __entry->skbaddr = skb; 53 __entry->len = skb->len; 54 __assign_str(name, skb->dev->name); 55 ), 56 57 TP_printk("dev=%s skbaddr=%p len=%u", 58 __get_str(name), __entry->skbaddr, __entry->len) 59) 60 61DEFINE_EVENT(net_dev_template, net_dev_queue, 62 63 TP_PROTO(struct sk_buff *skb), 64 65 TP_ARGS(skb) 66); 67 68DEFINE_EVENT(net_dev_template, netif_receive_skb, 69 70 TP_PROTO(struct sk_buff *skb), 71 72 TP_ARGS(skb) 73); 74 75DEFINE_EVENT(net_dev_template, netif_rx, 76 77 TP_PROTO(struct sk_buff *skb), 78 79 TP_ARGS(skb) 80); 81#endif /* _TRACE_NET_H */ 82 83/* This part must be outside protection */ 84#include <trace/define_trace.h>