skb: printing port numbers with gso trace events
Adding source and destination port number info in the gso trace events to differentiate between the flows. CRs-Fixed: 982871 Change-Id: Idbae7f95dfd56293805b58e3c6626f5f6e07d08a Acked-by: Ashwanth Goli <ashwanth@qti.qualcomm.com> Signed-off-by: Ravinder Konka <rkonka@codeaurora.org> [subashab@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
This commit is contained in:
parent
ab26d09879
commit
49f8a635ba
2 changed files with 15 additions and 5 deletions
|
@ -52,24 +52,29 @@ TRACE_EVENT(consume_skb,
|
|||
|
||||
TRACE_EVENT(print_skb_gso,
|
||||
|
||||
TP_PROTO(struct sk_buff *skb),
|
||||
TP_PROTO(struct sk_buff *skb, __be16 src, __be16 dest),
|
||||
|
||||
TP_ARGS(skb),
|
||||
TP_ARGS(skb, src, dest),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(void *, skbaddr)
|
||||
__field(int , len)
|
||||
__field(int , data_len)
|
||||
__field(__be16, src)
|
||||
__field(__be16, dest)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->skbaddr = skb;
|
||||
__entry->len = skb->len;
|
||||
__entry->data_len = skb->data_len;
|
||||
__entry->src = src;
|
||||
__entry->dest = dest;
|
||||
),
|
||||
|
||||
TP_printk("GSO: skbaddr=%p, len=%d, data_len=%d",
|
||||
__entry->skbaddr, __entry->len, __entry->data_len)
|
||||
TP_printk("GSO: skbaddr=%pK, len=%d, data_len=%d, src=%u, dest=%u",
|
||||
__entry->skbaddr, __entry->len, __entry->data_len,
|
||||
be16_to_cpu(__entry->src), be16_to_cpu(__entry->dest))
|
||||
);
|
||||
|
||||
TRACE_EVENT(skb_copy_datagram_iovec,
|
||||
|
|
|
@ -137,6 +137,8 @@
|
|||
#include <linux/errqueue.h>
|
||||
#include <linux/hrtimer.h>
|
||||
#include <linux/netfilter_ingress.h>
|
||||
#include <linux/tcp.h>
|
||||
#include <net/tcp.h>
|
||||
|
||||
#include "net-sysfs.h"
|
||||
|
||||
|
@ -2773,7 +2775,10 @@ static struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device
|
|||
if (netif_needs_gso(skb, features)) {
|
||||
struct sk_buff *segs;
|
||||
|
||||
trace_print_skb_gso(skb);
|
||||
__be16 src_port = tcp_hdr(skb)->source;
|
||||
__be16 dest_port = tcp_hdr(skb)->dest;
|
||||
|
||||
trace_print_skb_gso(skb, src_port, dest_port);
|
||||
segs = skb_gso_segment(skb, features);
|
||||
if (IS_ERR(segs)) {
|
||||
goto out_kfree_skb;
|
||||
|
|
Loading…
Add table
Reference in a new issue