summaryrefslogtreecommitdiff
path: root/src/dealpkt
diff options
context:
space:
mode:
Diffstat (limited to 'src/dealpkt')
-rw-r--r--src/dealpkt/deal_tcp.c18
-rw-r--r--src/dealpkt/deal_udp.c35
-rw-r--r--src/dealpkt/plug_support.c12
3 files changed, 25 insertions, 40 deletions
diff --git a/src/dealpkt/deal_tcp.c b/src/dealpkt/deal_tcp.c
index 0ba46ce..a494cac 100644
--- a/src/dealpkt/deal_tcp.c
+++ b/src/dealpkt/deal_tcp.c
@@ -2668,7 +2668,7 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s
pindex_tcp = findstreamindex (pindex, raw_pkt);
if(unlikely(!pindex_tcp)){
if((ADDR_TYPE_IPV4 == pstream->addr.addrtype)
- && sapp_global_val->config.packet_io.dup_pkt_para.dup_pkt_distinguish_ipv4_tcp){
+ && sapp_global_val->config.packet_io.dup_pkt_para.dup_pkt_distinguish_ipv4_tcp){
sapp_dup_pkt_mark_l4(pstream, this_iphdr, (const void *)this_tcphdr);
}
@@ -2812,19 +2812,9 @@ static int deal_tcp_stream(struct streamindex *pindex, const void *this_iphdr, s
}
}
- if(pstream_pr->sid_append_list != NULL)
- {
- ((raw_pkt_t *)raw_pkt)->append_list=pstream_pr->sid_append_list;
- }
- if(pstream_pr->sid_prepend_list != NULL)
- {
- ((raw_pkt_t *)raw_pkt)->prepend_list=pstream_pr->sid_prepend_list;
- }
-
- if(pstream_pr->stream_trace_id != 0)
- {
- ((raw_pkt_t *)raw_pkt)->stream_trace_id=pstream_pr->stream_trace_id;
- }
+ if(pstream_pr->sid_append_list != NULL)((raw_pkt_t *)raw_pkt)->append_list=pstream_pr->sid_append_list;
+ if(pstream_pr->sid_prepend_list != NULL)((raw_pkt_t *)raw_pkt)->prepend_list=pstream_pr->sid_prepend_list;
+ if(pstream_pr->stream_trace_id != 0)((raw_pkt_t *)raw_pkt)->stream_trace_id=pstream_pr->stream_trace_id;
if(pstream->curdir==DIR_S2C)
{
diff --git a/src/dealpkt/deal_udp.c b/src/dealpkt/deal_udp.c
index dc4231c..2f2548f 100644
--- a/src/dealpkt/deal_udp.c
+++ b/src/dealpkt/deal_udp.c
@@ -710,19 +710,10 @@ int dealipv4udppkt(struct streamindex *pindex, const struct mesa_ip4_hdr * this_
return DROP;
}
- if (pstream_pr->sid_append_list != NULL)
- {
- ((raw_pkt_t *)raw_pkt)->append_list = pstream_pr->sid_append_list;
- }
- if (pstream_pr->sid_prepend_list != NULL)
- {
- ((raw_pkt_t *)raw_pkt)->prepend_list = pstream_pr->sid_prepend_list;
- }
- if (pstream_pr->stream_trace_id != 0)
- {
- ((raw_pkt_t *)raw_pkt)->stream_trace_id = pstream_pr->stream_trace_id;
- }
-
+ //sync marsio metadata to raw_pkt
+ if(pstream_pr->sid_append_list != NULL)((raw_pkt_t *)raw_pkt)->append_list=pstream_pr->sid_append_list;
+ if(pstream_pr->sid_prepend_list != NULL)((raw_pkt_t *)raw_pkt)->prepend_list=pstream_pr->sid_prepend_list;
+ if(pstream_pr->stream_trace_id != 0)((raw_pkt_t *)raw_pkt)->stream_trace_id=pstream_pr->stream_trace_id;
if(pstream->curdir==DIR_S2C){
@@ -976,18 +967,10 @@ int dealipv6udppkt(struct streamindex *pindex,const struct mesa_ip6_hdr *a_packe
return PASS;
}
- if (pstream_pr->sid_append_list != NULL)
- {
- ((raw_pkt_t *)raw_pkt)->append_list = pstream_pr->sid_append_list;
- }
- if (pstream_pr->sid_prepend_list != NULL)
- {
- ((raw_pkt_t *)raw_pkt)->prepend_list = pstream_pr->sid_prepend_list;
- }
- if (pstream_pr->stream_trace_id != 0)
- {
- ((raw_pkt_t *)raw_pkt)->stream_trace_id = pstream_pr->stream_trace_id;
- }
+ //sync marsio metadata to raw_pkt
+ if(pstream_pr->sid_append_list != NULL)((raw_pkt_t *)raw_pkt)->append_list=pstream_pr->sid_append_list;
+ if(pstream_pr->sid_prepend_list != NULL)((raw_pkt_t *)raw_pkt)->prepend_list=pstream_pr->sid_prepend_list;
+ if(pstream_pr->stream_trace_id != 0)((raw_pkt_t *)raw_pkt)->stream_trace_id=pstream_pr->stream_trace_id;
if(unlikely(a_index->stream.stream_killed_flag != 0) && raw_pkt->is_ctrl_pkt==0){
return DROP;
@@ -1065,7 +1048,7 @@ int dealipv6udppkt(struct streamindex *pindex,const struct mesa_ip6_hdr *a_packe
if(DROP == ret){
sapp_runtime_log(RLOG_LV_DEBUG, "UDP stream: %s, curdir:%d, return DROP.", printaddr(&pstream->addr, pstream->threadnum), pstream->curdir);
}
-
+
return ret;
}
diff --git a/src/dealpkt/plug_support.c b/src/dealpkt/plug_support.c
index fab2c0d..c2b3256 100644
--- a/src/dealpkt/plug_support.c
+++ b/src/dealpkt/plug_support.c
@@ -1133,6 +1133,10 @@ int MESA_set_stream_opt(const struct streaminfo *pstream, enum MESA_stream_opt o
memset(pstream_pr->sid_append_list, 0, sizeof(struct segment_id_list));
}
}
+ if(pstream_pr->raw_pkt)
+ {
+ ((raw_pkt_t *)pstream_pr->raw_pkt)->append_list=pstream_pr->sid_append_list;
+ }
ret = 0;
}
break;
@@ -1166,6 +1170,10 @@ int MESA_set_stream_opt(const struct streaminfo *pstream, enum MESA_stream_opt o
memset(pstream_pr->sid_prepend_list, 0, sizeof(struct segment_id_list));
}
}
+ if(pstream_pr->raw_pkt)
+ {
+ ((raw_pkt_t *)pstream_pr->raw_pkt)->prepend_list=pstream_pr->sid_prepend_list;
+ }
ret = 0;
}
break;
@@ -1178,6 +1186,10 @@ int MESA_set_stream_opt(const struct streaminfo *pstream, enum MESA_stream_opt o
break;
}
pstream_pr->stream_trace_id=*((unsigned long long *)opt_val);
+ if(pstream_pr->raw_pkt)
+ {
+ ((raw_pkt_t *)pstream_pr->raw_pkt)->stream_trace_id=pstream_pr->stream_trace_id;
+ }
ret=0;
}
break;