core: Add trace point for gso verification
This patch adds trace events to help with debug for gso feature by identifying the packets (and their lengths) that are using the segmentation offload feature. Adding source and destination port number info in the gso trace events to differentiate between the flows. CRs-Fixed: 2697145 Change-Id: I4f9786afa799cb1589bd07393c0922913037390d Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Este cometimento está contido em:

ascendente
2a1b9716b1
cometimento
17190b7e11
@@ -17,6 +17,8 @@
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/if_arp.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <linux/tcp.h>
|
||||
#include <net/pkt_sched.h>
|
||||
#include "rmnet_config.h"
|
||||
#include "rmnet_handlers.h"
|
||||
@@ -171,6 +173,25 @@ static u16 rmnet_vnd_select_queue(struct net_device *dev,
|
||||
int boost_trigger = 0;
|
||||
int txq = 0;
|
||||
|
||||
if (trace_print_skb_gso_enabled()) {
|
||||
if (!skb_shinfo(skb)->gso_size)
|
||||
goto skip_trace;
|
||||
|
||||
if (skb->protocol == htons(ETH_P_IP)) {
|
||||
if (ip_hdr(skb)->protocol != IPPROTO_TCP)
|
||||
goto skip_trace;
|
||||
}
|
||||
|
||||
if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||
if (ipv6_hdr(skb)->nexthdr != IPPROTO_TCP)
|
||||
goto skip_trace;
|
||||
}
|
||||
|
||||
trace_print_skb_gso(skb, tcp_hdr(skb)->source,
|
||||
tcp_hdr(skb)->dest);
|
||||
}
|
||||
|
||||
skip_trace:
|
||||
if (priv->real_dev)
|
||||
txq = qmi_rmnet_get_queue(dev, skb);
|
||||
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador