TSG-13684 tsg-service-chaining-engine使用VLAN封装Packet并执行Traffic Mirroring
This commit is contained in:
@@ -8,68 +8,82 @@
|
||||
|
||||
enum SCE_STAT_FIELD
|
||||
{
|
||||
// device_metrics
|
||||
// device_nf
|
||||
STAT_DEVICE_NF_RX_PKT,
|
||||
STAT_DEVICE_NF_RX_B,
|
||||
|
||||
STAT_DEVICE_NF_TX_PKT,
|
||||
STAT_DEVICE_NF_TX_B,
|
||||
|
||||
STAT_DEVICE_ENDPOINT_RX_PKT,
|
||||
STAT_DEVICE_ENDPOINT_RX_B,
|
||||
|
||||
STAT_DEVICE_ENDPOINT_TX_PKT,
|
||||
STAT_DEVICE_ENDPOINT_TX_B,
|
||||
|
||||
// keepalived_pkt_metrics
|
||||
STAT_KEE_PKT_DOWN_RX_PKT,
|
||||
STAT_KEE_PKT_DOWN_RX_B,
|
||||
|
||||
STAT_KEE_PKT_DOWN_TX_PKT,
|
||||
STAT_KEE_PKT_DOWN_TX_B,
|
||||
|
||||
// device_endpoint_vxlan
|
||||
STAT_DEVICE_ENDPOINT_VXLAN_RX_PKT,
|
||||
STAT_DEVICE_ENDPOINT_VXLAN_RX_B,
|
||||
|
||||
STAT_DEVICE_ENDPOINT_VXLAN_TX_PKT,
|
||||
STAT_DEVICE_ENDPOINT_VXLAN_TX_B,
|
||||
|
||||
STAT_KEE_PKT_UP_RX_PKT,
|
||||
STAT_KEE_PKT_UP_RX_B,
|
||||
|
||||
STAT_KEE_PKT_UP_TX_DROP_PKT,
|
||||
STAT_KEE_PKT_UP_TX_DROP_B,
|
||||
|
||||
// raw_pkt_metrics
|
||||
STAT_RAW_PKT_MIRR_BYPASS_PKT,
|
||||
STAT_RAW_PKT_MIRR_BYPASS_B,
|
||||
// device_endpoint_vlan
|
||||
STAT_DEVICE_ENDPOINT_VLAN_RX_PKT,
|
||||
STAT_DEVICE_ENDPOINT_VLAN_RX_B,
|
||||
|
||||
STAT_RAW_PKT_MIRR_BLOCK_PKT,
|
||||
STAT_RAW_PKT_MIRR_BLOCK_B,
|
||||
STAT_DEVICE_ENDPOINT_VLAN_TX_PKT,
|
||||
STAT_DEVICE_ENDPOINT_VLAN_TX_B,
|
||||
|
||||
STAT_RAW_PKT_MIRR_RX_DROP_PKT,
|
||||
STAT_RAW_PKT_MIRR_RX_DROP_B,
|
||||
STAT_DEVICE_ENDPOINT_VXLAN_DROP_PKT,
|
||||
STAT_DEVICE_ENDPOINT_VXLAN_DROP_B,
|
||||
|
||||
STAT_RAW_PKT_MIRR_TX_PKT,
|
||||
STAT_RAW_PKT_MIRR_TX_B,
|
||||
STAT_DEVICE_ENDPOINT_VLAN_DROP_PKT,
|
||||
STAT_DEVICE_ENDPOINT_VLAN_DROP_B,
|
||||
|
||||
STAT_RAW_PKT_STEE_BYPASS_PKT,
|
||||
STAT_RAW_PKT_STEE_BYPASS_B,
|
||||
// data_pkt_metrics
|
||||
STAT_DATA_PKT_MIRR_BYPASS_PKT,
|
||||
STAT_DATA_PKT_MIRR_BYPASS_B,
|
||||
|
||||
STAT_RAW_PKT_STEE_BLOCK_PKT,
|
||||
STAT_RAW_PKT_STEE_BLOCK_B,
|
||||
STAT_DATA_PKT_MIRR_BLOCK_PKT,
|
||||
STAT_DATA_PKT_MIRR_BLOCK_B,
|
||||
|
||||
STAT_RAW_PKT_STEE_RX_PKT,
|
||||
STAT_RAW_PKT_STEE_RX_B,
|
||||
STAT_DATA_PKT_MIRR_RX_DROP_PKT,
|
||||
STAT_DATA_PKT_MIRR_RX_DROP_B,
|
||||
|
||||
STAT_RAW_PKT_STEE_TX_PKT,
|
||||
STAT_RAW_PKT_STEE_TX_B,
|
||||
STAT_DATA_PKT_MIRR_TX_PKT,
|
||||
STAT_DATA_PKT_MIRR_TX_B,
|
||||
|
||||
STAT_RAW_PKT_MISS_SESS_PKT,
|
||||
STAT_RAW_PKT_MISS_SESS_B,
|
||||
STAT_DATA_PKT_STEE_BYPASS_PKT,
|
||||
STAT_DATA_PKT_STEE_BYPASS_B,
|
||||
|
||||
STAT_RAW_PKT_ERROR_BYPASS_PKT,
|
||||
STAT_RAW_PKT_ERROR_BYPASS_B,
|
||||
STAT_DATA_PKT_STEE_BLOCK_PKT,
|
||||
STAT_DATA_PKT_STEE_BLOCK_B,
|
||||
|
||||
STAT_RAW_PKT_ERROR_BLOCK_PKT,
|
||||
STAT_RAW_PKT_ERROR_BLOCK_B,
|
||||
STAT_DATA_PKT_STEE_RX_PKT,
|
||||
STAT_DATA_PKT_STEE_RX_B,
|
||||
|
||||
STAT_DEVICE_ENDPOINT_DROP_PKT,
|
||||
STAT_DEVICE_ENDPOINT_DROP_B,
|
||||
STAT_DATA_PKT_STEE_TX_PKT,
|
||||
STAT_DATA_PKT_STEE_TX_B,
|
||||
|
||||
STAT_DATA_PKT_MISS_SESS_PKT,
|
||||
STAT_DATA_PKT_MISS_SESS_B,
|
||||
|
||||
STAT_DATA_PKT_ERROR_BYPASS_PKT,
|
||||
STAT_DATA_PKT_ERROR_BYPASS_B,
|
||||
|
||||
STAT_DATA_PKT_ERROR_BLOCK_PKT,
|
||||
STAT_DATA_PKT_ERROR_BLOCK_B,
|
||||
|
||||
// sf_status_metrics
|
||||
STAT_SF_STATUS_ACTIVE,
|
||||
STAT_SF_STATUS_INACTIVE,
|
||||
|
||||
// ctrl_pkt_metrics
|
||||
STAT_CTRL_PKT_RX_PKT,
|
||||
@@ -88,84 +102,94 @@ enum SCE_STAT_FIELD
|
||||
STAT_SF_SESSION_NUM,
|
||||
STAT_SF_SESSION_LOG,
|
||||
|
||||
// sf_status_metrics
|
||||
STAT_SF_STATUS_ACTIVE,
|
||||
STAT_SF_STATUS_INACTIVE,
|
||||
|
||||
// max
|
||||
STAT_MAX,
|
||||
};
|
||||
|
||||
static const char *stat_map[] =
|
||||
{
|
||||
// device_metrics
|
||||
[STAT_DEVICE_NF_RX_PKT] = "nf_rx_pkt",
|
||||
[STAT_DEVICE_NF_RX_B] = "nf_rx_B",
|
||||
// device_nf
|
||||
[STAT_DEVICE_NF_RX_PKT] = "dev_nf_rx_P",
|
||||
[STAT_DEVICE_NF_RX_B] = "dev_nf_rx_B",
|
||||
|
||||
[STAT_DEVICE_NF_TX_PKT] = "nf_tx_pkt",
|
||||
[STAT_DEVICE_NF_TX_B] = "nf_tx_B",
|
||||
[STAT_DEVICE_NF_TX_PKT] = "dev_nf_tx_P",
|
||||
[STAT_DEVICE_NF_TX_B] = "dev_nf_tx_B",
|
||||
|
||||
[STAT_DEVICE_ENDPOINT_RX_PKT] = "endp_rx_pkt",
|
||||
[STAT_DEVICE_ENDPOINT_RX_B] = "endp_rx_B",
|
||||
|
||||
[STAT_DEVICE_ENDPOINT_TX_PKT] = "endp_tx_pkt",
|
||||
[STAT_DEVICE_ENDPOINT_TX_B] = "endp_tx_B",
|
||||
|
||||
// keepalived_pkt_metrics
|
||||
[STAT_KEE_PKT_DOWN_RX_PKT] = "kee_d_rx_pkt",
|
||||
[STAT_KEE_PKT_DOWN_RX_PKT] = "kee_d_rx_P",
|
||||
[STAT_KEE_PKT_DOWN_RX_B] = "kee_d_rx_B",
|
||||
|
||||
[STAT_KEE_PKT_DOWN_TX_PKT] = "kee_d_tx_pkt",
|
||||
[STAT_KEE_PKT_DOWN_TX_PKT] = "kee_d_tx_P",
|
||||
[STAT_KEE_PKT_DOWN_TX_B] = "kee_d_tx_B",
|
||||
|
||||
[STAT_KEE_PKT_UP_RX_PKT] = "kee_u_rx_pkt",
|
||||
// device_endpoint_vxlan
|
||||
[STAT_DEVICE_ENDPOINT_VXLAN_RX_PKT] = "dev_l3_rx_P",
|
||||
[STAT_DEVICE_ENDPOINT_VXLAN_RX_B] = "dev_l3_rx_B",
|
||||
|
||||
[STAT_DEVICE_ENDPOINT_VXLAN_TX_PKT] = "dev_l3_tx_P",
|
||||
[STAT_DEVICE_ENDPOINT_VXLAN_TX_B] = "dev_l3_tx_B",
|
||||
|
||||
[STAT_KEE_PKT_UP_RX_PKT] = "kee_u_rx_P",
|
||||
[STAT_KEE_PKT_UP_RX_B] = "kee_u_rx_B",
|
||||
|
||||
[STAT_KEE_PKT_UP_TX_DROP_PKT] = "kee_u_rxdop_pkt",
|
||||
[STAT_KEE_PKT_UP_TX_DROP_PKT] = "kee_u_rxdop_P",
|
||||
[STAT_KEE_PKT_UP_TX_DROP_B] = "kee_u_rxdop_B",
|
||||
|
||||
// raw_pkt_metrics
|
||||
[STAT_RAW_PKT_MIRR_BYPASS_PKT] = "mirr_bypass_pkt",
|
||||
[STAT_RAW_PKT_MIRR_BYPASS_B] = "mirr_bypass_B",
|
||||
// device_endpoint_vlan
|
||||
[STAT_DEVICE_ENDPOINT_VLAN_RX_PKT] = "dev_l2_rx_P",
|
||||
[STAT_DEVICE_ENDPOINT_VLAN_RX_B] = "dev_l2_rx_B",
|
||||
|
||||
[STAT_RAW_PKT_MIRR_BLOCK_PKT] = "mirr_block_pkt",
|
||||
[STAT_RAW_PKT_MIRR_BLOCK_B] = "mirr_block_B",
|
||||
[STAT_DEVICE_ENDPOINT_VLAN_TX_PKT] = "dev_l2_tx_P",
|
||||
[STAT_DEVICE_ENDPOINT_VLAN_TX_B] = "dev_l2_tx_B",
|
||||
|
||||
[STAT_RAW_PKT_MIRR_RX_DROP_PKT] = "mirr_rxdop_pkt",
|
||||
[STAT_RAW_PKT_MIRR_RX_DROP_B] = "mirr_rxdop_B",
|
||||
[STAT_DEVICE_ENDPOINT_VXLAN_DROP_PKT] = "dev_l3_dop_P",
|
||||
[STAT_DEVICE_ENDPOINT_VXLAN_DROP_B] = "dev_l3_dop_B",
|
||||
|
||||
[STAT_RAW_PKT_MIRR_TX_PKT] = "mirro_tx_pkt",
|
||||
[STAT_RAW_PKT_MIRR_TX_B] = "mirro_tx_B",
|
||||
[STAT_DEVICE_ENDPOINT_VLAN_DROP_PKT] = "dev_l2_dop_P",
|
||||
[STAT_DEVICE_ENDPOINT_VLAN_DROP_B] = "dev_l2_dop_B",
|
||||
|
||||
[STAT_RAW_PKT_STEE_BYPASS_PKT] = "stee_bypass_pkt",
|
||||
[STAT_RAW_PKT_STEE_BYPASS_B] = "stee_bypass_B",
|
||||
// data_pkt_metrics
|
||||
[STAT_DATA_PKT_MIRR_BYPASS_PKT] = "mirr_bypass_P",
|
||||
[STAT_DATA_PKT_MIRR_BYPASS_B] = "mirr_bypass_B",
|
||||
|
||||
[STAT_RAW_PKT_STEE_BLOCK_PKT] = "stee_block_pkt",
|
||||
[STAT_RAW_PKT_STEE_BLOCK_B] = "stee_block_B",
|
||||
[STAT_DATA_PKT_MIRR_BLOCK_PKT] = "mirr_block_P",
|
||||
[STAT_DATA_PKT_MIRR_BLOCK_B] = "mirr_block_B",
|
||||
|
||||
[STAT_RAW_PKT_STEE_RX_PKT] = "stee_rx_pkt",
|
||||
[STAT_RAW_PKT_STEE_RX_B] = "stee_rx_B",
|
||||
[STAT_DATA_PKT_MIRR_RX_DROP_PKT] = "mirr_rxdop_P",
|
||||
[STAT_DATA_PKT_MIRR_RX_DROP_B] = "mirr_rxdop_B",
|
||||
|
||||
[STAT_RAW_PKT_STEE_TX_PKT] = "stee_tx_pkt",
|
||||
[STAT_RAW_PKT_STEE_TX_B] = "stee_tx_B",
|
||||
[STAT_DATA_PKT_MIRR_TX_PKT] = "mirro_tx_P",
|
||||
[STAT_DATA_PKT_MIRR_TX_B] = "mirro_tx_B",
|
||||
|
||||
[STAT_RAW_PKT_MISS_SESS_PKT] = "miss_sess_pkt",
|
||||
[STAT_RAW_PKT_MISS_SESS_B] = "miss_sess_B",
|
||||
[STAT_DATA_PKT_STEE_BYPASS_PKT] = "stee_bypass_P",
|
||||
[STAT_DATA_PKT_STEE_BYPASS_B] = "stee_bypass_B",
|
||||
|
||||
[STAT_RAW_PKT_ERROR_BYPASS_PKT] = "err_bypass_pkt",
|
||||
[STAT_RAW_PKT_ERROR_BYPASS_B] = "err_bypass_B",
|
||||
[STAT_DATA_PKT_STEE_BLOCK_PKT] = "stee_block_P",
|
||||
[STAT_DATA_PKT_STEE_BLOCK_B] = "stee_block_B",
|
||||
|
||||
[STAT_RAW_PKT_ERROR_BLOCK_PKT] = "err_block_pkt",
|
||||
[STAT_RAW_PKT_ERROR_BLOCK_B] = "err_block_B",
|
||||
[STAT_DATA_PKT_STEE_RX_PKT] = "stee_rx_P",
|
||||
[STAT_DATA_PKT_STEE_RX_B] = "stee_rx_B",
|
||||
|
||||
[STAT_DEVICE_ENDPOINT_DROP_PKT] = "endp_drop_pkt",
|
||||
[STAT_DEVICE_ENDPOINT_DROP_B] = "endp_drop_B",
|
||||
[STAT_DATA_PKT_STEE_TX_PKT] = "stee_tx_P",
|
||||
[STAT_DATA_PKT_STEE_TX_B] = "stee_tx_B",
|
||||
|
||||
[STAT_DATA_PKT_MISS_SESS_PKT] = "miss_sess_P",
|
||||
[STAT_DATA_PKT_MISS_SESS_B] = "miss_sess_B",
|
||||
|
||||
[STAT_DATA_PKT_ERROR_BYPASS_PKT] = "err_bypass_P",
|
||||
[STAT_DATA_PKT_ERROR_BYPASS_B] = "err_bypass_B",
|
||||
|
||||
[STAT_DATA_PKT_ERROR_BLOCK_PKT] = "err_block_P",
|
||||
[STAT_DATA_PKT_ERROR_BLOCK_B] = "err_block_B",
|
||||
|
||||
// sf_status_metrics
|
||||
[STAT_SF_STATUS_ACTIVE] = "sf_active",
|
||||
[STAT_SF_STATUS_INACTIVE] = "sf_inactive",
|
||||
|
||||
// ctrl_pkt_metrics
|
||||
[STAT_CTRL_PKT_RX_PKT] = "ctrl_rx_pkt",
|
||||
[STAT_CTRL_PKT_RX_PKT] = "ctrl_rx_P",
|
||||
[STAT_CTRL_PKT_RX_B] = "ctrl_rx_B",
|
||||
|
||||
[STAT_CTRL_PKT_TX_PKT] = "ctrl_tx_pkt",
|
||||
[STAT_CTRL_PKT_TX_PKT] = "ctrl_tx_P",
|
||||
[STAT_CTRL_PKT_TX_B] = "ctrl_tx_B",
|
||||
|
||||
[STAT_CTRL_PKT_OPENING] = "ctrl_opening",
|
||||
@@ -175,13 +199,9 @@ static const char *stat_map[] =
|
||||
[STAT_CTRL_PKT_ERROR] = "ctrl_error",
|
||||
|
||||
// sf_session_metrics
|
||||
[STAT_SF_SESSION_NUM] = "session_num",
|
||||
[STAT_SF_SESSION_NUM] = "curr_sessions",
|
||||
[STAT_SF_SESSION_LOG] = "session_logs",
|
||||
|
||||
// sf_status_metrics
|
||||
[STAT_SF_STATUS_ACTIVE] = "sf_active",
|
||||
[STAT_SF_STATUS_INACTIVE] = "sf_inactive",
|
||||
|
||||
[STAT_MAX] = NULL};
|
||||
|
||||
static void global_metrics_parse_config(const char *profile, struct metrics_config *config)
|
||||
@@ -297,34 +317,43 @@ void global_metrics_dump(struct global_metrics *global_metrics)
|
||||
global_metrics->device.nf_rx.n_bytes += thread_metrics->device.nf_rx.n_bytes;
|
||||
global_metrics->device.nf_tx.n_pkts += thread_metrics->device.nf_tx.n_pkts;
|
||||
global_metrics->device.nf_tx.n_bytes += thread_metrics->device.nf_tx.n_bytes;
|
||||
global_metrics->device.endpoint_rx.n_pkts += thread_metrics->device.endpoint_rx.n_pkts;
|
||||
global_metrics->device.endpoint_rx.n_bytes += thread_metrics->device.endpoint_rx.n_bytes;
|
||||
global_metrics->device.endpoint_tx.n_pkts += thread_metrics->device.endpoint_tx.n_pkts;
|
||||
global_metrics->device.endpoint_tx.n_bytes += thread_metrics->device.endpoint_tx.n_bytes;
|
||||
global_metrics->device.endpoint_drop.n_pkts += thread_metrics->device.endpoint_drop.n_pkts;
|
||||
global_metrics->device.endpoint_drop.n_bytes += thread_metrics->device.endpoint_drop.n_bytes;
|
||||
global_metrics->raw_pkt.mirr_bypass.n_pkts += thread_metrics->raw_pkt.mirr_bypass.n_pkts;
|
||||
global_metrics->raw_pkt.mirr_bypass.n_bytes += thread_metrics->raw_pkt.mirr_bypass.n_bytes;
|
||||
global_metrics->raw_pkt.mirr_block.n_pkts += thread_metrics->raw_pkt.mirr_block.n_pkts;
|
||||
global_metrics->raw_pkt.mirr_block.n_bytes += thread_metrics->raw_pkt.mirr_block.n_bytes;
|
||||
global_metrics->raw_pkt.mirr_rx_drop.n_pkts += thread_metrics->raw_pkt.mirr_rx_drop.n_pkts;
|
||||
global_metrics->raw_pkt.mirr_rx_drop.n_bytes += thread_metrics->raw_pkt.mirr_rx_drop.n_bytes;
|
||||
global_metrics->raw_pkt.mirr_tx.n_pkts += thread_metrics->raw_pkt.mirr_tx.n_pkts;
|
||||
global_metrics->raw_pkt.mirr_tx.n_bytes += thread_metrics->raw_pkt.mirr_tx.n_bytes;
|
||||
global_metrics->raw_pkt.stee_bypass.n_pkts += thread_metrics->raw_pkt.stee_bypass.n_pkts;
|
||||
global_metrics->raw_pkt.stee_bypass.n_bytes += thread_metrics->raw_pkt.stee_bypass.n_bytes;
|
||||
global_metrics->raw_pkt.stee_block.n_pkts += thread_metrics->raw_pkt.stee_block.n_pkts;
|
||||
global_metrics->raw_pkt.stee_block.n_bytes += thread_metrics->raw_pkt.stee_block.n_bytes;
|
||||
global_metrics->raw_pkt.stee_rx.n_pkts += thread_metrics->raw_pkt.stee_rx.n_pkts;
|
||||
global_metrics->raw_pkt.stee_rx.n_bytes += thread_metrics->raw_pkt.stee_rx.n_bytes;
|
||||
global_metrics->raw_pkt.stee_tx.n_pkts += thread_metrics->raw_pkt.stee_tx.n_pkts;
|
||||
global_metrics->raw_pkt.stee_tx.n_bytes += thread_metrics->raw_pkt.stee_tx.n_bytes;
|
||||
global_metrics->raw_pkt.miss_sess.n_pkts += thread_metrics->raw_pkt.miss_sess.n_pkts;
|
||||
global_metrics->raw_pkt.miss_sess.n_bytes += thread_metrics->raw_pkt.miss_sess.n_bytes;
|
||||
global_metrics->raw_pkt.error_bypass.n_pkts += thread_metrics->raw_pkt.error_bypass.n_pkts;
|
||||
global_metrics->raw_pkt.error_bypass.n_bytes += thread_metrics->raw_pkt.error_bypass.n_bytes;
|
||||
global_metrics->raw_pkt.error_block.n_pkts += thread_metrics->raw_pkt.error_block.n_pkts;
|
||||
global_metrics->raw_pkt.error_block.n_bytes += thread_metrics->raw_pkt.error_block.n_bytes;
|
||||
|
||||
global_metrics->device.endpoint_vxlan_rx.n_pkts += thread_metrics->device.endpoint_vxlan_rx.n_pkts;
|
||||
global_metrics->device.endpoint_vxlan_rx.n_bytes += thread_metrics->device.endpoint_vxlan_rx.n_bytes;
|
||||
global_metrics->device.endpoint_vxlan_tx.n_pkts += thread_metrics->device.endpoint_vxlan_tx.n_pkts;
|
||||
global_metrics->device.endpoint_vxlan_tx.n_bytes += thread_metrics->device.endpoint_vxlan_tx.n_bytes;
|
||||
global_metrics->device.endpoint_vxlan_drop.n_pkts += thread_metrics->device.endpoint_vxlan_drop.n_pkts;
|
||||
global_metrics->device.endpoint_vxlan_drop.n_bytes += thread_metrics->device.endpoint_vxlan_drop.n_bytes;
|
||||
|
||||
global_metrics->device.endpoint_vlan_rx.n_pkts += thread_metrics->device.endpoint_vlan_rx.n_pkts;
|
||||
global_metrics->device.endpoint_vlan_rx.n_bytes += thread_metrics->device.endpoint_vlan_rx.n_bytes;
|
||||
global_metrics->device.endpoint_vlan_tx.n_pkts += thread_metrics->device.endpoint_vlan_tx.n_pkts;
|
||||
global_metrics->device.endpoint_vlan_tx.n_bytes += thread_metrics->device.endpoint_vlan_tx.n_bytes;
|
||||
global_metrics->device.endpoint_vlan_drop.n_pkts += thread_metrics->device.endpoint_vlan_drop.n_pkts;
|
||||
global_metrics->device.endpoint_vlan_drop.n_bytes += thread_metrics->device.endpoint_vlan_drop.n_bytes;
|
||||
|
||||
global_metrics->data_pkt.mirr_bypass.n_pkts += thread_metrics->data_pkt.mirr_bypass.n_pkts;
|
||||
global_metrics->data_pkt.mirr_bypass.n_bytes += thread_metrics->data_pkt.mirr_bypass.n_bytes;
|
||||
global_metrics->data_pkt.mirr_block.n_pkts += thread_metrics->data_pkt.mirr_block.n_pkts;
|
||||
global_metrics->data_pkt.mirr_block.n_bytes += thread_metrics->data_pkt.mirr_block.n_bytes;
|
||||
global_metrics->data_pkt.mirr_rx_drop.n_pkts += thread_metrics->data_pkt.mirr_rx_drop.n_pkts;
|
||||
global_metrics->data_pkt.mirr_rx_drop.n_bytes += thread_metrics->data_pkt.mirr_rx_drop.n_bytes;
|
||||
global_metrics->data_pkt.mirr_tx.n_pkts += thread_metrics->data_pkt.mirr_tx.n_pkts;
|
||||
global_metrics->data_pkt.mirr_tx.n_bytes += thread_metrics->data_pkt.mirr_tx.n_bytes;
|
||||
global_metrics->data_pkt.stee_bypass.n_pkts += thread_metrics->data_pkt.stee_bypass.n_pkts;
|
||||
global_metrics->data_pkt.stee_bypass.n_bytes += thread_metrics->data_pkt.stee_bypass.n_bytes;
|
||||
global_metrics->data_pkt.stee_block.n_pkts += thread_metrics->data_pkt.stee_block.n_pkts;
|
||||
global_metrics->data_pkt.stee_block.n_bytes += thread_metrics->data_pkt.stee_block.n_bytes;
|
||||
global_metrics->data_pkt.stee_rx.n_pkts += thread_metrics->data_pkt.stee_rx.n_pkts;
|
||||
global_metrics->data_pkt.stee_rx.n_bytes += thread_metrics->data_pkt.stee_rx.n_bytes;
|
||||
global_metrics->data_pkt.stee_tx.n_pkts += thread_metrics->data_pkt.stee_tx.n_pkts;
|
||||
global_metrics->data_pkt.stee_tx.n_bytes += thread_metrics->data_pkt.stee_tx.n_bytes;
|
||||
global_metrics->data_pkt.miss_sess.n_pkts += thread_metrics->data_pkt.miss_sess.n_pkts;
|
||||
global_metrics->data_pkt.miss_sess.n_bytes += thread_metrics->data_pkt.miss_sess.n_bytes;
|
||||
global_metrics->data_pkt.error_bypass.n_pkts += thread_metrics->data_pkt.error_bypass.n_pkts;
|
||||
global_metrics->data_pkt.error_bypass.n_bytes += thread_metrics->data_pkt.error_bypass.n_bytes;
|
||||
global_metrics->data_pkt.error_block.n_pkts += thread_metrics->data_pkt.error_block.n_pkts;
|
||||
global_metrics->data_pkt.error_block.n_bytes += thread_metrics->data_pkt.error_block.n_bytes;
|
||||
global_metrics->ctrl_pkt.rx.n_pkts += thread_metrics->ctrl_pkt.rx.n_pkts;
|
||||
global_metrics->ctrl_pkt.rx.n_bytes += thread_metrics->ctrl_pkt.rx.n_bytes;
|
||||
global_metrics->ctrl_pkt.tx.n_pkts += thread_metrics->ctrl_pkt.tx.n_pkts;
|
||||
@@ -359,48 +388,57 @@ void global_metrics_dump(struct global_metrics *global_metrics)
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_NF_TX_PKT], 0, FS_OP_SET, global_metrics->device.nf_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_NF_TX_B], 0, FS_OP_SET, global_metrics->device.nf_tx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_RX_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_rx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_RX_B], 0, FS_OP_SET, global_metrics->device.endpoint_rx.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VXLAN_RX_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_vxlan_rx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VXLAN_RX_B], 0, FS_OP_SET, global_metrics->device.endpoint_vxlan_rx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_TX_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_TX_B], 0, FS_OP_SET, global_metrics->device.endpoint_tx.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VXLAN_TX_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_vxlan_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VXLAN_TX_B], 0, FS_OP_SET, global_metrics->device.endpoint_vxlan_tx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_DROP_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_drop.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_DROP_B], 0, FS_OP_SET, global_metrics->device.endpoint_drop.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VXLAN_DROP_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_vxlan_drop.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VXLAN_DROP_B], 0, FS_OP_SET, global_metrics->device.endpoint_vxlan_drop.n_bytes);
|
||||
|
||||
// raw_pkt_metrics
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_BYPASS_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_bypass.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_BYPASS_B], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_bypass.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VLAN_RX_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_vlan_rx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VLAN_RX_B], 0, FS_OP_SET, global_metrics->device.endpoint_vlan_rx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_BLOCK_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_block.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_BLOCK_B], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_block.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VLAN_TX_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_vlan_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VLAN_TX_B], 0, FS_OP_SET, global_metrics->device.endpoint_vlan_tx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_RX_DROP_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_rx_drop.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_RX_DROP_B], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_rx_drop.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VLAN_DROP_PKT], 0, FS_OP_SET, global_metrics->device.endpoint_vlan_drop.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DEVICE_ENDPOINT_VLAN_DROP_B], 0, FS_OP_SET, global_metrics->device.endpoint_vlan_drop.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_TX_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MIRR_TX_B], 0, FS_OP_SET, global_metrics->raw_pkt.mirr_tx.n_bytes);
|
||||
// data_pkt_metrics
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_BYPASS_PKT], 0, FS_OP_SET, global_metrics->data_pkt.mirr_bypass.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_BYPASS_B], 0, FS_OP_SET, global_metrics->data_pkt.mirr_bypass.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_BYPASS_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.stee_bypass.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_BYPASS_B], 0, FS_OP_SET, global_metrics->raw_pkt.stee_bypass.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_BLOCK_PKT], 0, FS_OP_SET, global_metrics->data_pkt.mirr_block.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_BLOCK_B], 0, FS_OP_SET, global_metrics->data_pkt.mirr_block.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_BLOCK_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.stee_block.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_BLOCK_B], 0, FS_OP_SET, global_metrics->raw_pkt.stee_block.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_RX_DROP_PKT], 0, FS_OP_SET, global_metrics->data_pkt.mirr_rx_drop.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_RX_DROP_B], 0, FS_OP_SET, global_metrics->data_pkt.mirr_rx_drop.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_RX_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.stee_rx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_RX_B], 0, FS_OP_SET, global_metrics->raw_pkt.stee_rx.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_TX_PKT], 0, FS_OP_SET, global_metrics->data_pkt.mirr_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MIRR_TX_B], 0, FS_OP_SET, global_metrics->data_pkt.mirr_tx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_TX_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.stee_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_STEE_TX_B], 0, FS_OP_SET, global_metrics->raw_pkt.stee_tx.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_BYPASS_PKT], 0, FS_OP_SET, global_metrics->data_pkt.stee_bypass.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_BYPASS_B], 0, FS_OP_SET, global_metrics->data_pkt.stee_bypass.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MISS_SESS_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.miss_sess.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_MISS_SESS_B], 0, FS_OP_SET, global_metrics->raw_pkt.miss_sess.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_BLOCK_PKT], 0, FS_OP_SET, global_metrics->data_pkt.stee_block.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_BLOCK_B], 0, FS_OP_SET, global_metrics->data_pkt.stee_block.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_ERROR_BYPASS_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.error_bypass.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_ERROR_BYPASS_B], 0, FS_OP_SET, global_metrics->raw_pkt.error_bypass.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_RX_PKT], 0, FS_OP_SET, global_metrics->data_pkt.stee_rx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_RX_B], 0, FS_OP_SET, global_metrics->data_pkt.stee_rx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_ERROR_BLOCK_PKT], 0, FS_OP_SET, global_metrics->raw_pkt.error_block.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_RAW_PKT_ERROR_BLOCK_B], 0, FS_OP_SET, global_metrics->raw_pkt.error_block.n_bytes);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_TX_PKT], 0, FS_OP_SET, global_metrics->data_pkt.stee_tx.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_STEE_TX_B], 0, FS_OP_SET, global_metrics->data_pkt.stee_tx.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MISS_SESS_PKT], 0, FS_OP_SET, global_metrics->data_pkt.miss_sess.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_MISS_SESS_B], 0, FS_OP_SET, global_metrics->data_pkt.miss_sess.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_ERROR_BYPASS_PKT], 0, FS_OP_SET, global_metrics->data_pkt.error_bypass.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_ERROR_BYPASS_B], 0, FS_OP_SET, global_metrics->data_pkt.error_bypass.n_bytes);
|
||||
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_ERROR_BLOCK_PKT], 0, FS_OP_SET, global_metrics->data_pkt.error_block.n_pkts);
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_DATA_PKT_ERROR_BLOCK_B], 0, FS_OP_SET, global_metrics->data_pkt.error_block.n_bytes);
|
||||
|
||||
// ctrl_pkt_metrics
|
||||
FS_operate(global_metrics->fs_handle, global_metrics->fs_id[STAT_CTRL_PKT_RX_PKT], 0, FS_OP_SET, global_metrics->ctrl_pkt.rx.n_pkts);
|
||||
|
||||
Reference in New Issue
Block a user