qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] net: split colo_compare_pkt_info into two trace


From: Zhang Chen
Subject: Re: [Qemu-devel] [PATCH] net: split colo_compare_pkt_info into two trace events
Date: Mon, 31 Oct 2016 18:13:06 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0



On 10/28/2016 09:25 PM, Alex Bennée wrote:
It seems there is a limit to the number of arguments a UST trace event
can take and at 11 the previous trace command broke the build. Split the
trace into a src pkt and dst pkt trace to fix this.

Signed-off-by: Alex Bennée <address@hidden>

It looks good for me, but it not the root cause of this bug.
We better fix this in UST trace event codes....
But qemu 2.8 will be released, we need fix this quickly.
So...
Reviewed-by: Zhang Chen <address@hidden>


---
  net/colo-compare.c | 21 +++++++++++----------
  net/trace-events   |  3 ++-
  2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/net/colo-compare.c b/net/colo-compare.c
index f791383..4ac916a 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -218,16 +218,17 @@ static int colo_packet_compare_tcp(Packet *spkt, Packet 
*ppkt)
                  (spkt->size - ETH_HLEN));
if (res != 0 && trace_event_get_state(TRACE_COLO_COMPARE_MISCOMPARE)) {
-        trace_colo_compare_pkt_info(inet_ntoa(ppkt->ip->ip_src),
-                                    inet_ntoa(ppkt->ip->ip_dst),
-                                    ntohl(ptcp->th_seq),
-                                    ntohl(ptcp->th_ack),
-                                    ntohl(stcp->th_seq),
-                                    ntohl(stcp->th_ack),
-                                    res, ptcp->th_flags,
-                                    stcp->th_flags,
-                                    ppkt->size,
-                                    spkt->size);
+        trace_colo_compare_pkt_info_src(inet_ntoa(ppkt->ip->ip_src),
+                                        ntohl(stcp->th_seq),
+                                        ntohl(stcp->th_ack),
+                                        res, stcp->th_flags,
+                                        spkt->size);
+
+        trace_colo_compare_pkt_info_dst(inet_ntoa(ppkt->ip->ip_dst),
+                                        ntohl(ptcp->th_seq),
+                                        ntohl(ptcp->th_ack),
+                                        res, ptcp->th_flags,
+                                        ppkt->size);
qemu_hexdump((char *)ppkt->data, stderr,
                       "colo-compare ppkt", ppkt->size);
diff --git a/net/trace-events b/net/trace-events
index b1913a6..35198bc 100644
--- a/net/trace-events
+++ b/net/trace-events
@@ -13,7 +13,8 @@ colo_compare_icmp_miscompare(const char *sta, int size) ": %s = 
%d"
  colo_compare_ip_info(int psize, const char *sta, const char *stb, int ssize, const char 
*stc, const char *std) "ppkt size = %d, ip_src = %s, ip_dst = %s, spkt size = %d, 
ip_src = %s, ip_dst = %s"
  colo_old_packet_check_found(int64_t old_time) "%" PRId64
  colo_compare_miscompare(void) ""
-colo_compare_pkt_info(const char *src, const char *dst, uint32_t pseq, uint32_t pack, 
uint32_t sseq, uint32_t sack, int res, uint32_t pflag, uint32_t sflag, int psize, int 
ssize) "src/dst: %s/%s p: seq/ack=%u/%u   s: seq/ack=%u/%u res=%d flags=%x/%x 
ppkt_size: %d spkt_size: %d\n"
+colo_compare_pkt_info_src(const char *src, uint32_t sseq, uint32_t sack, int res, 
uint32_t sflag, int ssize) "src/dst: %s s: seq/ack=%u/%u res=%d flags=%x spkt_size: 
%d\n"
+colo_compare_pkt_info_dst(const char *dst, uint32_t dseq, uint32_t dack, int res, 
uint32_t dflag, int dsize) "src/dst: %s d: seq/ack=%u/%u res=%d flags=%x dpkt_size: 
%d\n"
# net/filter-rewriter.c
  colo_filter_rewriter_debug(void) ""

--
Thanks
zhangchen






reply via email to

[Prev in Thread] Current Thread [Next in Thread]