diff options
| author | tongzongzhen <[email protected]> | 2024-05-20 21:55:11 +0800 |
|---|---|---|
| committer | tongzongzhen <[email protected]> | 2024-05-20 21:55:11 +0800 |
| commit | 0d25f62d98aad377cd7c5becb3b38f319419f88b (patch) | |
| tree | 144cf0d8738ff86a0db9335ac16ed311c432cc80 | |
| parent | f7657b3f6561bbac7973e3f86c11d3f322f9c051 (diff) | |
mod measurement and fix arp errorv4.8.11-20240520
| -rw-r--r-- | app/src/rawio.c | 18 | ||||
| -rw-r--r-- | service/include/sc_trace.h | 2 | ||||
| -rw-r--r-- | service/src/dp_trace.c | 8 | ||||
| -rw-r--r-- | service/src/node_bridge.c | 10 |
4 files changed, 20 insertions, 18 deletions
diff --git a/app/src/rawio.c b/app/src/rawio.c index 451eb98..427534c 100644 --- a/app/src/rawio.c +++ b/app/src/rawio.c @@ -107,13 +107,13 @@ int marsio_recv_burst(struct mr_vdev * vdev, queue_id_t qid, marsio_buff_t * mbu marsio_dp_trace_measurements_can_emit(vdev->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TELEMETRY))) { marsio_dp_trace_measurement_emit_fmt(vdev->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, - "app_recv", "packet rx, dev=%s, qid=%u", vdev->devsym, qid); + "app_recv", "rx, dev=%s, qid=%u", vdev->devsym, qid); } if (unlikely(marsio_dp_trace_measurements_can_emit(vdev->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TRACE))) { marsio_dp_trace_measurement_emit_fmt(vdev->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TRACE, "app_recv", - "packet rx, dev=%s, qid=%u", vdev->devsym, qid); + "rx, dev=%s, qid=%u", vdev->devsym, qid); } } @@ -152,15 +152,14 @@ int marsio_send_buffer_flush(struct mr_vdev * vdev, queue_id_t sid) if (marsio_dp_trace_measurements_can_emit(instance, tx_buffer->mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TELEMETRY)) { marsio_dp_trace_measurement_emit_fmt(vdev->instance, tx_buffer->mbufs[i], - DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, "app_send", - "packet tx, dev=%s, qid=%u, hash=%u", vdev->devsym, sid, hash[i]); + DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, "app_send", "tx, dev=%s, qid=%u", + vdev->devsym, sid); } if (marsio_dp_trace_measurements_can_emit(instance, tx_buffer->mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TRACE)) { marsio_dp_trace_measurement_emit_fmt(vdev->instance, tx_buffer->mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TRACE, - "app_send", "packet tx, dev=%s, qid=%u, hash=%u", vdev->devsym, sid, - hash[i]); + "app_send", "tx, dev=%s, qid=%u, hash=%u", vdev->devsym, sid, hash[i]); } } @@ -255,15 +254,14 @@ int marsio_send_burst_with_options(struct mr_sendpath * sendpath, queue_id_t sid if (marsio_dp_trace_measurements_can_emit(sendpath->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TELEMETRY)) { marsio_dp_trace_measurement_emit_fmt(sendpath->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, - "app_send", "packet tx, dev=%s, qid=%u, hash=%u", - sendpath->vdev->devsym, sid, hash[i]); + "app_send", "tx, dev=%s, qid=%u", sendpath->vdev->devsym, sid); } if (marsio_dp_trace_measurements_can_emit(sendpath->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TRACE)) { marsio_dp_trace_measurement_emit_fmt(sendpath->instance, mbufs[i], DP_TRACE_MEASUREMENT_TYPE_TRACE, - "app_send", "packet tx, dev=%s, qid=%u, hash=%u", - sendpath->vdev->devsym, sid, hash[i]); + "app_send", "tx, dev=%s, qid=%u, hash=%u", sendpath->vdev->devsym, sid, + hash[i]); } } diff --git a/service/include/sc_trace.h b/service/include/sc_trace.h index 9fd7233..83e84f8 100644 --- a/service/include/sc_trace.h +++ b/service/include/sc_trace.h @@ -9,7 +9,7 @@ #include <adapter_define.h> #include <mrb_define.h> -#define MR_TRACE_APPSYM "mrzcpd" +#define MR_TRACE_APPSYM "pkt-io-engine" int mr_dp_trace_init(struct sc_main * sc); void dp_trace_config_update(struct sc_main * sc); diff --git a/service/src/dp_trace.c b/service/src/dp_trace.c index 30ebf61..2db3647 100644 --- a/service/src/dp_trace.c +++ b/service/src/dp_trace.c @@ -198,13 +198,13 @@ void hook_rte_pktmbuf_free(struct rte_mbuf * m) { struct dp_trace_record_meta meta = { .measurement_type = DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, .appsym = MR_TRACE_APPSYM, .module = ""}; - dp_trace_record_emit_str(sc_main_get()->trace, m, rte_lcore_id(), &meta, "packet free."); + dp_trace_record_emit_str(sc_main_get()->trace, m, rte_lcore_id(), &meta, "packet dropped"); } if (unlikely(dp_trace_record_can_emit(m, DP_TRACE_MEASUREMENT_TYPE_TRACE))) { struct dp_trace_record_meta meta = { .measurement_type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = ""}; - dp_trace_record_emit_str(sc_main_get()->trace, m, rte_lcore_id(), &meta, "packet free."); + dp_trace_record_emit_str(sc_main_get()->trace, m, rte_lcore_id(), &meta, "packet dropped"); } dp_trace_record_write(trace, m, rte_lcore_id()); rte_pktmbuf_free(m); @@ -221,13 +221,13 @@ void hook_rte_pktmbuf_free_bulk(struct rte_mbuf ** mbufs, unsigned int count) { struct dp_trace_record_meta meta = { .measurement_type = DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, .appsym = MR_TRACE_APPSYM, .module = ""}; - dp_trace_record_emit_str(sc_main_get()->trace, mbufs[idx], rte_lcore_id(), &meta, "packet free."); + dp_trace_record_emit_str(sc_main_get()->trace, mbufs[idx], rte_lcore_id(), &meta, "packet dropped"); } if (unlikely(dp_trace_record_can_emit(mbufs[idx], DP_TRACE_MEASUREMENT_TYPE_TRACE))) { struct dp_trace_record_meta meta = { .measurement_type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = ""}; - dp_trace_record_emit_str(sc_main_get()->trace, mbufs[idx], rte_lcore_id(), &meta, "packet free."); + dp_trace_record_emit_str(sc_main_get()->trace, mbufs[idx], rte_lcore_id(), &meta, "packet dropped"); } dp_trace_record_write(trace, mbufs[idx], rte_lcore_id()); } diff --git a/service/src/node_bridge.c b/service/src/node_bridge.c index 058270a..f4a2b4f 100644 --- a/service/src/node_bridge.c +++ b/service/src/node_bridge.c @@ -110,6 +110,8 @@ int parser_bridge_conf(struct sc_main * sc, struct node_bridge_main * bridge_mai rte_ether_addr_copy(&dev_desc->eth_addr, &bridge->ether_addr[i]); } + nr_bridge++; + /* Parser master devices */ char str_master_dev[MR_STRING_MAX] = {}; if (MESA_load_profile_string_nodef(sc->local_cfgfile, str_section, "master_device", str_master_dev, @@ -125,7 +127,6 @@ int parser_bridge_conf(struct sc_main * sc, struct node_bridge_main * bridge_mai } bridge->master_port = dev_desc->port_id; - nr_bridge++; } bridge_main->nr_bridge = nr_bridge; @@ -244,6 +245,7 @@ static __rte_always_inline void gen_store_trace_info_original(struct rte_node * } /* Generate and store the trace information for clone pkt */ +#if 0 static __rte_always_inline void gen_store_trace_info_copy(struct rte_node * node, struct rte_mbuf * mbuf, uint16_t next_node_index, uint8_t measurement_type) { @@ -251,14 +253,14 @@ static __rte_always_inline void gen_store_trace_info_copy(struct rte_node * node /* Populate the next node infomation */ char str_record[MR_STRING_MAX]; struct mrb_metadata * mrb_meta = mrbuf_cz_data(mbuf, MR_NODE_CTRLZONE_ID); - snprintf(str_record, sizeof(str_record), "created by copy. next node:%s, rsn:broadcast cloned packet, tx:%u", - node->nodes[next_node_index]->name, mrb_meta->port_egress); + snprintf(str_record, sizeof(str_record), "cloned packet, rsn: broadcast"); /* Emit the trace record */ struct dp_trace_record_meta meta = { .measurement_type = measurement_type, .appsym = MR_TRACE_APPSYM, .module = node->name}; dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record); } +#endif static __rte_always_inline uint16_t bridge_node_process(struct rte_graph * graph, struct rte_node * node, void ** objs, uint16_t cnt) @@ -363,6 +365,7 @@ static __rte_always_inline uint16_t bridge_node_process(struct rte_graph * graph memset(mbuf_copy_mrb_meta, 0, sizeof(struct mrb_metadata)); mbuf_copy_mrb_meta->port_egress = egress_port; +#if 0 /* Mark packets for trace*/ dp_trace_filter_exec(sc_main_get()->trace, mbuf_copy, 0, rte_lcore_id()); @@ -376,6 +379,7 @@ static __rte_always_inline uint16_t bridge_node_process(struct rte_graph * graph { gen_store_trace_info_copy(node, mbuf_copy, BRIDGE_NEXT_ETH_EGRESS, DP_TRACE_MEASUREMENT_TYPE_TRACE); } +#endif /* Send clone pkt */ rte_node_enqueue(graph, node, BRIDGE_NEXT_ETH_EGRESS, (void **)&mbuf_copy, 1); |
