diff options
| author | lijia <[email protected]> | 2021-04-06 14:17:59 +0800 |
|---|---|---|
| committer | lijia <[email protected]> | 2021-04-06 14:17:59 +0800 |
| commit | fe6064bb5eabac1b41551cbebb39f77229460c63 (patch) | |
| tree | 9d89e223b161fe4d360eeb47937ae87d7a501fc7 | |
| parent | 62ac0c4ab29b1c6a5d8ce1afa2b73ce086b0b15a (diff) | |
修复重复流量与drop_stream动作的优先级关系.v4.2.29
| -rw-r--r-- | src/dealpkt/deal_udp.c | 32 |
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; |
