X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_telemetry%2Frte_telemetry_internal.h;h=3f8dbc2db536140a62127b08071028e557d58772;hb=4a73c86ff616498768aa77ebad8115f99feff2aa;hp=0082cb2ca2d66c95bb2a98c7b2a0dcf1fc8de03b;hpb=67c3c2de48105f58bd478675c3f09b6b4261d06c;p=dpdk.git diff --git a/lib/librte_telemetry/rte_telemetry_internal.h b/lib/librte_telemetry/rte_telemetry_internal.h index 0082cb2ca2..3f8dbc2db5 100644 --- a/lib/librte_telemetry/rte_telemetry_internal.h +++ b/lib/librte_telemetry/rte_telemetry_internal.h @@ -24,6 +24,8 @@ extern int telemetry_log_level; #define TELEMETRY_LOG_INFO(fmt, args...) \ TELEMETRY_LOG(INFO, fmt, ## args) +#define MAX_METRICS 256 + typedef struct telemetry_client { char *file_path; int fd; @@ -36,7 +38,7 @@ typedef struct telemetry_impl { pthread_t thread_id; int thread_status; uint32_t socket_id; - int reg_index; + int reg_index[RTE_MAX_ETHPORTS]; int metrics_register_done; TAILQ_HEAD(, telemetry_client) client_list_head; struct telemetry_client *request_client; @@ -48,6 +50,28 @@ enum rte_telemetry_parser_actions { ACTION_DELETE = 2 }; +enum rte_telemetry_stats_type { + PORT_STATS = 0, + GLOBAL_STATS = 1 +}; + +/* @internal */ +struct telemetry_encode_param { + enum rte_telemetry_stats_type type; + union { + struct port_param { + int num_metric_ids; + uint32_t metric_ids[MAX_METRICS]; + int num_port_ids; + uint32_t port_ids[RTE_MAX_ETHPORTS]; + } pp; + struct global_param { + int num_metric_ids; + uint32_t metric_ids[MAX_METRICS]; + } gp; + }; +}; + int32_t rte_telemetry_parse_client_message(struct telemetry_impl *telemetry, char *buf); @@ -72,7 +96,17 @@ int32_t rte_telemetry_is_port_active(int port_id); int32_t -rte_telemetry_send_ports_stats_values(uint32_t *metric_ids, int num_metric_ids, - uint32_t *port_ids, int num_port_ids, struct telemetry_impl *telemetry); +rte_telemetry_send_ports_stats_values(struct telemetry_encode_param *ep, + struct telemetry_impl *telemetry); + +int32_t +rte_telemetry_socket_messaging_testing(int index, int socket); + +int32_t +rte_telemetry_send_global_stats_values(struct telemetry_encode_param *ep, + struct telemetry_impl *telemetry); + +int32_t +rte_telemetry_parser_test(struct telemetry_impl *telemetry); #endif