diff options
| author | yangwei <[email protected]> | 2024-02-28 19:20:33 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2024-02-28 19:20:33 +0800 |
| commit | 087aec0b48165eb74e385cd757735272be768228 (patch) | |
| tree | 508033fef0e2013e834e609131e639eb98a54314 | |
| parent | f30d1bb7a0645d6bc3ef5f2d7cde326106024bc8 (diff) | |
🐞 fix(plugin_process_context): 修复ip插件回调时,未设置plugin_process_context的问题
| -rw-r--r-- | src/dealpkt/deal_ipv6.c | 10 | ||||
| -rw-r--r-- | src/dealpkt/deal_udp.c | 3 |
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; } |
