summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2024-02-28 15:56:02 +0800
committeryangwei <[email protected]>2024-02-28 15:56:02 +0800
commitf30d1bb7a0645d6bc3ef5f2d7cde326106024bc8 (patch)
tree8b177d33269931707b4a5981cb8a9b92ec3ee520
parentf5cd63b9b0b9312ed9ee871e89fc14093249061d (diff)
🐞 fix(tcp & udp new stream): 显式增加控制报文不触发新建流的逻辑
-rw-r--r--src/dealpkt/deal_tcp.c3
-rw-r--r--src/dealpkt/deal_udp.c18
2 files changed, 18 insertions, 3 deletions
diff --git a/src/dealpkt/deal_tcp.c b/src/dealpkt/deal_tcp.c
index 6bf15f6..3467309 100644
--- a/src/dealpkt/deal_tcp.c
+++ b/src/dealpkt/deal_tcp.c
@@ -2824,7 +2824,8 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s
{
if(0==(TCP_CTEAT_LINK_BYSYN & tcp_creatlink_model ))
return PASS;
-
+ if(raw_pkt->is_ctrl_pkt==1)
+ return PASS;
pindex_tcp=tcp_add_new_stream_bysyn(pindex,this_iphdr, this_tcphdr,tcplen,CTREAT_LINK,raw_pkt);
if(likely(pindex_tcp != NULL))
{
diff --git a/src/dealpkt/deal_udp.c b/src/dealpkt/deal_udp.c
index 7bd47dd..d078315 100644
--- a/src/dealpkt/deal_udp.c
+++ b/src/dealpkt/deal_udp.c
@@ -666,7 +666,14 @@ int dealipv4udppkt(struct streamindex *pindex, const struct mesa_ip4_hdr * this_
return PASS;
}
}
- a_index = udp_add_new_stream(pindex, udph, raw_pkt);
+ if(raw_pkt->is_ctrl_pkt==0)
+ {
+ a_index = udp_add_new_stream(pindex, udph, raw_pkt);
+ }
+ else
+ {
+ return PASS;
+ }
}
//add by lqy ֻ�е�����δ����ʱ����lru
else
@@ -928,7 +935,14 @@ int dealipv6udppkt(struct streamindex *pindex,const struct mesa_ip6_hdr *a_packe
return PASS;
}
}
- a_index = udp_add_new_stream(pindex, udph, raw_pkt);
+ if(raw_pkt->is_ctrl_pkt==0)
+ {
+ a_index = udp_add_new_stream(pindex, udph, raw_pkt);
+ }
+ else
+ {
+ return PASS;
+ }
}
else
{