summaryrefslogtreecommitdiff
path: root/app/src/dp_trace.c
diff options
context:
space:
mode:
author童宗振 <[email protected]>2024-07-10 07:04:46 +0000
committer童宗振 <[email protected]>2024-07-10 07:04:46 +0000
commitb1d39093ebd855be544c036d0fbd393addc23c91 (patch)
tree5f1174c5bbb4a989afea94968b1752dee05509ae /app/src/dp_trace.c
parentaf9177f5e0b15c80d5370e681526fc1ccac7d0ff (diff)
(TSG-21729)metadata add egress_action fieldv4.8.15-20240710
Diffstat (limited to 'app/src/dp_trace.c')
-rw-r--r--app/src/dp_trace.c47
1 files changed, 4 insertions, 43 deletions
diff --git a/app/src/dp_trace.c b/app/src/dp_trace.c
index 39972af..361da17 100644
--- a/app/src/dp_trace.c
+++ b/app/src/dp_trace.c
@@ -23,44 +23,6 @@ int marsio_dp_trace_init(struct mr_instance * mr_instance)
return RT_SUCCESS;
}
-int marsio_dp_trace_record_can_emit(const marsio_buff_t * mbuf)
-{
- return dp_trace_record_can_emit((struct rte_mbuf *)mbuf, DP_TRACE_MEASUREMENT_TYPE_TRACE);
-}
-
-int marsio_dp_trace_record_emit_str(struct mr_instance * mr_instance, marsio_buff_t * mbuf, const char * module,
- const char * str)
-{
- struct dp_trace_record_meta meta = {
- .measurement_type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .module = module, .appsym = mr_instance->appsym};
- return dp_trace_record_emit_str(mr_instance->trace, (struct rte_mbuf *)mbuf, marsio_thread_id_get(), &meta, str);
-}
-
-int marsio_dp_trace_record_emit_fmt(struct mr_instance * mr_instance, marsio_buff_t * mbuf, const char * module,
- const char * format, ...)
-{
- struct dp_trace_process * trace = mr_instance->trace;
-
- char buffer[512];
- va_list args;
- va_start(args, format);
- int ret = vsnprintf(buffer, sizeof(buffer), format, args);
- va_end(args);
-
- if (unlikely(ret < 0 || ret >= sizeof(buffer)))
- {
- thread_id_t thread_id = marsio_thread_id_get();
- trace->statistics[thread_id].record_emit_failed_trace_oversize++;
- return -1;
- }
-
- struct dp_trace_record_meta meta = {
- .measurement_type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .module = module, .appsym = mr_instance->appsym};
-
- ret = dp_trace_record_emit_str(trace, (struct rte_mbuf *)mbuf, marsio_thread_id_get(), &meta, buffer);
- return ret;
-}
-
int marsio_dp_trace_measurements_can_emit(__rte_unused struct mr_instance * instance, const marsio_buff_t * mbuf,
uint8_t measurement_type)
{
@@ -105,11 +67,6 @@ int marsio_dp_trace_measurement_emit_fmt(struct mr_instance * mr_instance, marsi
return ret;
}
-void marsio_dp_trace_filter_exec(struct mr_instance * instance, marsio_buff_t * mbuf)
-{
- dp_trace_filter_exec(instance->trace, (struct rte_mbuf *)mbuf, 0, marsio_thread_id_get());
-}
-
void marsio_dp_trace_record_write(struct mr_instance * mr_instance, marsio_buff_t * mbuf)
{
return dp_trace_record_write(mr_instance->trace, (struct rte_mbuf *)mbuf, marsio_thread_id_get());
@@ -120,6 +77,8 @@ void marsio_rte_pktmbuf_free(struct rte_mbuf * m)
if (unlikely(m == NULL))
return;
struct mr_instance * mr_instance = marsio_current();
+ struct mrb_metadata * mrb_meta = rte_mbuf_to_priv(m);
+ mrb_meta->egress_action = MR_EGRESS_ACTION_DROP;
marsio_dp_trace_record_write(mr_instance, m);
rte_pktmbuf_free(m);
}
@@ -349,6 +308,8 @@ int marsio_dp_trace_buffer_info_get(const marsio_buff_t * mbuf, struct dp_trace_
info->inner_src_port = dp_trace_buffer->inner_src_port;
info->inner_dst_port = dp_trace_buffer->inner_dst_port;
+ info->egress_action = mrb_meta->egress_action;
+
return 0;
}