Loading include/trace/events/skb.h +22 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,28 @@ TRACE_EVENT(consume_skb, TP_printk("skbaddr=%p", __entry->skbaddr) ); TRACE_EVENT(print_skb_gso, TP_PROTO(struct sk_buff *skb), TP_ARGS(skb), TP_STRUCT__entry( __field(void *, skbaddr) __field(int , len) __field(int , data_len) ), TP_fast_assign( __entry->skbaddr = skb; __entry->len = skb->len; __entry->data_len = skb->data_len; ), TP_printk("GSO: skbaddr=%p, len=%d, data_len=%d", __entry->skbaddr, __entry->len, __entry->data_len) ); TRACE_EVENT(skb_copy_datagram_iovec, TP_PROTO(const struct sk_buff *skb, int len), Loading net/core/dev.c +1 −0 Original line number Diff line number Diff line Loading @@ -2733,6 +2733,7 @@ static struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device if (netif_needs_gso(dev, skb, features)) { struct sk_buff *segs; trace_print_skb_gso(skb); segs = skb_gso_segment(skb, features); if (IS_ERR(segs)) { goto out_kfree_skb; Loading Loading
include/trace/events/skb.h +22 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,28 @@ TRACE_EVENT(consume_skb, TP_printk("skbaddr=%p", __entry->skbaddr) ); TRACE_EVENT(print_skb_gso, TP_PROTO(struct sk_buff *skb), TP_ARGS(skb), TP_STRUCT__entry( __field(void *, skbaddr) __field(int , len) __field(int , data_len) ), TP_fast_assign( __entry->skbaddr = skb; __entry->len = skb->len; __entry->data_len = skb->data_len; ), TP_printk("GSO: skbaddr=%p, len=%d, data_len=%d", __entry->skbaddr, __entry->len, __entry->data_len) ); TRACE_EVENT(skb_copy_datagram_iovec, TP_PROTO(const struct sk_buff *skb, int len), Loading
net/core/dev.c +1 −0 Original line number Diff line number Diff line Loading @@ -2733,6 +2733,7 @@ static struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device if (netif_needs_gso(dev, skb, features)) { struct sk_buff *segs; trace_print_skb_gso(skb); segs = skb_gso_segment(skb, features); if (IS_ERR(segs)) { goto out_kfree_skb; Loading