diff options
| -rw-r--r-- | service/src/node_lb.c | 45 | ||||
| -rw-r--r-- | service/src/node_vwire.c | 58 | ||||
| -rw-r--r-- | test/bfd_test.py | 14 | ||||
| -rw-r--r-- | test/bridge_test.py | 14 | ||||
| -rw-r--r-- | test/classifier_test.py | 28 | ||||
| -rw-r--r-- | test/etherfabric_test.py | 44 | ||||
| -rw-r--r-- | test/health_check_test.py | 14 | ||||
| -rw-r--r-- | test/load_balance_test.py | 14 | ||||
| -rw-r--r-- | test/msgpack_test.py | 42 | ||||
| -rw-r--r-- | test/vwire_test.py | 14 |
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] |
