summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/mrb.c6
-rw-r--r--include/internal/mrb_define.h9
-rw-r--r--service/include/sc_pdump.h2
-rw-r--r--service/src/monit.c6
-rw-r--r--service/src/node_etherfabric.c206
-rw-r--r--tools/tcpdump/pdump.c2
6 files changed, 115 insertions, 116 deletions
diff --git a/app/src/mrb.c b/app/src/mrb.c
index eee0787..d2443a8 100644
--- a/app/src/mrb.c
+++ b/app/src/mrb.c
@@ -676,7 +676,7 @@ struct mrb_metadata_route_ctx
uint8_t link_id;
uint16_t port_ingress;
uint16_t port_egress;
- uint16_t link_db_index;
+ uint16_t peer_index;
uint32_t hash_usr;
};
@@ -699,7 +699,7 @@ int marsio_buff_get_metadata(marsio_buff_t * m, enum mr_buff_metadata_type type,
route_ctx->dir = mrb_metadata->dir;
route_ctx->port_ingress = mrb_metadata->port_ingress;
route_ctx->port_egress = mrb_metadata->port_egress;
- route_ctx->link_db_index = mrb_metadata->link_db_index;
+ route_ctx->peer_index = mrb_metadata->peer_index;
route_ctx->link_id = mrb_metadata->link_id;
route_ctx->hash_usr = mbuf->hash.usr;
}
@@ -769,7 +769,7 @@ int marsio_buff_set_metadata(marsio_buff_t * m, enum mr_buff_metadata_type type,
mrb_metadata->dir = route_ctx->dir;
mrb_metadata->port_ingress = route_ctx->port_ingress;
mrb_metadata->port_egress = route_ctx->port_egress;
- mrb_metadata->link_db_index = route_ctx->link_db_index;
+ mrb_metadata->peer_index = route_ctx->peer_index;
mrb_metadata->link_id = route_ctx->link_id;
mbuf->hash.usr = route_ctx->hash_usr;
return 0;
diff --git a/include/internal/mrb_define.h b/include/internal/mrb_define.h
index af6a1c4..e9013f5 100644
--- a/include/internal/mrb_define.h
+++ b/include/internal/mrb_define.h
@@ -43,8 +43,8 @@ struct mrb_metadata
uint16_t port_ingress;
uint16_t port_egress;
- /* for EF service */
- uint16_t link_db_index;
+ /* for EF adapter */
+ uint16_t peer_index;
/* pkt_parser result */
struct pkt_parser_result pkt_parser_result;
@@ -69,8 +69,7 @@ struct mrb_zone_info
#define mrbuf_priv(m) ((struct mrb_priv_zone *)((char *)m + sizeof(struct rte_mbuf)))
#define mrbuf_cz(m, k) (&(mrbuf_priv(m)->idx[k]))
-//#define mrbuf_cz_data(m, k) ((void *)((char *)mrbuf_priv(m) + mrbuf_cz(m, k)->offset))
-
+// #define mrbuf_cz_data(m, k) ((void *)((char *)mrbuf_priv(m) + mrbuf_cz(m, k)->offset))
#define mrbuf_cz_data(m, k) ((void *)((char *)mrbuf_priv(m)))
-#define mrbuf_cz_num(m) (mrbuf_priv(m)->cz_num) \ No newline at end of file
+#define mrbuf_cz_num(m) (mrbuf_priv(m)->cz_num)
diff --git a/service/include/sc_pdump.h b/service/include/sc_pdump.h
index 19dd2cf..19f6389 100644
--- a/service/include/sc_pdump.h
+++ b/service/include/sc_pdump.h
@@ -19,7 +19,7 @@
#define METADATA_INFO \
" dir:%u, nf_create:%u, link_id:%u, is_ctrlbuf:%u, payload_offset:%u, session_id:%lu, start_sid:%u, nr_sid:%u, " \
"cur_sid:%u, sids:[%u],[%u],[%u],[%u],[%u],[%u],[%u],[%u], port_id_ingress:%u, port_id_egress:%u, " \
- "link_db_index:%u "
+ "peer_index:%u "
enum
{
diff --git a/service/src/monit.c b/service/src/monit.c
index 030fd44..54f6d19 100644
--- a/service/src/monit.c
+++ b/service/src/monit.c
@@ -299,7 +299,7 @@ extern cJSON * health_check_ask_node_monit_loop(struct sc_main * sc);
extern cJSON * health_check_deal_answer_node_monit_loop(struct sc_main * sc);
extern cJSON * health_check_session_monit_loop(struct sc_main * sc);
extern cJSON * forwarder_table_monit_loop(struct sc_main * sc);
-extern cJSON * link_db_monit_loop(struct sc_main * sc);
+extern cJSON * peer_monit_loop(struct sc_main * sc);
static cJSON * monit_root(struct sc_main * sc)
{
@@ -329,7 +329,7 @@ static cJSON * monit_root(struct sc_main * sc)
cJSON_AddItemToObject(j_root, "health-check-dealanswer", health_check_deal_answer_node_monit_loop(sc));
cJSON_AddItemToObject(j_root, "health-session-state", health_check_session_monit_loop(sc));
cJSON_AddItemToObject(j_root, "forwarder-table", forwarder_table_monit_loop(sc));
- cJSON_AddItemToObject(j_root, "link-db-table", link_db_monit_loop(sc));
+ cJSON_AddItemToObject(j_root, "peer-table", peer_monit_loop(sc));
return j_root;
}
@@ -353,4 +353,4 @@ int sc_monit_loop(struct sc_main * sc)
cJSON_Delete(j_root);
return 0;
-} \ No newline at end of file
+}
diff --git a/service/src/node_etherfabric.c b/service/src/node_etherfabric.c
index 023fdb6..08130fa 100644
--- a/service/src/node_etherfabric.c
+++ b/service/src/node_etherfabric.c
@@ -16,7 +16,7 @@
#define MR_ETHERFABRIC_INVALID_CONF_ARG 0
#define MR_ETHERFABRIC_LISTEN_PORT htons(4789)
-#define MR_LINK_DB_HASH_ENTRIES 1024
+#define MR_PEER_HASH_ENTRIES 1024
#define MR_ETHERFABRIC_INGRESS_STAT_ADD(st, graph_id, counter, value) \
do \
@@ -60,8 +60,8 @@ struct etherfabric_adapter
struct mr_dev_desc * listen_device;
};
-/* Link db key */
-union link_db_key {
+/* Peer key */
+union peer_key {
struct
{
uint32_t ip_src;
@@ -70,8 +70,8 @@ union link_db_key {
xmm_t xmm;
};
-/* Link db struct */
-struct link_db
+/* Peer struct */
+struct peer
{
uint32_t etherfabric_ip_v4;
rte_atomic64_t state;
@@ -85,9 +85,9 @@ struct etherfabric_mgr
uint32_t nr_sid;
uint32_t sid_range_start;
uint32_t sid_range_end;
- struct rte_hash * link_db_hash;
+ struct rte_hash * peer_hash;
struct etherfabric_adapter * etherfabric_adapter_array;
- struct link_db link_db_array[MR_LINK_DB_HASH_ENTRIES];
+ struct peer peer_array[MR_PEER_HASH_ENTRIES];
};
/* Etherfabric ingress stat struct */
@@ -97,7 +97,7 @@ struct etherfabric_ingress_stat
volatile uint64_t drop_for_unexpected;
volatile uint64_t drop_for_adapter_not_exist;
volatile uint64_t drop_for_append_sid_err;
- volatile uint64_t link_db_add_err_pkts;
+ volatile uint64_t drop_for_peer_add_err;
volatile uint64_t to_classifier;
} __rte_cache_aligned;
@@ -112,7 +112,7 @@ struct etherfabric_egress_stat
/* Etherfabric main struct */
struct node_etherfabric_main
{
- struct etherfabric_mgr etherfabric_manage;
+ struct etherfabric_mgr etherfabric_mgr;
struct etherfabric_ingress_stat ingress_stat_per_graph[RTE_MAX_LCORE];
struct etherfabric_egress_stat egress_stat_per_graph[RTE_MAX_LCORE];
};
@@ -131,14 +131,14 @@ unsigned int ef_get_max_rule_num()
int ef_adapter_id_check(uint32_t ef_adapter_id)
{
/* Etherfabric rule id is continuous */
- if (ef_adapter_id >= g_etherfabric_main->etherfabric_manage.nr_adapters)
+ if (ef_adapter_id >= g_etherfabric_main->etherfabric_mgr.nr_adapters)
return RT_ERR;
return RT_SUCCESS;
}
/* Parsing the etherfabric adapter config */
-int parser_etherfabric_adapter_conf(struct sc_main * sc, struct etherfabric_mgr * etherfabric_manage)
+int parser_etherfabric_adapter_conf(struct sc_main * sc, struct etherfabric_mgr * etherfabric_mgr)
{
int ret = 0;
uint16_t nr_adapters = 0;
@@ -211,7 +211,7 @@ int parser_etherfabric_adapter_conf(struct sc_main * sc, struct etherfabric_mgr
/* Save The Listen Device Port Index */
struct etherfabric_adapter * _etherfabric_adapter_item =
- &etherfabric_manage->etherfabric_adapter_array[nr_adapters];
+ &etherfabric_mgr->etherfabric_adapter_array[nr_adapters];
_etherfabric_adapter_item->mode = MODE_VIRTUAL_WIRE;
_etherfabric_adapter_item->listen_device = dev_desc;
nr_adapters++;
@@ -229,18 +229,18 @@ int parser_etherfabric_adapter_conf(struct sc_main * sc, struct etherfabric_mgr
forwarder_table_inserter(sid, FORWARDER_TYPE_ETHERFABRIC);
/* Save the etherfabric adapter conf num */
- etherfabric_manage->nr_adapters = nr_adapters;
- etherfabric_manage->nr_sid = nr_sid;
- etherfabric_manage->sid_range_start = sid_range_start;
- etherfabric_manage->sid_range_end = sid_range_end;
+ etherfabric_mgr->nr_adapters = nr_adapters;
+ etherfabric_mgr->nr_sid = nr_sid;
+ etherfabric_mgr->sid_range_start = sid_range_start;
+ etherfabric_mgr->sid_range_end = sid_range_end;
return RT_SUCCESS;
}
-/* link db hash crc */
-static inline uint32_t link_db_hash_crc(const void * data, __rte_unused uint32_t data_len, uint32_t init_val)
+/* Peer hash crc */
+static inline uint32_t peer_hash_crc(const void * data, __rte_unused uint32_t data_len, uint32_t init_val)
{
/* use the etherfabric's ip addressd as key */
- const union link_db_key * key = data;
+ const union peer_key * key = data;
return key->ip_src;
const uint32_t * mac_0 = (const uint32_t *)&key->mac_src.addr_bytes[0];
@@ -254,45 +254,45 @@ static inline uint32_t link_db_hash_crc(const void * data, __rte_unused uint32_t
}
/* Initialize exact match (hash) parameters */
-int link_db_setup_hash(struct etherfabric_mgr * etherfabric_manage)
+int peer_setup_hash(struct etherfabric_mgr * etherfabric_mgr)
{
- struct rte_hash_parameters link_db_hash_params = {
- .name = "link_db_hash",
- .entries = MR_LINK_DB_HASH_ENTRIES,
- .key_len = sizeof(union link_db_key),
- .hash_func = link_db_hash_crc,
+ struct rte_hash_parameters peer_hash_params = {
+ .name = "peer_hash",
+ .entries = MR_PEER_HASH_ENTRIES,
+ .key_len = sizeof(union peer_key),
+ .hash_func = peer_hash_crc,
.hash_func_init_val = 0,
.socket_id = 0,
.extra_flag = RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT | RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT |
RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF,
};
- etherfabric_manage->link_db_hash = rte_hash_create(&link_db_hash_params);
- if (etherfabric_manage->link_db_hash != NULL)
+ etherfabric_mgr->peer_hash = rte_hash_create(&peer_hash_params);
+ if (etherfabric_mgr->peer_hash != NULL)
{
return RT_SUCCESS;
}
- MR_ERROR("Unable to create the link db hash on socket 0 .");
+ MR_ERROR("Unable to create the peer hash on socket 0 .");
return RT_ERR;
}
/* Dump Eeherfabric adapter config */
-void dump_etherfabric_adapter_config(struct etherfabric_mgr * etherfabric_manage)
+void dump_etherfabric_adapter_config(struct etherfabric_mgr * etherfabric_mgr)
{
- if (etherfabric_manage->nr_adapters == 0)
+ if (etherfabric_mgr->nr_adapters == 0)
return;
MR_INFO(" ");
MR_INFO("Etherfabric adapters config:");
- MR_INFO(" Total num : %u", etherfabric_manage->nr_adapters);
- MR_INFO(" Sid num : %u", etherfabric_manage->nr_sid);
- MR_INFO(" Sid range start : %u", etherfabric_manage->sid_range_start);
- MR_INFO(" Sid range end : %u", etherfabric_manage->sid_range_end);
+ MR_INFO(" Total num : %u", etherfabric_mgr->nr_adapters);
+ MR_INFO(" Sid num : %u", etherfabric_mgr->nr_sid);
+ MR_INFO(" Sid range start : %u", etherfabric_mgr->sid_range_start);
+ MR_INFO(" Sid range end : %u", etherfabric_mgr->sid_range_end);
- for (int i = 0; i < etherfabric_manage->nr_adapters; i++)
+ for (int i = 0; i < etherfabric_mgr->nr_adapters; i++)
{
- struct etherfabric_adapter * etherfabric_adapter_item = &etherfabric_manage->etherfabric_adapter_array[i];
+ struct etherfabric_adapter * etherfabric_adapter_item = &etherfabric_mgr->etherfabric_adapter_array[i];
MR_INFO(" Id : %d", i);
switch (etherfabric_adapter_item->mode)
@@ -319,27 +319,27 @@ int etherfabric_init(struct sc_main * sc)
struct node_etherfabric_main * _etherfabric_main = ZMALLOC(sizeof(struct node_etherfabric_main));
MR_VERIFY_MALLOC(_etherfabric_main);
- struct etherfabric_mgr * etherfabric_manage = &_etherfabric_main->etherfabric_manage;
- etherfabric_manage->etherfabric_adapter_array = ZMALLOC(sizeof(struct etherfabric_adapter) * g_ef_max_entry);
- MR_VERIFY_MALLOC(etherfabric_manage->etherfabric_adapter_array);
+ struct etherfabric_mgr * etherfabric_mgr = &_etherfabric_main->etherfabric_mgr;
+ etherfabric_mgr->etherfabric_adapter_array = ZMALLOC(sizeof(struct etherfabric_adapter) * g_ef_max_entry);
+ MR_VERIFY_MALLOC(etherfabric_mgr->etherfabric_adapter_array);
sc->etherfabric_node_main = _etherfabric_main;
g_etherfabric_main = _etherfabric_main;
/* Parsing the etherfabric adapter config */
- if (parser_etherfabric_adapter_conf(sc, etherfabric_manage) != RT_SUCCESS)
+ if (parser_etherfabric_adapter_conf(sc, etherfabric_mgr) != RT_SUCCESS)
return RT_ERR;
/* Dump the etherfabric adapter config */
- dump_etherfabric_adapter_config(etherfabric_manage);
+ dump_etherfabric_adapter_config(etherfabric_mgr);
- /* Setup link db hash */
- if (link_db_setup_hash(etherfabric_manage) != RT_SUCCESS)
+ /* Setup peer hash */
+ if (peer_setup_hash(etherfabric_mgr) != RT_SUCCESS)
return RT_ERR;
/* Init state */
- for (int index = 0; index < MR_LINK_DB_HASH_ENTRIES; index++)
- rte_atomic64_init(&etherfabric_manage->link_db_array[index].state);
+ for (int index = 0; index < MR_PEER_HASH_ENTRIES; index++)
+ rte_atomic64_init(&etherfabric_mgr->peer_array[index].state);
return RT_SUCCESS;
}
@@ -360,41 +360,41 @@ int etherfabric_adapter_lookup(struct etherfabric_mgr * mgr, uint32_t dst_addr,
return RT_ERR;
}
-/* Match link db */
-int match_link_db(struct etherfabric_mgr * etherfabric_manage, struct rte_ether_hdr * ether_hdr,
- struct rte_ipv4_hdr * ipv4_hdr, struct g_vxlan_hdr * g_vxlan_hdr)
+/* Peer lookup and add */
+int peer_lookup_and_add(struct rte_hash * peer_hash, struct peer * peer_array, struct rte_ether_addr * src_addr,
+ uint32_t ip_src)
{
- union link_db_key key = {};
+ union peer_key key = {};
- key.ip_src = ipv4_hdr->src_addr;
- rte_ether_addr_copy(&ether_hdr->src_addr, &key.mac_src);
+ key.ip_src = ip_src;
+ rte_ether_addr_copy(src_addr, &key.mac_src);
/* Look up the hash table */
- int ret = rte_hash_lookup(etherfabric_manage->link_db_hash, (const void *)&key);
+ int ret = rte_hash_lookup(peer_hash, (const void *)&key);
if (ret >= 0)
return ret;
- /* Add the new link db */
- ret = rte_hash_add_key(etherfabric_manage->link_db_hash, (void *)&key);
+ /* Add the new peer */
+ ret = rte_hash_add_key(peer_hash, (void *)&key);
if (ret < 0)
return RT_ERR;
- /* Set the link db state */
- struct link_db * _link_db_item = &etherfabric_manage->link_db_array[ret];
- if (rte_atomic64_test_and_set(&_link_db_item->state))
+ /* Set the peer state */
+ struct peer * peer_item = &peer_array[ret];
+ if (rte_atomic64_test_and_set(&peer_item->state))
{
- /* Save the link db info */
- _link_db_item->etherfabric_ip_v4 = key.ip_src;
- rte_ether_addr_copy(&key.mac_src, &_link_db_item->etherfabric_mac_addr);
+ /* Save the peer info */
+ peer_item->etherfabric_ip_v4 = key.ip_src;
+ rte_ether_addr_copy(&key.mac_src, &peer_item->etherfabric_mac_addr);
- /* Dump link db for new add */
+ /* Dump peer for new add */
char str_in_addr[INET_ADDRSTRLEN];
- inet_ntop(AF_INET, &_link_db_item->etherfabric_ip_v4, str_in_addr, sizeof(str_in_addr));
+ inet_ntop(AF_INET, &peer_item->etherfabric_ip_v4, str_in_addr, sizeof(str_in_addr));
char str_mac_addr[RTE_ETHER_ADDR_FMT_SIZE];
- rte_ether_format_addr(str_mac_addr, sizeof(str_mac_addr), &_link_db_item->etherfabric_mac_addr);
+ rte_ether_format_addr(str_mac_addr, sizeof(str_mac_addr), &peer_item->etherfabric_mac_addr);
- MR_INFO("Link db add, ip addr:%s, mac addr:%s", str_in_addr, str_mac_addr);
+ MR_INFO("Peer add, ip addr:%s, mac addr:%s", str_in_addr, str_mac_addr);
}
return ret;
@@ -427,7 +427,7 @@ static __rte_always_inline uint16_t etherfabric_ingress_node_process(struct rte_
struct rte_mbuf * mbuf = NULL;
struct rte_mbuf ** pkts = (struct rte_mbuf **)objs;
struct node_etherfabric_main * etherfabric_main = g_etherfabric_main;
- struct etherfabric_mgr * etherfabric_manage = &g_etherfabric_main->etherfabric_manage;
+ struct etherfabric_mgr * etherfabric_mgr = &g_etherfabric_main->etherfabric_mgr;
struct etherfabric_ingress_stat stat = {};
/* Single packet processing */
@@ -473,9 +473,9 @@ static __rte_always_inline uint16_t etherfabric_ingress_node_process(struct rte_
assert(outer_udp_hdr != NULL);
assert(outer_g_vxlan_hdr != NULL);
- /* Match etherfabric adapter conf */
+ /* Etherfabric adapter lookup */
uint16_t adapter_id = 0;
- int ret = etherfabric_adapter_lookup(etherfabric_manage, outer_ipv4_hdr->dst_addr, &adapter_id);
+ int ret = etherfabric_adapter_lookup(etherfabric_mgr, outer_ipv4_hdr->dst_addr, &adapter_id);
if (unlikely(ret == RT_ERR))
{
stat.drop_for_adapter_not_exist++;
@@ -483,19 +483,18 @@ static __rte_always_inline uint16_t etherfabric_ingress_node_process(struct rte_
goto node_enqueue;
}
-#if 0
- /* Match link db */
- int link_db_index = match_link_db(etherfabric_manage, outer_ether_hdr, outer_ipv4_hdr, outer_g_vxlan_hdr);
- if (unlikely(link_db_index == RT_ERR))
+ /* Peer lookup and add */
+ int peer_index = peer_lookup_and_add(etherfabric_mgr->peer_hash, etherfabric_mgr->peer_array,
+ &outer_ether_hdr->src_addr, outer_ipv4_hdr->src_addr);
+ if (unlikely(peer_index == RT_ERR))
{
- MR_ETHERFABRIC_INGRESS_STAT_ADD(etherfabric_main, graph_id, link_db_add_err_pkts, 1);
+ stat.drop_for_peer_add_err++;
next_node_index = ETHERFABRIC_INGRESS_NEXT_PKT_DROP;
goto node_enqueue;
}
-#endif
/* Insert sid*/
- uint16_t sids[1] = {etherfabric_manage->sid_range_start + adapter_id};
+ uint16_t sids[1] = {etherfabric_mgr->sid_range_start + adapter_id};
if (unlikely(insert_sid(private_ctrlzone, 1, sids) == RT_ERR))
{
stat.drop_for_append_sid_err++;
@@ -503,12 +502,12 @@ static __rte_always_inline uint16_t etherfabric_ingress_node_process(struct rte_
goto node_enqueue;
}
- /* Fill link db index and dir */
+ /* Fill peer index and dir */
private_ctrlzone->service_type = SERVICE_TYPE_EF;
private_ctrlzone->service_id = adapter_id;
private_ctrlzone->link_id = outer_g_vxlan_hdr->link_id;
private_ctrlzone->dir = outer_g_vxlan_hdr->dir;
- private_ctrlzone->link_db_index = (uint16_t)0;
+ private_ctrlzone->peer_index = (uint16_t)peer_index;
/* swap the outer mac and ip addr */
vxlan_encap_forwarded_pkt(mbuf);
@@ -551,6 +550,7 @@ static __rte_always_inline uint16_t etherfabric_ingress_node_process(struct rte_
graph_stat->drop_for_unexpected += stat.drop_for_unexpected;
graph_stat->drop_for_adapter_not_exist += stat.drop_for_adapter_not_exist;
graph_stat->drop_for_append_sid_err += stat.drop_for_append_sid_err;
+ graph_stat->drop_for_peer_add_err += stat.drop_for_peer_add_err;
graph_stat->to_classifier += stat.to_classifier;
return cnt;
@@ -577,7 +577,7 @@ const static int etherfabric_encap_len = sizeof(struct rte_ether_hdr) + sizeof(s
/* Fill Ether IPv4 Udp Vxlan hdr for the constructed packet */
static inline int vxlan_encap_constructed_pkt(struct sc_main * sc, struct rte_mbuf * mbuf,
- struct mrb_metadata * private_ctrlzone, struct link_db * _link_db_item,
+ struct mrb_metadata * private_ctrlzone, struct peer * peer_item,
struct mr_dev_desc * dev_desc)
{
/* construct the packet by the order of inner to outer */
@@ -620,7 +620,7 @@ static inline int vxlan_encap_constructed_pkt(struct sc_main * sc, struct rte_mb
p_ipv4_hdr->time_to_live = 0x40;
p_ipv4_hdr->next_proto_id = IPPROTO_UDP;
p_ipv4_hdr->src_addr = dev_desc->in_addr.s_addr;
- p_ipv4_hdr->dst_addr = _link_db_item->etherfabric_ip_v4;
+ p_ipv4_hdr->dst_addr = peer_item->etherfabric_ip_v4;
p_ipv4_hdr->total_length = htons(rte_pktmbuf_pkt_len(mbuf));
p_ipv4_hdr->hdr_checksum = 0;
@@ -630,7 +630,7 @@ static inline int vxlan_encap_constructed_pkt(struct sc_main * sc, struct rte_mb
struct rte_ether_hdr * eth_hdr = (struct rte_ether_hdr *)rte_pktmbuf_prepend(mbuf, sizeof(struct rte_ether_hdr));
eth_hdr->ether_type = htons(RTE_ETHER_TYPE_IPV4);
- rte_ether_addr_copy(&_link_db_item->etherfabric_mac_addr, &eth_hdr->dst_addr);
+ rte_ether_addr_copy(&peer_item->etherfabric_mac_addr, &eth_hdr->dst_addr);
rte_ether_addr_copy(&dev_desc->eth_addr, &eth_hdr->src_addr);
return RT_SUCCESS;
@@ -647,10 +647,10 @@ static __rte_always_inline uint16_t etherfabric_egress_node_process(struct rte_g
struct rte_mbuf * mbuf;
struct rte_mbuf ** pkts = (struct rte_mbuf **)objs;
struct sc_main * sc = sc_main_get();
- struct etherfabric_mgr * _etherfabric_manage = &g_etherfabric_main->etherfabric_manage;
- struct link_db * _link_db_array = _etherfabric_manage->link_db_array;
- struct etherfabric_adapter * _etherfabric_adapter_array = _etherfabric_manage->etherfabric_adapter_array;
- uint32_t sid_range_start = _etherfabric_manage->sid_range_start;
+ struct etherfabric_mgr * etherfabric_mgr = &g_etherfabric_main->etherfabric_mgr;
+ struct peer * peer_array = etherfabric_mgr->peer_array;
+ struct etherfabric_adapter * _etherfabric_adapter_array = etherfabric_mgr->etherfabric_adapter_array;
+ uint32_t sid_range_start = etherfabric_mgr->sid_range_start;
unsigned int counter_forwarded_packet = 0;
unsigned int counter_created_packet = 0;
@@ -671,7 +671,7 @@ static __rte_always_inline uint16_t etherfabric_egress_node_process(struct rte_g
rte_prefetch0_write(mrbuf_cz_data(pkts[index + 1], MR_NODE_CTRLZONE_ID));
}
- struct link_db * _link_db_item = &_link_db_array[mrb_meta->link_db_index];
+ struct peer * peer_item = &peer_array[mrb_meta->peer_index];
/* Get etherfabric adapter item */
uint16_t etherfabric_adapter_index = mrb_meta->cur_sid - sid_range_start;
@@ -683,10 +683,10 @@ static __rte_always_inline uint16_t etherfabric_egress_node_process(struct rte_g
/* Fill Ether IPv4 Udp Vxlan hdr for the pkt */
if (unlikely(mrb_meta->packet_create_from_nf))
{
- assert(mrb_meta->link_db_index < MR_LINK_DB_HASH_ENTRIES);
- assert(etherfabric_adapter_index < _etherfabric_manage->nr_adapters);
+ assert(mrb_meta->peer_index < MR_PEER_HASH_ENTRIES);
+ assert(etherfabric_adapter_index < etherfabric_mgr->nr_adapters);
- vxlan_encap_constructed_pkt(sc, mbuf, mrb_meta, _link_db_item, _listen_device);
+ vxlan_encap_constructed_pkt(sc, mbuf, mrb_meta, peer_item, _listen_device);
counter_created_packet++;
}
else
@@ -776,35 +776,35 @@ cJSON * etherfabric_egress_node_monit_loop(struct sc_main * sc)
return json_root;
}
-cJSON * link_db_monit_loop(struct sc_main * sc)
+cJSON * peer_monit_loop(struct sc_main * sc)
{
- int nr_link_db = 0;
- struct etherfabric_mgr * etherfabric_manage = &sc->etherfabric_node_main->etherfabric_manage;
+ int nr_peer = 0;
+ struct etherfabric_mgr * etherfabric_mgr = &sc->etherfabric_node_main->etherfabric_mgr;
cJSON * json_root = cJSON_CreateObject();
- for (int i = 0; i < MR_LINK_DB_HASH_ENTRIES; i++)
+ for (int i = 0; i < MR_PEER_HASH_ENTRIES; i++)
{
- struct link_db * _link_db_item = &etherfabric_manage->link_db_array[i];
+ struct peer * peer_item = &etherfabric_mgr->peer_array[i];
- if (rte_atomic64_read(&_link_db_item->state) == 0)
+ if (rte_atomic64_read(&peer_item->state) == 0)
continue;
char str_in_addr[INET_ADDRSTRLEN];
- inet_ntop(AF_INET, &_link_db_item->etherfabric_ip_v4, str_in_addr, sizeof(str_in_addr));
+ inet_ntop(AF_INET, &peer_item->etherfabric_ip_v4, str_in_addr, sizeof(str_in_addr));
char str_mac_addr[RTE_ETHER_ADDR_FMT_SIZE];
- rte_ether_format_addr(str_mac_addr, sizeof(str_mac_addr), &_link_db_item->etherfabric_mac_addr);
+ rte_ether_format_addr(str_mac_addr, sizeof(str_mac_addr), &peer_item->etherfabric_mac_addr);
- cJSON * link_db_obj = cJSON_CreateObject();
- cJSON_AddStringToObject(link_db_obj, "ip addr", str_in_addr);
- cJSON_AddStringToObject(link_db_obj, "mac addr", str_mac_addr);
+ cJSON * peer_obj = cJSON_CreateObject();
+ cJSON_AddStringToObject(peer_obj, "ip addr", str_in_addr);
+ cJSON_AddStringToObject(peer_obj, "mac addr", str_mac_addr);
- char link_db_index[MR_STRING_MAX];
- snprintf(link_db_index, sizeof(link_db_index), "link_db:%u", i);
- cJSON_AddItemToObject(json_root, link_db_index, link_db_obj);
- nr_link_db++;
+ char peer_index[MR_STRING_MAX];
+ snprintf(peer_index, sizeof(peer_index), "peer:%u", i);
+ cJSON_AddItemToObject(json_root, peer_index, peer_obj);
+ nr_peer++;
}
- cJSON_AddNumberToObject(json_root, "total_num", nr_link_db);
+ cJSON_AddNumberToObject(json_root, "total_num", nr_peer);
return json_root;
}
diff --git a/tools/tcpdump/pdump.c b/tools/tcpdump/pdump.c
index d817262..472a853 100644
--- a/tools/tcpdump/pdump.c
+++ b/tools/tcpdump/pdump.c
@@ -570,7 +570,7 @@ int mr_pcapng_set_opt(struct rte_mbuf * mbuf, uint16_t port_id, uint32_t flags)
len = snprintf(str_dir, METADATA_MAX_SIZE, "dir:%u", mrb_metadata->dir);
len += snprintf(str_dir + len, METADATA_MAX_SIZE - len, ", ef_link_id:%u", mrb_metadata->link_id);
- len += snprintf(str_dir + len, METADATA_MAX_SIZE - len, ", ef_peer_id:%u", mrb_metadata->link_db_index);
+ len += snprintf(str_dir + len, METADATA_MAX_SIZE - len, ", ef_peer_id:%u", mrb_metadata->peer_index);
uint16_t optlen = pcapng_optlen(strlen(str_rx_tx));
optlen += pcapng_optlen(strlen(str_sid));