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:
Ravinder Konka 2016-03-03 22:28:08 +05:30 committed by Subash Abhinov Kasiviswanathan
parent ab26d09879
commit 49f8a635ba
2 changed files with 15 additions and 5 deletions

View file

@ -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,

View file

@ -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;