summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2024-02-28 19:20:33 +0800
committeryangwei <[email protected]>2024-02-28 19:20:33 +0800
commit087aec0b48165eb74e385cd757735272be768228 (patch)
tree508033fef0e2013e834e609131e639eb98a54314
parentf30d1bb7a0645d6bc3ef5f2d7cde326106024bc8 (diff)
🐞 fix(plugin_process_context): 修复ip插件回调时,未设置plugin_process_context的问题
-rw-r--r--src/dealpkt/deal_ipv6.c10
-rw-r--r--src/dealpkt/deal_udp.c3
2 files changed, 12 insertions, 1 deletions
diff --git a/src/dealpkt/deal_ipv6.c b/src/dealpkt/deal_ipv6.c
index 8bd9176..42f6d7e 100644
--- a/src/dealpkt/deal_ipv6.c
+++ b/src/dealpkt/deal_ipv6.c
@@ -841,7 +841,9 @@ if(likely(pfstream_pr != NULL && pfstream_pr->layer_index < SAPP_SUPPORT_LAYER_N
switch(next_hdr_type)
{
case NEXTHDR_TCP:
+ plocal_stream_pr->plugin_process_context=1;
ret=stream_process_ipv6(plocal_stream,(const struct ip6_hdr *)a_packet,thread_num,routedir,raw_pkt);
+ plocal_stream_pr->plugin_process_context=0;
if(ret==DROP){
goto prosecc_pkt_drop;
}
@@ -855,7 +857,9 @@ if(likely(pfstream_pr != NULL && pfstream_pr->layer_index < SAPP_SUPPORT_LAYER_N
break;
case NEXTHDR_UDP:
+ plocal_stream_pr->plugin_process_context=1;
ret=stream_process_ipv6(plocal_stream,(const struct ip6_hdr *)a_packet,thread_num,routedir,raw_pkt);
+ plocal_stream_pr->plugin_process_context=0;
if(ret==DROP){
goto prosecc_pkt_drop;
}
@@ -913,7 +917,9 @@ if(likely(pfstream_pr != NULL && pfstream_pr->layer_index < SAPP_SUPPORT_LAYER_N
break;
case NEXTHDR_ICMP:
+ plocal_stream_pr->plugin_process_context=1;
ret=stream_process_ipv6(plocal_stream,(const struct ip6_hdr *)a_packet,thread_num,routedir, raw_pkt);
+ plocal_stream_pr->plugin_process_context=0;
if(ret==DROP){
goto prosecc_pkt_drop;
}
@@ -926,7 +932,9 @@ if(likely(pfstream_pr != NULL && pfstream_pr->layer_index < SAPP_SUPPORT_LAYER_N
#if COMPAT_PAPP_FOR_BENCHMARK
return PASS;
#endif
+ plocal_stream_pr->plugin_process_context=1;
ret=stream_process_ipv6(plocal_stream,(const struct ip6_hdr *)a_packet,thread_num,routedir, raw_pkt);
+ plocal_stream_pr->plugin_process_context=0;
if(ret==DROP){
goto prosecc_pkt_drop;
}
@@ -939,7 +947,9 @@ if(likely(pfstream_pr != NULL && pfstream_pr->layer_index < SAPP_SUPPORT_LAYER_N
case NEXTHDR_OSPF_IGP:
case NEXTHDR_ESP:
+ plocal_stream_pr->plugin_process_context=1;
ret=stream_process_ipv6(plocal_stream,(const struct ip6_hdr *)a_packet,thread_num,routedir, raw_pkt);
+ plocal_stream_pr->plugin_process_context=0;
if(ret==DROP){
goto prosecc_pkt_drop;
}
diff --git a/src/dealpkt/deal_udp.c b/src/dealpkt/deal_udp.c
index d078315..b86a82c 100644
--- a/src/dealpkt/deal_udp.c
+++ b/src/dealpkt/deal_udp.c
@@ -1098,8 +1098,9 @@ int process_ipv4_pkt (struct streamindex *pfindex,const struct mesa_ip4_hdr * a_
int next_layer_offest;
struct streaminfo_private *pfstream_pr = &(pfindex->stream);
sapp_gval_mthread_sys_stat_t *local_sys_stat = &sapp_global_val->mthread_volatile[thread_num]->sys_stat;
-
+ pfstream_pr->plugin_process_context=1;
ret=stream_process_ipv4(&(pfstream_pr->stream_public),(const struct ip *)a_packet,thread_num,routedir, raw_pkt);
+ pfstream_pr->plugin_process_context=0;
if(unlikely(ret==DROP)){
return DROP;
}