From 2f50548d96a5908f4309e58dbbd45a9e42609384 Mon Sep 17 00:00:00 2001 From: liuwentan Date: Wed, 29 Nov 2023 16:56:33 +0800 Subject: [PATCH] [PATCH]adjust table_info for compile/group2compile table --- src/json2iris.c | 14 ++--- test/maat_framework_gtest.cpp | 7 +-- test/maat_framework_perf_gtest.cpp | 94 ++++++++++++++++++------------ test/table_info.conf | 36 ++++++------ 4 files changed, 84 insertions(+), 67 deletions(-) diff --git a/src/json2iris.c b/src/json2iris.c index a439f3d..0672b47 100644 --- a/src/json2iris.c +++ b/src/json2iris.c @@ -687,10 +687,10 @@ static int write_group2compile_line(int *group_ids, size_t n_group_id, strcat(group_id_str, tmp_str); } group_id_str[strlen(group_id_str) - 1] = '\0'; - snprintf(buff, sizeof(buff), "%s\t%d\t1\t%d\t%s\t%d\n", group_id_str, compile_id, + snprintf(buff, sizeof(buff), "%s\t%d\t%d\t%s\t%d\t1\n", group_id_str, compile_id, group_not_flag, vtable, clause_index); } else { - snprintf(buff, sizeof(buff), "%d\t%d\t1\t%d\t%s\t%d\n", group_ids[0], compile_id, + snprintf(buff, sizeof(buff), "%d\t%d\t%d\t%s\t%d\t1\n", group_ids[0], compile_id, group_not_flag, vtable, clause_index); } @@ -962,21 +962,21 @@ static int write_compile_line(cJSON *compile, struct iris_description *p_iris, compile_cmd[cmd_cnt].json_string = "tags"; compile_cmd[cmd_cnt].json_type = cJSON_String; compile_cmd[cmd_cnt].empty_allowed = 1; - compile_cmd[cmd_cnt].default_string = "0"; + compile_cmd[cmd_cnt].default_string = "{}"; cmd_cnt++; compile_cmd[cmd_cnt].json_string = "user_region"; compile_cmd[cmd_cnt].json_type = cJSON_String; cmd_cnt++; + compile_cmd[cmd_cnt].json_string = "clause_num"; + compile_cmd[cmd_cnt].json_type = cJSON_Number; + cmd_cnt++; + compile_cmd[cmd_cnt].json_string = "is_valid"; compile_cmd[cmd_cnt].json_type = cJSON_String; compile_cmd[cmd_cnt].str2int_flag = 1; cmd_cnt++; - - compile_cmd[cmd_cnt].json_string = "clause_num"; - compile_cmd[cmd_cnt].json_type = cJSON_Number; - cmd_cnt++; struct iris_table *table_info = NULL; item = cJSON_GetObjectItem(compile,"compile_table_name"); diff --git a/test/maat_framework_gtest.cpp b/test/maat_framework_gtest.cpp index b8d0c98..e5dc8ee 100644 --- a/test/maat_framework_gtest.cpp +++ b/test/maat_framework_gtest.cpp @@ -153,7 +153,7 @@ int compile_table_set_line(struct maat *maat_inst, const char *table_name, { char table_line[1024 * 16] = {0}; sprintf(table_line, "%lld\t0\t0\t0\t0\t0\t%s\t%d\t%d\t0.0", - compile_id, user_region, op, clause_num); + compile_id, user_region, clause_num, op); struct maat_cmd_line line_rule; line_rule.rule_id = compile_id; @@ -166,7 +166,6 @@ int compile_table_set_line(struct maat *maat_inst, const char *table_name, #define TO_GROUP2X_KEY(group_id, parent_id, clause_index) (((unsigned long)group_id<<32|parent_id) + clause_index) - int group2compile_table_set_line(struct maat *maat_inst, const char *table_name, enum maat_operation op, long long group_id, long long compile_id, int not_flag, @@ -174,8 +173,8 @@ int group2compile_table_set_line(struct maat *maat_inst, const char *table_name, int expire_after) { char table_line[128] = {0}; - sprintf(table_line, "%lld\t%lld\t%d\t%d\t%s\t%d", - group_id, compile_id, op, not_flag, vtable_name, clause_index); + sprintf(table_line, "%lld\t%lld\t%d\t%s\t%d\t%d", + group_id, compile_id, not_flag, vtable_name, clause_index, op); struct maat_cmd_line line_rule; line_rule.rule_id = TO_GROUP2X_KEY(group_id, compile_id, clause_index); diff --git a/test/maat_framework_perf_gtest.cpp b/test/maat_framework_perf_gtest.cpp index 7ba3750..89393a5 100644 --- a/test/maat_framework_perf_gtest.cpp +++ b/test/maat_framework_perf_gtest.cpp @@ -160,11 +160,12 @@ static int write_config_to_redis(const char *json_iris_path, char *redis_ip, static int compile_table_set_line(struct maat *maat_inst, const char *table_name, enum maat_operation op, long long compile_id, - const char *user_region, int clause_num, int expire_after) + const char *user_region, int clause_num, + int expire_after) { char table_line[1024 * 16] = {0}; sprintf(table_line, "%lld\t0\t0\t0\t0\t0\t%s\t%d\t%d\t0.0", - compile_id, user_region, op, clause_num); + compile_id, user_region, clause_num, op); struct maat_cmd_line line_rule; line_rule.rule_id = compile_id; @@ -176,13 +177,14 @@ static int compile_table_set_line(struct maat *maat_inst, const char *table_name } static int group2compile_table_set_line(struct maat *maat_inst, const char *table_name, - enum maat_operation op, long long group_id, long long compile_id, - int not_flag, const char *vtable_name, int clause_num, + enum maat_operation op, long long group_id, + long long compile_id, int not_flag, + const char *vtable_name, int clause_index, int expire_after) { char table_line[128] = {0}; - sprintf(table_line, "%lld\t%lld\t%d\t%d\t%s\t%d", - group_id, compile_id, op, not_flag, vtable_name, clause_num); + sprintf(table_line, "%lld\t%lld\t%d\t%s\t%d\t%d", + group_id, compile_id, not_flag, vtable_name, clause_index, op); struct maat_cmd_line line_rule; line_rule.rule_id = group_id; @@ -193,9 +195,11 @@ static int group2compile_table_set_line(struct maat *maat_inst, const char *tabl return maat_cmd_set_line(maat_inst, &line_rule); } -static int expr_table_set_line(struct maat *maat_inst, const char *table_name, enum maat_operation op, - long long item_id, long long group_id, const char *keywords, const char *district, - int expr_type, int match_method, int is_hexbin, int expire_after) +static int expr_table_set_line(struct maat *maat_inst, const char *table_name, + enum maat_operation op, long long item_id, + long long group_id, const char *keywords, + const char *district, int expr_type, + int match_method, int is_hexbin, int expire_after) { char table_line[1024] = {0}; int table_id = maat_get_table_id(maat_inst, table_name); @@ -207,11 +211,13 @@ static int expr_table_set_line(struct maat *maat_inst, const char *table_name, e assert(table_type == TABLE_TYPE_EXPR || table_type == TABLE_TYPE_EXPR_PLUS); if (table_type == TABLE_TYPE_EXPR_PLUS) { - sprintf(table_line, "%lld\t%lld\t%s\t%s\t%d\t%d\t%d\t%d", item_id, group_id, district, - keywords, expr_type, match_method, is_hexbin, op); + sprintf(table_line, "%lld\t%lld\t%s\t%s\t%d\t%d\t%d\t%d", + item_id, group_id, district, keywords, expr_type, + match_method, is_hexbin, op); } else { - sprintf(table_line, "%lld\t%lld\t%s\t%d\t%d\t%d\t%d", item_id, group_id, keywords, expr_type, - match_method, is_hexbin, op); + sprintf(table_line, "%lld\t%lld\t%s\t%d\t%d\t%d\t%d", + item_id, group_id, keywords, expr_type, + match_method, is_hexbin, op); } struct maat_cmd_line line_rule; @@ -223,9 +229,11 @@ static int expr_table_set_line(struct maat *maat_inst, const char *table_name, e return maat_cmd_set_line(maat_inst, &line_rule); } -static int ip_table_set_line(struct maat *maat_inst, const char *table_name, enum maat_operation op, - long long item_id, long long group_id, enum IP_TYPE type, const char *ip1, - const char *ip2, uint16_t port_min, uint16_t port_max, int expire_after) +static int ip_table_set_line(struct maat *maat_inst, const char *table_name, + enum maat_operation op, long long item_id, + long long group_id, enum IP_TYPE type, const char *ip1, + const char *ip2, uint16_t port_min, uint16_t port_max, + int expire_after) { char table_line[1024] = {0}; int table_id = maat_get_table_id(maat_inst, table_name); @@ -301,17 +309,19 @@ static void test_add_expr_command(struct maat *maat_inst, const char *table_name const char *keywords) { long long compile_id = maat_cmd_incrby(maat_inst, "TEST_SEQ", 1); - int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, compile_id, "null", 1, 0); + int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, + compile_id, "null", 1, 0); EXPECT_EQ(ret, 1); long long group_id = maat_cmd_incrby(maat_inst, "SEQUENCE_GROUP", 1); - ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", MAAT_OP_ADD, group_id, - compile_id, 0, table_name, 1, 0); + ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", + MAAT_OP_ADD, group_id, compile_id, + 0, table_name, 1, 0); EXPECT_EQ(ret, 1); long long item_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1); - ret = expr_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, group_id, - keywords, "null", 1, 0, 0, 0); + ret = expr_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, + group_id, keywords, "null", 1, 0, 0, 0); EXPECT_EQ(ret, 1); } @@ -319,17 +329,19 @@ static void test_add_ip_command(struct maat *maat_inst, const char *table_name, const char *ip, uint16_t port) { long long compile_id = maat_cmd_incrby(maat_inst, "TEST_SEQ", 1); - int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, compile_id, "null", 1, 0); + int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, + compile_id, "null", 1, 0); EXPECT_EQ(ret, 1); long long group_id = maat_cmd_incrby(maat_inst, "SEQUENCE_GROUP", 1); - ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", MAAT_OP_ADD, group_id, - compile_id, 0, table_name, 1, 0); + ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", + MAAT_OP_ADD, group_id, compile_id, + 0, table_name, 1, 0); EXPECT_EQ(ret, 1); long long item_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1); - ret = ip_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, group_id, - IPv4, ip, ip, port, port, 0); + ret = ip_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, + group_id, IPv4, ip, ip, port, port, 0); EXPECT_EQ(ret, 1); } @@ -337,17 +349,19 @@ static void test_add_integer_command(struct maat *maat_inst, const char *table_n int low_bound, int up_bound) { long long compile_id = maat_cmd_incrby(maat_inst, "TEST_SEQ", 1); - int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, compile_id, "null", 1, 0); + int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, + compile_id, "null", 1, 0); EXPECT_EQ(ret, 1); long long group_id = maat_cmd_incrby(maat_inst, "SEQUENCE_GROUP", 1); - ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", MAAT_OP_ADD, group_id, - compile_id, 0, table_name, 1, 0); + ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", + MAAT_OP_ADD, group_id, compile_id, + 0, table_name, 1, 0); EXPECT_EQ(ret, 1); long long item_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1); - ret = integer_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, group_id, - low_bound, up_bound, 0); + ret = integer_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, + group_id, low_bound, up_bound, 0); EXPECT_EQ(ret, 1); } @@ -355,17 +369,19 @@ static void test_add_flag_command(struct maat *maat_inst, const char *table_name long long flag, long long flag_mask) { long long compile_id = maat_cmd_incrby(maat_inst, "TEST_SEQ", 1); - int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, compile_id, "null", 1, 0); + int ret = compile_table_set_line(maat_inst, "COMPILE_DEFAULT", MAAT_OP_ADD, + compile_id, "null", 1, 0); EXPECT_EQ(ret, 1); long long group_id = maat_cmd_incrby(maat_inst, "SEQUENCE_GROUP", 1); - ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", MAAT_OP_ADD, group_id, - compile_id, 0, table_name, 1, 0); + ret = group2compile_table_set_line(maat_inst, "GROUP2COMPILE_DEFAULT", + MAAT_OP_ADD, group_id, compile_id, + 0, table_name, 1, 0); EXPECT_EQ(ret, 1); long long item_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1); - ret = flag_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, group_id, - flag, flag_mask, 0); + ret = flag_table_set_line(maat_inst, table_name, MAAT_OP_ADD, item_id, + group_id, flag, flag_mask, 0); EXPECT_EQ(ret, 1); } @@ -593,7 +609,8 @@ void *perf_regex_scan_thread(void *arg) } clock_gettime(CLOCK_MONOTONIC, &end); - param->time_elapse_ms = (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv_nsec) / 1000000; + param->time_elapse_ms = (end.tv_sec - start.tv_sec) * 1000 + + (end.tv_nsec - start.tv_nsec) / 1000000; int *is_all_hit = ALLOC(int, 1); *is_all_hit = (hit_times == param->test_count ? 1 : 0); log_info(param->logger, MODULE_FRAMEWORK_PERF_GTEST, @@ -799,7 +816,8 @@ void *perf_stream_scan_thread(void *arg) maat_stream_free(sp); maat_state_free(state); - param->time_elapse_ms = (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv_nsec) / 1000000; + param->time_elapse_ms = (end.tv_sec - start.tv_sec) * 1000 + + (end.tv_nsec - start.tv_nsec) / 1000000; int *is_all_hit = ALLOC(int, 1); *is_all_hit = ((hit_times == param->test_count) ? 1 : 0); diff --git a/test/table_info.conf b/test/table_info.conf index dfd9deb..e16361e 100644 --- a/test/table_info.conf +++ b/test/table_info.conf @@ -3,22 +3,22 @@ "table_id":0, "table_name":"COMPILE_DEFAULT", "table_type":"compile", - "valid_column":8, + "valid_column":9, "custom": { "compile_id":1, "tags":6, - "clause_num":9 + "clause_num":8 } }, { "table_id":1, "table_name":"COMPILE_ALIAS", "table_type":"compile", - "valid_column":8, + "valid_column":9, "custom": { "compile_id":1, "tags":6, - "clause_num":9 + "clause_num":8 } }, { @@ -27,11 +27,11 @@ "db_tables":["COMPILE_DEFAULT", "COMPILE_ALIAS"], "default_compile_table":2, "table_type":"compile", - "valid_column":8, + "valid_column":9, "custom": { "compile_id":1, "tags":6, - "clause_num":9 + "clause_num":8 } }, { @@ -40,24 +40,24 @@ "db_tables":["GROUP2COMPILE_DEFAULT", "GROUP2COMPILE_ALIAS"], "table_type":"group2compile", "associated_compile_table_id":2, - "valid_column":3, + "valid_column":6, "custom": { "group_id":1, "compile_id":2, - "not_flag":4, - "virtual_table_name":5, - "clause_index":6 + "not_flag":3, + "virtual_table_name":4, + "clause_index":5 } }, { "table_id":4, "table_name":"COMPILE_FIREWALL_DEFAULT", "table_type":"compile", - "valid_column":8, + "valid_column":9, "custom": { "compile_id":1, "tags":6, - "clause_num":9 + "clause_num":8 } }, { @@ -65,11 +65,11 @@ "table_name":"COMPILE_FIREWALL_CONJUNCTION", "db_tables":["COMPILE_FIREWALL_DEFAULT"], "table_type":"compile", - "valid_column":8, + "valid_column":9, "custom": { "compile_id":1, "tags":6, - "clause_num":9 + "clause_num":8 } }, { @@ -77,13 +77,13 @@ "table_name":"GROUP2COMPILE_FIREWALL", "table_type":"group2compile", "associated_compile_table_id":5, - "valid_column":3, + "valid_column":6, "custom": { "group_id":1, "compile_id":2, - "not_flag":4, - "virtual_table_name":5, - "clause_index":6 + "not_flag":3, + "virtual_table_name":4, + "clause_index":5 } }, {