diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/src/dp_trace.c | 47 | ||||
| -rw-r--r-- | app/src/mrb.c | 3 | ||||
| -rw-r--r-- | app/src/version.map | 4 |
3 files changed, 7 insertions, 47 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; } diff --git a/app/src/mrb.c b/app/src/mrb.c index d156f34..fe2a3ea 100644 --- a/app/src/mrb.c +++ b/app/src/mrb.c @@ -130,6 +130,9 @@ void marsio_buff_free_v2(struct mr_instance * instance, marsio_buff_t * buff[], { marsio_dp_trace_measurement_emit_str(instance, m, DP_TRACE_MEASUREMENT_TYPE_TRACE, NULL, "packet dropped"); } + + struct mrb_metadata * mrb_meta = rte_mbuf_to_priv(m); + mrb_meta->egress_action = MR_EGRESS_ACTION_DROP; marsio_dp_trace_record_write(instance, (struct rte_mbuf *)m); __rte_mbuf_sanity_check(m, 1); diff --git a/app/src/version.map b/app/src/version.map index 6d5e927..b522bfd 100644 --- a/app/src/version.map +++ b/app/src/version.map @@ -84,10 +84,6 @@ global: marsio_poll_wait; marsio_poll_register_eventfd; - marsio_dp_trace_filter_exec; - marsio_dp_trace_record_can_emit; - marsio_dp_trace_record_emit_str; - marsio_dp_trace_record_emit_fmt; marsio_dp_trace_measurements_can_emit; marsio_dp_trace_measurement_emit_str; marsio_dp_trace_measurement_emit_fmt; |
