summaryrefslogtreecommitdiff
path: root/service
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 /service
parentf7657b3f6561bbac7973e3f86c11d3f322f9c051 (diff)
mod measurement and fix arp errorv4.8.11-20240520
Diffstat (limited to 'service')
-rw-r--r--service/include/sc_trace.h2
-rw-r--r--service/src/dp_trace.c8
-rw-r--r--service/src/node_bridge.c10
3 files changed, 12 insertions, 8 deletions
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);