summaryrefslogtreecommitdiff
path: root/app/src/dp_trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/dp_trace.c')
-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;
}
}