If primary packet's sequence number not same with secondary packet's sequence number, no need to compare the packet other field.
Signed-off-by: Zhang Chen <zhangchen.f...@cn.fujitsu.com> --- net/colo-compare.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/colo-compare.c b/net/colo-compare.c index 0f8e198..2caeb80 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -222,6 +222,12 @@ static int colo_packet_compare_tcp(Packet *spkt, Packet *ppkt) ptcp = (struct tcphdr *)ppkt->transport_header; stcp = (struct tcphdr *)spkt->transport_header; + if ((ptcp->th_flags & TH_SYN) != TH_SYN && + ptcp->th_seq != stcp->th_seq) { + trace_colo_compare_main("colo_packet_compare_tcp seq not same"); + return -1; + } + /* * The 'identification' field in the IP header is *very* random * it almost never matches. Fudge this by ignoring differences in -- 2.7.4