summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlijia <[email protected]>2021-04-06 14:17:59 +0800
committerlijia <[email protected]>2021-04-06 14:17:59 +0800
commitfe6064bb5eabac1b41551cbebb39f77229460c63 (patch)
tree9d89e223b161fe4d360eeb47937ae87d7a501fc7
parent62ac0c4ab29b1c6a5d8ce1afa2b73ce086b0b15a (diff)
修复重复流量与drop_stream动作的优先级关系.v4.2.29
-rw-r--r--src/dealpkt/deal_udp.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/dealpkt/deal_udp.c b/src/dealpkt/deal_udp.c
index 4c3df4b..16e4522 100644
--- a/src/dealpkt/deal_udp.c
+++ b/src/dealpkt/deal_udp.c
@@ -549,14 +549,6 @@ int dealipv4udppkt(struct streamindex *pindex, const struct mesa_ip4_hdr * this_
//pstream->addr.pktipfragtype = pstream->stream_public.addr.pktipfragtype; /* 2015-11-04 lijia add, IP��Ƭ���͸��� */
pdetail_pr=(struct udpdetail_private *)(pstream->pdetail);
- if((sapp_global_val->config.packet_io.dup_pkt_para.dup_pkt_distinguish_enable != 0)
- && (sapp_dup_pkt_identify_udp_v4(thread_num, pstream_pr, pdetail_pr->udpdetail_public.clientpktnum+pdetail_pr->udpdetail_public.serverpktnum, this_iphdr, udph) != 0)){
- local_sys_stat->count[SAPP_STAT_RCV_DUP_UDP]++;
- local_sys_stat->length[SAPP_STAT_RCV_DUP_UDP] += ulen;
- cycle_pkt_dump_by_classify(pstream->threadnum, raw_pkt, PKT_CLASSIFY_REPEAT);
- return PASS;
- }
-
/* 2014-11-15 lijia add, for udp serial kill udp */
if(unlikely(a_index->stream.stream_killed_flag != 0)){
return DROP;
@@ -566,6 +558,14 @@ int dealipv4udppkt(struct streamindex *pindex, const struct mesa_ip4_hdr * this_
return DROP;
}
+ if((sapp_global_val->config.packet_io.dup_pkt_para.dup_pkt_distinguish_enable != 0)
+ && (sapp_dup_pkt_identify_udp_v4(thread_num, pstream_pr, pdetail_pr->udpdetail_public.clientpktnum+pdetail_pr->udpdetail_public.serverpktnum, this_iphdr, udph) != 0)){
+ local_sys_stat->count[SAPP_STAT_RCV_DUP_UDP]++;
+ local_sys_stat->length[SAPP_STAT_RCV_DUP_UDP] += ulen;
+ cycle_pkt_dump_by_classify(pstream->threadnum, raw_pkt, PKT_CLASSIFY_REPEAT);
+ return PASS;
+ }
+
if(pstream->curdir==DIR_S2C){
if(pdetail_pr->udpdetail_public.clientpktnum == 0){ /* ��ǰ����ĵ�һ����, ���Ը��µײ������ĵ����ַ��Ϣ(��MPLS, GTP) */
try_to_update_addr_info = 1;
@@ -749,14 +749,6 @@ int dealipv6udppkt(struct streamindex *pindex,const struct mesa_ip6_hdr *a_packe
pstream=&(pstream_pr->stream_public);
pdetail_pr=(struct udpdetail_private *)(pstream->pdetail);
- if((sapp_global_val->config.packet_io.dup_pkt_para.dup_pkt_distinguish_enable != 0)
- && (sapp_dup_pkt_identify_udp_v6(thread_num, pstream_pr, pdetail_pr->udpdetail_public.clientpktnum+pdetail_pr->udpdetail_public.serverpktnum, a_packet, udph) != 0)){
- local_sys_stat->count[SAPP_STAT_RCV_DUP_UDP]++;
- local_sys_stat->length[SAPP_STAT_RCV_DUP_UDP] += ulen;
- cycle_pkt_dump_by_classify(pstream->threadnum, raw_pkt, PKT_CLASSIFY_REPEAT);
- return PASS;
- }
-
/* 2014-11-15 lijia add, for udp serial kill udp */
if(unlikely(a_index->stream.stream_killed_flag != 0)){
return DROP;
@@ -766,6 +758,14 @@ int dealipv6udppkt(struct streamindex *pindex,const struct mesa_ip6_hdr *a_packe
return DROP;
}
+ if((sapp_global_val->config.packet_io.dup_pkt_para.dup_pkt_distinguish_enable != 0)
+ && (sapp_dup_pkt_identify_udp_v6(thread_num, pstream_pr, pdetail_pr->udpdetail_public.clientpktnum+pdetail_pr->udpdetail_public.serverpktnum, a_packet, udph) != 0)){
+ local_sys_stat->count[SAPP_STAT_RCV_DUP_UDP]++;
+ local_sys_stat->length[SAPP_STAT_RCV_DUP_UDP] += ulen;
+ cycle_pkt_dump_by_classify(pstream->threadnum, raw_pkt, PKT_CLASSIFY_REPEAT);
+ return PASS;
+ }
+
if(pstream->curdir==DIR_S2C){
if(pdetail_pr->udpdetail_public.clientpktnum == 0){ /* ��ǰ����ĵ�һ����, ���Ը��µײ������ĵ����ַ��Ϣ(��MPLS, GTP) */
try_to_update_addr_info = 1;