diff options
| author | 童宗振 <[email protected]> | 2024-07-10 07:04:46 +0000 |
|---|---|---|
| committer | 童宗振 <[email protected]> | 2024-07-10 07:04:46 +0000 |
| commit | b1d39093ebd855be544c036d0fbd393addc23c91 (patch) | |
| tree | 5f1174c5bbb4a989afea94968b1752dee05509ae /app/src/dp_trace.c | |
| parent | af9177f5e0b15c80d5370e681526fc1ccac7d0ff (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.c | 47 |
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; } |
