summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortongzongzhen <[email protected]>2024-05-20 21:55:11 +0800
committertongzongzhen <[email protected]>2024-05-20 21:55:11 +0800
commit0d25f62d98aad377cd7c5becb3b38f319419f88b (patch)
tree144cf0d8738ff86a0db9335ac16ed311c432cc80
parentf7657b3f6561bbac7973e3f86c11d3f322f9c051 (diff)
mod measurement and fix arp errorv4.8.11-20240520
-rw-r--r--app/src/rawio.c18
-rw-r--r--service/include/sc_trace.h2
-rw-r--r--service/src/dp_trace.c8
-rw-r--r--service/src/node_bridge.c10
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);