summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/src/node_lb.c45
-rw-r--r--service/src/node_vwire.c58
-rw-r--r--test/bfd_test.py14
-rw-r--r--test/bridge_test.py14
-rw-r--r--test/classifier_test.py28
-rw-r--r--test/etherfabric_test.py44
-rw-r--r--test/health_check_test.py14
-rw-r--r--test/load_balance_test.py14
-rw-r--r--test/msgpack_test.py42
-rw-r--r--test/vwire_test.py14
10 files changed, 134 insertions, 153 deletions
diff --git a/service/src/node_lb.c b/service/src/node_lb.c
index 0145dbc..3fffa32 100644
--- a/service/src/node_lb.c
+++ b/service/src/node_lb.c
@@ -126,8 +126,8 @@ struct lb_management
{
uint16_t nr_group;
uint32_t nr_sid;
- uint32_t sid_range_start;
- uint32_t sid_range_end;
+ uint32_t sid_start;
+ uint32_t sid_end;
struct lb_group lb_groups[MR_LB_MAX_GROUP];
};
@@ -238,34 +238,23 @@ struct lb_management * create_lb_management(void)
/* Parser the Local lb config */
int parser_local_lb_conf(struct sc_main * sc, struct lb_management * lb_manage)
{
- int ret = 0;
- uint32_t sid_range_start = 0, sid_range_end = 0, nr_sid = 0;
- uint32_t nr_group = 0;
-
/* Get sid range start */
- ret = MESA_load_profile_uint_nodef(sc->local_cfgfile, "service_lb", "sid_range_start", &sid_range_start);
- if (ret < 0)
- {
- MR_ERROR("Service Lb No config 'sid_range_start' .");
- return RT_ERR;
- }
+ uint32_t sid_start;
+ MESA_load_profile_uint_def(sc->local_cfgfile, "service_lb", "sid_start", &sid_start, 1000);
/* Get sid range end */
- ret = MESA_load_profile_uint_nodef(sc->local_cfgfile, "service_lb", "sid_range_end", &sid_range_end);
- if (ret < 0)
- {
- MR_ERROR("Service Lb No config 'sid_range_end' .");
- return RT_ERR;
- }
+ uint32_t sid_end;
+ MESA_load_profile_uint_def(sc->local_cfgfile, "service_lb", "sid_end", &sid_end, 2000);
- if (sid_range_start > sid_range_end)
+ /* Check sid range */
+ if (sid_start > sid_end)
{
- MR_ERROR("Service Lb 'sid_range_end' less than 'sid_range_start' .");
+ MR_ERROR("Service Lb 'sid_end' less than 'sid_start' .");
return RT_ERR;
}
/* Get sid total number */
- nr_sid = sid_range_end - sid_range_start + 1;
+ uint32_t nr_sid = sid_end - sid_start + 1;
if (nr_sid > MR_LB_MAX_GROUP)
{
MR_ERROR("Service Lb 'sid_range' out of %u .", MR_LB_MAX_GROUP);
@@ -273,6 +262,8 @@ int parser_local_lb_conf(struct sc_main * sc, struct lb_management * lb_manage)
}
/* Get load balance group */
+ int ret = 0;
+ uint32_t nr_group = 0;
for (int index = 0; index < MR_LB_MAX_GROUP; index++)
{
char str_section[MR_STRING_MAX] = {};
@@ -386,14 +377,14 @@ int parser_local_lb_conf(struct sc_main * sc, struct lb_management * lb_manage)
}
/* inserter sid to forwarder table */
- for (uint16_t sid = sid_range_start; sid < sid_range_start + nr_group; sid++)
+ for (uint16_t sid = sid_start; sid < sid_start + nr_group; sid++)
forwarder_table_inserter(sid, FORWARDER_TYPE_LB);
/* Save sid info */
lb_manage->nr_group = nr_group;
lb_manage->nr_sid = nr_sid;
- lb_manage->sid_range_start = sid_range_start;
- lb_manage->sid_range_end = sid_range_end;
+ lb_manage->sid_start = sid_start;
+ lb_manage->sid_end = sid_end;
return RT_SUCCESS;
}
@@ -405,7 +396,7 @@ void dump_lb_config(struct lb_management * lb_manage)
MR_INFO("\n");
MR_INFO("load balance config, total_num=%u, sid_num=%u, sid_start=%u, sid_end=%u", lb_manage->nr_group,
- lb_manage->nr_sid, lb_manage->sid_range_start, lb_manage->sid_range_end);
+ lb_manage->nr_sid, lb_manage->sid_start, lb_manage->sid_end);
for (int i = 0; i < MR_LB_MAX_GROUP; i++)
{
@@ -496,7 +487,7 @@ static __rte_always_inline uint16_t lb_node_process(struct rte_graph * graph, st
void ** batch_pkts = objs;
uint16_t batch_next_node_index = LB_NEXT_ETH_EGRESS;
struct node_lb_main * lb_main = global_lb_main;
- uint32_t sid_range_start = lb_main->lb_manage->sid_range_start;
+ uint32_t sid_start = lb_main->lb_manage->sid_start;
int ret = RT_ERR;
uint16_t last_sid = 0;
uint32_t lb_group_index = MR_LB_MAX_GROUP;
@@ -518,7 +509,7 @@ static __rte_always_inline uint16_t lb_node_process(struct rte_graph * graph, st
if (last_sid != private_ctrlzone->cur_sid)
{
/* Get lb group index */
- lb_group_index = private_ctrlzone->cur_sid - sid_range_start;
+ lb_group_index = private_ctrlzone->cur_sid - sid_start;
assert(lb_group_index < MR_LB_MAX_GROUP);
assert(lb_group_index < lb_main->lb_manage->nr_group);
lb_group_item = &lb_main->lb_manage->lb_groups[lb_group_index];
diff --git a/service/src/node_vwire.c b/service/src/node_vwire.c
index 54580c9..20a2dee 100644
--- a/service/src/node_vwire.c
+++ b/service/src/node_vwire.c
@@ -53,7 +53,7 @@ struct vwire_map_result
struct vwire_stat_per_lcore
{
volatile uint64_t ingress_total_pkts;
- volatile uint64_t engress_total_pkts;
+ volatile uint64_t egress_total_pkts;
volatile uint64_t to_classifier_pkts;
volatile uint64_t drop_pkts;
} __rte_cache_aligned;
@@ -65,8 +65,8 @@ struct vwire_node_main
struct vwire_stat_per_lcore stat_per_graph[RTE_MAX_LCORE];
unsigned int nr_forward_rules;
uint32_t nr_sid;
- uint32_t sid_range_start;
- uint32_t sid_range_end;
+ uint32_t sid_start;
+ uint32_t sid_end;
};
static struct vwire_node_main * p_vwire_node_main = NULL;
@@ -74,10 +74,10 @@ static unsigned int g_vwire_max_entry = 256;
int olp_set_used(char * dev_sym, uint32_t channel_id);
-/* Vwire get max rule num */
-unsigned int vwire_get_max_rule_num()
+/* Get vwire adapters num */
+unsigned int nr_vwire_adapters_get()
{
- return g_vwire_max_entry;
+ return p_vwire_node_main->nr_forward_rules;
}
/* Vwire service id check */
@@ -127,7 +127,7 @@ static __rte_always_inline uint16_t vwire_ingress_node_process(struct rte_graph
MR_VWIRE_STAT_ADD(p_vwire_node_main, graph_id, to_classifier_pkts, 1);
/* Insert sid*/
- uint16_t sids[1] = {p_vwire_node_main->sid_range_start + map_result->rule_object->vwire_id};
+ uint16_t sids[1] = {p_vwire_node_main->sid_start + map_result->rule_object->vwire_id};
sid_list_prepend(&priv_data->sid_list, sids, 1);
/* Save vwire id */
@@ -204,10 +204,10 @@ static __rte_always_inline uint16_t vwire_egress_node_process(struct rte_graph *
n_left_from -= 1;
/* Update total pkts */
- MR_VWIRE_STAT_ADD(p_vwire_node_main, graph_id, engress_total_pkts, 1);
+ MR_VWIRE_STAT_ADD(p_vwire_node_main, graph_id, egress_total_pkts, 1);
/* Get vwire item */
- unsigned int vwire_id = priv_data->cur_sid - p_vwire_node_main->sid_range_start;
+ unsigned int vwire_id = priv_data->cur_sid - p_vwire_node_main->sid_start;
assert(vwire_id < p_vwire_node_main->nr_forward_rules);
struct vwire_forward_rule * vwire_fwd_rule = p_vwire_node_main->forward_rules[vwire_id];
@@ -398,10 +398,6 @@ errout:
int vwire_init(struct sc_main * sc)
{
- int ret = 0;
-
- uint32_t sid_range_start = 0, sid_range_end = 0, nr_sid = 0;
-
/* Get ef max entry,default is 256 */
MESA_load_profile_uint_def(sc->local_cfgfile, "vwires", "max_rules", &g_vwire_max_entry, 256);
struct vwire_node_main * vwire_node_main = ZMALLOC(sizeof(struct vwire_node_main));
@@ -413,29 +409,22 @@ int vwire_init(struct sc_main * sc)
p_vwire_node_main = vwire_node_main;
/* Get sid range start */
- ret = MESA_load_profile_uint_nodef(sc->local_cfgfile, "vwires", "sid_range_start", &sid_range_start);
- if (ret < 0)
- {
- MR_ERROR("Service Vwire No config 'sid_range_start' .");
- return RT_ERR;
- }
+ uint32_t sid_start;
+ MESA_load_profile_uint_def(sc->local_cfgfile, "vwires", "sid_start", &sid_start, 300);
/* Get sid range end */
- ret = MESA_load_profile_uint_nodef(sc->local_cfgfile, "vwires", "sid_range_end", &sid_range_end);
- if (ret < 0)
- {
- MR_ERROR("Service Vwire No config 'sid_range_end' .");
- return RT_ERR;
- }
+ uint32_t sid_end;
+ MESA_load_profile_uint_def(sc->local_cfgfile, "vwires", "sid_end", &sid_end, 400);
- if (sid_range_start > sid_range_end)
+ /* Check sid range */
+ if (sid_start > sid_end)
{
- MR_ERROR("Service Vwire 'sid_range_end' less than 'sid_range_start' .");
+ MR_ERROR("Service Vwire 'sid_end' less than 'sid_start' .");
return RT_ERR;
}
/* Get sid total number */
- nr_sid = sid_range_end - sid_range_start + 1;
+ uint32_t nr_sid = sid_end - sid_start + 1;
if (nr_sid > g_vwire_max_entry)
{
MR_ERROR("Service Vwire 'sid_range' out of %u .", g_vwire_max_entry);
@@ -443,6 +432,7 @@ int vwire_init(struct sc_main * sc)
}
/* load vwire rules */
+ int ret = 0;
for (unsigned int i = 0; i < g_vwire_max_entry; i++)
{
char sec_symbol[MR_SYMBOL_MAX] = {0};
@@ -492,13 +482,13 @@ int vwire_init(struct sc_main * sc)
}
/* inserter sid to forwarder table */
- for (uint16_t sid = sid_range_start; sid < sid_range_start + p_vwire_node_main->nr_forward_rules; sid++)
+ for (uint16_t sid = sid_start; sid < sid_start + p_vwire_node_main->nr_forward_rules; sid++)
forwarder_table_inserter(sid, FORWARDER_TYPE_VWIRE);
/* Save sid info */
p_vwire_node_main->nr_sid = nr_sid;
- p_vwire_node_main->sid_range_start = sid_range_start;
- p_vwire_node_main->sid_range_end = sid_range_end;
+ p_vwire_node_main->sid_start = sid_start;
+ p_vwire_node_main->sid_end = sid_end;
return 0;
}
@@ -528,7 +518,7 @@ cJSON * vwire_ingress_node_monit_loop(struct sc_main * sc)
return json_root;
}
-cJSON * vwire_engress_node_monit_loop(struct sc_main * sc)
+cJSON * vwire_egress_node_monit_loop(struct sc_main * sc)
{
unsigned int nr_graph_total = sc->nr_io_thread;
struct vwire_node_main * _vwire_node_main = p_vwire_node_main;
@@ -537,11 +527,11 @@ cJSON * vwire_engress_node_monit_loop(struct sc_main * sc)
for (uint32_t graph_id = 0; graph_id < nr_graph_total; graph_id++)
{
struct vwire_stat_per_lcore * stat_item = &_vwire_node_main->stat_per_graph[graph_id];
- if (stat_item->engress_total_pkts == 0)
+ if (stat_item->egress_total_pkts == 0)
continue;
cJSON * graph_obj = cJSON_CreateObject();
- cJSON_AddNumberToObject(graph_obj, "total_pkts", stat_item->engress_total_pkts);
+ cJSON_AddNumberToObject(graph_obj, "total_pkts", stat_item->egress_total_pkts);
char graph_index[MR_STRING_MAX];
snprintf(graph_index, sizeof(graph_index), "graph-%u", graph_id);
cJSON_AddItemToObject(json_root, graph_index, graph_obj);
diff --git a/test/bfd_test.py b/test/bfd_test.py
index d75c9d1..b61f989 100644
--- a/test/bfd_test.py
+++ b/test/bfd_test.py
@@ -55,19 +55,19 @@ addr = 127.0.0.1
port = 56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
"""
diff --git a/test/bridge_test.py b/test/bridge_test.py
index b8e912c..3e450d1 100644
--- a/test/bridge_test.py
+++ b/test/bridge_test.py
@@ -74,19 +74,19 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# bridge
[bridge:0]
diff --git a/test/classifier_test.py b/test/classifier_test.py
index 5b54455..c5b115e 100644
--- a/test/classifier_test.py
+++ b/test/classifier_test.py
@@ -81,14 +81,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# vwire
@@ -97,8 +97,8 @@ interface_int=veth4
interface_ext=veth5
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
@@ -522,14 +522,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# vwire
@@ -538,8 +538,8 @@ interface_int=veth2
interface_ext=veth3
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
diff --git a/test/etherfabric_test.py b/test/etherfabric_test.py
index 205a9c3..563df19 100644
--- a/test/etherfabric_test.py
+++ b/test/etherfabric_test.py
@@ -54,26 +54,26 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
-[etherfabric_adapter:0]
+[ef_adapter:0]
mode=virtual-wire
listen_device=veth0
"""
@@ -153,26 +153,26 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
-[etherfabric_adapter:0]
+[ef_adapter:0]
mode=tap
listen_device=veth0
"""
diff --git a/test/health_check_test.py b/test/health_check_test.py
index d99357e..a50a1b7 100644
--- a/test/health_check_test.py
+++ b/test/health_check_test.py
@@ -52,14 +52,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# health check
@@ -71,8 +71,8 @@ multiplier=20
interval=10
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
diff --git a/test/load_balance_test.py b/test/load_balance_test.py
index 36c513a..f504c60 100644
--- a/test/load_balance_test.py
+++ b/test/load_balance_test.py
@@ -76,14 +76,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# vwire
@@ -92,8 +92,8 @@ interface_int=veth3
interface_ext=veth4
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
diff --git a/test/msgpack_test.py b/test/msgpack_test.py
index 8aea0ed..bdce1d0 100644
--- a/test/msgpack_test.py
+++ b/test/msgpack_test.py
@@ -65,14 +65,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# vwire
@@ -81,8 +81,8 @@ interface_int=veth0
interface_ext=veth1
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
@@ -192,14 +192,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# vwire
@@ -208,8 +208,8 @@ interface_int=veth0
interface_ext=veth1
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
@@ -325,14 +325,14 @@ addr=127.0.0.1
port=56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
# vwire
@@ -341,8 +341,8 @@ interface_int=veth0
interface_ext=veth1
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# load banlance
[load_balance:0]
diff --git a/test/vwire_test.py b/test/vwire_test.py
index 79ca7ff..86c73be 100644
--- a/test/vwire_test.py
+++ b/test/vwire_test.py
@@ -189,19 +189,19 @@ addr = 127.0.0.1
port = 56789
# sid
-[etherfabric_adapters]
-sid_range_start=100
-sid_range_end=200
+[ef_adapters]
+sid_start=100
+sid_end=200
max_rules=256
[vwires]
-sid_range_start=300
-sid_range_end=400
+sid_start=300
+sid_end=400
max_rules=256
[service_lb]
-sid_range_start=1000
-sid_range_end=2000
+sid_start=1000
+sid_end=2000
# vwire
[vwire:0]