diff --git a/platform/include/global_metrics.h b/platform/include/global_metrics.h index 14e9f99..00e72bc 100644 --- a/platform/include/global_metrics.h +++ b/platform/include/global_metrics.h @@ -27,9 +27,9 @@ struct global_metrics struct throughput_metrics dev_endpoint_tx; // 累计值 struct throughput_metrics dev_endpoint_err_drop; // 累计值 - struct throughput_metrics dev_nf_interface_rx; // 累计值 - struct throughput_metrics dev_nf_interface_tx; // 累计值 - struct throughput_metrics dev_nf_interface_err_bypass; // 累计值 + struct throughput_metrics raw_pkt_rx; // 累计值 + struct throughput_metrics raw_pkt_tx; // 累计值 + struct throughput_metrics raw_pkt_err_bypass; // 累计值 struct throughput_metrics hit_block_policy; // 累计值 struct throughput_metrics hit_bypass_policy; // 累计值 @@ -40,15 +40,15 @@ struct global_metrics struct throughput_metrics mirroring_tx; // 累计值 struct throughput_metrics mirroring_rx_drop; // 累计值 - struct throughput_metrics downlink_keepalive_packet_rx; // 累计值 - struct throughput_metrics uplink_keepalive_packet_rx; // 累计值 - struct throughput_metrics control_packet_rx; // 累计值 + struct throughput_metrics downlink_keepalive_pkt_rx; // 累计值 + struct throughput_metrics uplink_keepalive_pkt_rx; // 累计值 + struct throughput_metrics ctrl_pkt_rx; // 累计值 - uint64_t control_packet_opening_num; // 累计值 - uint64_t control_packet_active_num; // 累计值 - uint64_t control_packet_closing_num; // 累计值 - uint64_t control_packet_resetall_num; // 累计值 - uint64_t control_packet_error_num; // 累计值 + uint64_t ctrl_pkt_opening_num; // 累计值 + uint64_t ctrl_pkt_active_num; // 累计值 + uint64_t ctrl_pkt_closing_num; // 累计值 + uint64_t ctrl_pkt_resetall_num; // 累计值 + uint64_t ctrl_pkt_error_num; // 累计值 uint64_t sf_active_times; // 累计值 uint64_t sf_inactive_times; // 累计值 diff --git a/platform/src/global_metrics.cpp b/platform/src/global_metrics.cpp index 72ca03c..3e666e7 100644 --- a/platform/src/global_metrics.cpp +++ b/platform/src/global_metrics.cpp @@ -23,14 +23,14 @@ enum SCE_STAT_FIELD STAT_HIT_BLOCK_POLICY_B, // dev nf interface - STAT_NF_INTERFACE_RX_PKT, - STAT_NF_INTERFACE_RX_B, + STAT_RAW_PKT_RX_PKT, + STAT_RAW_PKT_RX_B, - STAT_NF_INTERFACE_TX_PKT, - STAT_NF_INTERFACE_TX_B, + STAT_RAW_PKT_TX_PKT, + STAT_RAW_PKT_TX_B, - STAT_NF_INTERFACE_ERR_BYPASS_PKT, - STAT_NF_INTERFACE_ERR_BYPASS_B, + STAT_RAW_PKT_ERR_BYPASS_PKT, + STAT_RAW_PKT_ERR_BYPASS_B, // hit bypass policy STAT_HIT_BYPASS_POLICY_PKT, @@ -52,11 +52,11 @@ enum SCE_STAT_FIELD STAT_CONTROL_RX_PKT, STAT_CONTROL_RX_B, - STAT_CONTROL_PKT_OPENING, - STAT_CONTROL_PKT_ACTIVE, - STAT_CONTROL_PKT_CLOSING, - STAT_CONTROL_PKT_RESETALL, - STAT_CONTROL_PKT_ERROR, + STAT_CTRL_PKT_OPENING, + STAT_CTRL_PKT_ACTIVE, + STAT_CTRL_PKT_CLOSING, + STAT_CTRL_PKT_RESETALL, + STAT_CTRL_PKT_ERROR, // current session number STAT_CURRENT_SESSION_NUMS, @@ -94,14 +94,14 @@ static const char *stat_map[] = [STAT_HIT_BLOCK_POLICY_B] = "hit_block_B", // dev nf interface - [STAT_NF_INTERFACE_RX_PKT] = "nf_rx_pkt", - [STAT_NF_INTERFACE_RX_B] = "nf_rx_B", + [STAT_RAW_PKT_RX_PKT] = "raw_rx_pkt", + [STAT_RAW_PKT_RX_B] = "raw_rx_B", - [STAT_NF_INTERFACE_TX_PKT] = "nf_tx_pkt", - [STAT_NF_INTERFACE_TX_B] = "nf_tx_B", + [STAT_RAW_PKT_TX_PKT] = "raw_tx_pkt", + [STAT_RAW_PKT_TX_B] = "raw_tx_B", - [STAT_NF_INTERFACE_ERR_BYPASS_PKT] = "nf_e_bypass_pkt", - [STAT_NF_INTERFACE_ERR_BYPASS_B] = "nf_e_bypass_B", + [STAT_RAW_PKT_ERR_BYPASS_PKT] = "raw_e_bypass_pkt", + [STAT_RAW_PKT_ERR_BYPASS_B] = "raw_e_bypass_B", // hit bypass policy [STAT_HIT_BYPASS_POLICY_PKT] = "hit_bypass_pkt", @@ -123,11 +123,11 @@ static const char *stat_map[] = [STAT_CONTROL_RX_PKT] = "ctrl_rx_pkt", [STAT_CONTROL_RX_B] = "ctrl_rx_B", - [STAT_CONTROL_PKT_OPENING] = "ctrl_pkt_open", - [STAT_CONTROL_PKT_ACTIVE] = "ctrl_pkt_avtive", - [STAT_CONTROL_PKT_CLOSING] = "ctrl_pkt_close", - [STAT_CONTROL_PKT_RESETALL] = "ctrl_pkt_reset", - [STAT_CONTROL_PKT_ERROR] = "ctrl_pkt_error", + [STAT_CTRL_PKT_OPENING] = "ctrl_pkt_open", + [STAT_CTRL_PKT_ACTIVE] = "ctrl_pkt_avtive", + [STAT_CTRL_PKT_CLOSING] = "ctrl_pkt_close", + [STAT_CTRL_PKT_RESETALL] = "ctrl_pkt_reset", + [STAT_CTRL_PKT_ERROR] = "ctrl_pkt_error", // current session number [STAT_CURRENT_SESSION_NUMS] = "curr_sess_num", @@ -240,14 +240,14 @@ void global_metrics_dump(struct global_metrics *metrics) FS_operate(metrics->fs_handle, metrics->fs_id[STAT_ENDPOINT_ERR_DROP_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_endpoint_err_drop.n_bytes), 0, __ATOMIC_RELAXED)); // dev nf interface - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_rx.n_pkts), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_rx.n_bytes), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_tx.n_pkts), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_tx.n_bytes), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_TX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_tx.n_pkts), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_TX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_tx.n_bytes), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_ERR_BYPASS_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_err_bypass.n_pkts), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_NF_INTERFACE_ERR_BYPASS_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->dev_nf_interface_err_bypass.n_bytes), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_ERR_BYPASS_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_err_bypass.n_pkts), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_RAW_PKT_ERR_BYPASS_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->raw_pkt_err_bypass.n_bytes), 0, __ATOMIC_RELAXED)); // hit block policy FS_operate(metrics->fs_handle, metrics->fs_id[STAT_HIT_BLOCK_POLICY_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->hit_block_policy.n_pkts), 0, __ATOMIC_RELAXED)); @@ -272,20 +272,20 @@ void global_metrics_dump(struct global_metrics *metrics) FS_operate(metrics->fs_handle, metrics->fs_id[STAT_MIRRORING_RX_DROP_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->mirroring_rx_drop.n_bytes), 0, __ATOMIC_RELAXED)); // keepalive packet - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_packet_rx.n_pkts), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_packet_rx.n_bytes), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_packet_rx.n_pkts), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_packet_rx.n_bytes), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_DOWNLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->downlink_keepalive_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_UPLINK_KEEPALIVE_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->uplink_keepalive_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED)); // control packet - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_rx.n_pkts), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_rx.n_bytes), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_PKT], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_rx.n_pkts), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_RX_B], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_rx.n_bytes), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_OPENING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_opening_num), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_ACTIVE], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_active_num), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_CLOSING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_closing_num), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_RESETALL], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_resetall_num), 0, __ATOMIC_RELAXED)); - FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CONTROL_PKT_ERROR], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->control_packet_error_num), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_OPENING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_opening_num), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_ACTIVE], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_active_num), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_CLOSING], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_closing_num), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_RESETALL], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_resetall_num), 0, __ATOMIC_RELAXED)); + FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CTRL_PKT_ERROR], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->ctrl_pkt_error_num), 0, __ATOMIC_RELAXED)); // current session number FS_operate(metrics->fs_handle, metrics->fs_id[STAT_CURRENT_SESSION_NUMS], 0, FS_OP_SET, __atomic_fetch_add(&(metrics->session_nums), 0, __ATOMIC_RELAXED)); diff --git a/platform/src/packet_io.cpp b/platform/src/packet_io.cpp index 17c0ead..6a116e5 100644 --- a/platform/src/packet_io.cpp +++ b/platform/src/packet_io.cpp @@ -307,8 +307,8 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi if (!marsio_buff_is_ctrlbuf(rx_buffs[j])) { int raw_len = marsio_buff_datalen(rx_buffs[j]); - throughput_metrics_inc(&g_metrics->dev_nf_interface_rx, 1, raw_len); - throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len); + throughput_metrics_inc(&g_metrics->raw_pkt_rx, 1, raw_len); + throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, raw_len); } } @@ -323,7 +323,7 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi if (is_downstream_keepalive_packet(rx_buff)) { - throughput_metrics_inc(&g_metrics->downlink_keepalive_packet_rx, 1, raw_len); + throughput_metrics_inc(&g_metrics->downlink_keepalive_pkt_rx, 1, raw_len); marsio_send_burst(handle->dev_nf_interface.mr_path, thread_seq, &rx_buff, 1); continue; } @@ -331,25 +331,25 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi if (marsio_buff_is_ctrlbuf(rx_buff)) { handle_control_packet(handle, rx_buff, thread_seq, ctx); - throughput_metrics_inc(&g_metrics->control_packet_rx, 1, raw_len); + throughput_metrics_inc(&g_metrics->ctrl_pkt_rx, 1, raw_len); // all control packet need bypass marsio_send_burst(handle->dev_nf_interface.mr_path, thread_seq, &rx_buff, 1); } else { - throughput_metrics_inc(&g_metrics->dev_nf_interface_rx, 1, raw_len); + throughput_metrics_inc(&g_metrics->raw_pkt_rx, 1, raw_len); int action_bytes = 0; enum raw_pkt_action action = handle_raw_packet(handle, rx_buff, thread_seq, ctx, &action_bytes); assert(action_bytes > 0); switch (action) { case RAW_PKT_ERR_BYPASS: - throughput_metrics_inc(&g_metrics->dev_nf_interface_err_bypass, 1, action_bytes); - throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len); + throughput_metrics_inc(&g_metrics->raw_pkt_err_bypass, 1, action_bytes); + throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, raw_len); break; case RAW_PKT_HIT_BYPASS: throughput_metrics_inc(&g_metrics->hit_bypass_policy, 1, action_bytes); - throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len); + throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, raw_len); break; case RAW_PKT_HIT_BLOCK: throughput_metrics_inc(&g_metrics->hit_block_policy, 1, action_bytes); @@ -400,7 +400,7 @@ int packet_io_polling_endpoint(struct packet_io *handle, int thread_seq, void *c if (is_upstream_keepalive_packet(rx_buff)) { - throughput_metrics_inc(&g_metrics->uplink_keepalive_packet_rx, 1, data_len); + throughput_metrics_inc(&g_metrics->uplink_keepalive_pkt_rx, 1, data_len); marsio_buff_free(handle->instance, &rx_buff, 1, 0, thread_seq); continue; } @@ -427,7 +427,7 @@ int packet_io_polling_endpoint(struct packet_io *handle, int thread_seq, void *c break; case INJT_PKT_HIT_FWD2NF: // forward to network function throughput_metrics_inc(&g_metrics->steering_rx, 1, data_len); // use data_len - throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, action_bytes); + throughput_metrics_inc(&g_metrics->raw_pkt_tx, 1, action_bytes); break; } } @@ -636,7 +636,7 @@ static int handle_control_packet(struct packet_io *handle, marsio_buff_t *rx_buf { LOG_ERROR("%s: unexpected control packet, unable to get metadata", LOG_TAG_PKTIO); packet_io_dump_metadata(rx_buff, &meta); - __atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED); return -1; } @@ -645,14 +645,14 @@ static int handle_control_packet(struct packet_io *handle, marsio_buff_t *rx_buf if (ctrl_packet_parser_parse(&ctrl_parser, meta.raw_data + meta.l7_offset, meta.raw_len - meta.l7_offset) == -1) { LOG_ERROR("%s: unexpected control packet, unable to parse data", LOG_TAG_PKTIO); - __atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED); return -1; } if (ctrl_parser.session_id != meta.session_id) { LOG_ERROR("%s: unexpected control packet, metadata's session %lu != control packet's session %lu", LOG_TAG_PKTIO, meta.session_id, ctrl_parser.session_id); - __atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED); return -1; } @@ -661,21 +661,21 @@ static int handle_control_packet(struct packet_io *handle, marsio_buff_t *rx_buf switch (ctrl_parser.state) { case SESSION_STATE_OPENING: - __atomic_fetch_add(&g_metrics->control_packet_opening_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_opening_num, 1, __ATOMIC_RELAXED); // when session opening, firewall not send policy id // return handle_session_opening(&meta, &ctrl_parser, thread_seq, ctx); break; case SESSION_STATE_CLOSING: - __atomic_fetch_add(&g_metrics->control_packet_closing_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_closing_num, 1, __ATOMIC_RELAXED); return handle_session_closing(&meta, &ctrl_parser, thread_seq, ctx); case SESSION_STATE_ACTIVE: - __atomic_fetch_add(&g_metrics->control_packet_active_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_active_num, 1, __ATOMIC_RELAXED); return handle_session_active(&meta, &ctrl_parser, thread_seq, ctx); case SESSION_STATE_RESETALL: - __atomic_fetch_add(&g_metrics->control_packet_resetall_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_resetall_num, 1, __ATOMIC_RELAXED); return handle_session_resetall(&meta, &ctrl_parser, thread_seq, ctx); default: - __atomic_fetch_add(&g_metrics->control_packet_error_num, 1, __ATOMIC_RELAXED); + __atomic_fetch_add(&g_metrics->ctrl_pkt_error_num, 1, __ATOMIC_RELAXED); } return 0;