Message ID | 1499406231-3877-3-git-send-email-zhangchen.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
this title confused me i think you want to express "only compare the packets that has the same sequence number" and i think this optimization can not reduce this checkpoint optimization. Thanks On 07/07/2017 01:43 PM, Zhang Chen wrote: > 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.fnst@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
On 07/07/2017 02:20 PM, Li Zhijian wrote: > this title confused me > > i think you want to express "only compare the packets that has the > same sequence number" OK, I will fix it in next version. > > and i think this optimization can not reduce this checkpoint > optimization. > In my test it can reduce many full comparison(like memcmp), and in the future we have some job about this point. Thanks Zhang Chen > Thanks > > > On 07/07/2017 01:43 PM, Zhang Chen wrote: >> 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.fnst@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 > > . >
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
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.fnst@cn.fujitsu.com> --- net/colo-compare.c | 6 ++++++ 1 file changed, 6 insertions(+)