summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
author童宗振 <[email protected]>2024-04-28 14:29:58 +0000
committer童宗振 <[email protected]>2024-04-28 14:29:58 +0000
commitb1c532ecb6c849b5538adef7a1c11a51b774f712 (patch)
tree244e3b420339d0ba04469e98ddb8a36013ec5172 /app
parent42c89e380c3da4b0d40d0ffc0a2e39e45ffe8356 (diff)
fix: inner layer jumpv4.8.5-20240429
Diffstat (limited to 'app')
-rw-r--r--app/src/dp_trace.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/src/dp_trace.c b/app/src/dp_trace.c
index 77d162b..9d4a47f 100644
--- a/app/src/dp_trace.c
+++ b/app/src/dp_trace.c
@@ -64,6 +64,11 @@ int marsio_dp_trace_record_emit_fmt(struct mr_instance * mr_instance, marsio_buf
int marsio_dp_trace_measurements_can_emit(__rte_unused struct mr_instance * instance, const marsio_buff_t * mbuf,
uint8_t measurement_type)
{
+ struct mrb_metadata * mrb_meta = rte_mbuf_to_priv((struct rte_mbuf *)mbuf);
+ if (unlikely(mrb_meta->measurement_type == DP_TRACE_MEASUREMENT_TYPE_UNKNOW))
+ {
+ marsio_dp_trace_filter_exec(instance, (struct rte_mbuf *)mbuf);
+ }
return dp_trace_record_can_emit((struct rte_mbuf *)mbuf, measurement_type);
}
@@ -373,6 +378,7 @@ void * marsio_pkt_jump_to_innermost_layer(const marsio_buff_t * mbuf, enum compl
if (pkt_parser_result->layers[i].type_id == layer_id)
{
ret = rte_pktmbuf_mtod((struct rte_mbuf *)mbuf, void *) + pkt_parser_result->layers[i].offset;
+ break;
}
}