From patchwork Sun Jun 28 10:58:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fady Bader X-Patchwork-Id: 72377 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C110CA0350; Sun, 28 Jun 2020 12:59:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DDE821C1DC; Sun, 28 Jun 2020 12:59:11 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 89FF61C1DC for ; Sun, 28 Jun 2020 12:59:10 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from fady@mellanox.com) with SMTP; 28 Jun 2020 13:59:08 +0300 Received: from l-wincomp04-vm.labs.mlnx (l-wincomp04-vm.mtl.labs.mlnx [10.237.1.5]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 05SAx7gl021736; Sun, 28 Jun 2020 13:59:07 +0300 From: Fady Bader To: dev@dpdk.org Cc: fady@mellanox.com, thomas@monjalon.net, tbashar@mellanox.com, talshn@mellanox.com, yohadt@mellanox.com, dmitry.kozliuk@gmail.com, harini.ramakrishnan@microsoft.com, ocardona@microsoft.com, ranjit.menon@intel.com, pallavi.kadam@intel.com, kevin.laatz@intel.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, ciara.power@intel.com Date: Sun, 28 Jun 2020 13:58:50 +0300 Message-Id: <20200628105851.14916-5-fady@mellanox.com> X-Mailer: git-send-email 2.16.1.windows.4 In-Reply-To: <20200628105851.14916-1-fady@mellanox.com> References: <20200625133038.25180-2-fady@mellanox.com> <20200628105851.14916-1-fady@mellanox.com> Subject: [dpdk-dev] [PATCH v2 4/5] telemetry: implement empty stubs for Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Telemetry didn't compile under Windows. Empty stubs implementation was added for Windows. Signed-off-by: Fady Bader --- lib/librte_telemetry/rte_telemetry.h | 4 +++ lib/librte_telemetry/telemetry.c | 51 ++++++++++++++++++++++++++++++++- lib/librte_telemetry/telemetry_legacy.c | 26 ++++++++++++++++- 3 files changed, 79 insertions(+), 2 deletions(-) diff --git a/lib/librte_telemetry/rte_telemetry.h b/lib/librte_telemetry/rte_telemetry.h index eb7f2c917c..bad255c385 100644 --- a/lib/librte_telemetry/rte_telemetry.h +++ b/lib/librte_telemetry/rte_telemetry.h @@ -5,6 +5,10 @@ #include #include +#ifdef RTE_EXEC_ENV_WINDOWS +#include +#endif + #ifndef _RTE_TELEMETRY_H_ #define _RTE_TELEMETRY_H_ diff --git a/lib/librte_telemetry/telemetry.c b/lib/librte_telemetry/telemetry.c index e7e3d861dd..c5443193a9 100644 --- a/lib/librte_telemetry/telemetry.c +++ b/lib/librte_telemetry/telemetry.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2020 Intel Corporation */ - +#ifndef RTE_EXEC_ENV_WINDOWS #include #include #include @@ -20,6 +20,20 @@ #include "telemetry_data.h" #include "rte_telemetry_legacy.h" +#else + +/* includes for Windows */ +#include +#include + +#include "rte_telemetry.h" +#include "telemetry_json.h" +#include "telemetry_data.h" +#include "rte_telemetry_legacy.h" + +#endif + +#ifndef RTE_EXEC_ENV_WINDOWS #define MAX_CMD_LEN 56 #define MAX_HELP_LEN 64 #define MAX_OUTPUT_LEN (1024 * 16) @@ -40,16 +54,23 @@ struct socket { }; static struct socket v2_socket; /* socket for v2 telemetry */ static struct socket v1_socket; /* socket for v1 telemetry */ +#endif + static char telemetry_log_error[1024]; /* Will contain error on init failure */ + +#ifndef RTE_EXEC_ENV_WINDOWS /* list of command callbacks, with one command registered by default */ static struct cmd_callback callbacks[TELEMETRY_MAX_CALLBACKS]; static int num_callbacks; /* How many commands are registered */ /* Used when accessing or modifying list of command callbacks */ static rte_spinlock_t callback_sl = RTE_SPINLOCK_INITIALIZER; +#endif int rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help) { +#ifndef RTE_EXEC_ENV_WINDOWS + int i = 0; if (strlen(cmd) >= MAX_CMD_LEN || fn == NULL || cmd[0] != '/' @@ -73,8 +94,19 @@ rte_telemetry_register_cmd(const char *cmd, telemetry_cb fn, const char *help) rte_spinlock_unlock(&callback_sl); return 0; + +#else + + RTE_SET_USED(cmd); + RTE_SET_USED(fn); + RTE_SET_USED(help); + + return 0; + +#endif } +#ifndef RTE_EXEC_ENV_WINDOWS static int list_commands(const char *cmd __rte_unused, const char *params __rte_unused, struct rte_tel_data *d) @@ -396,11 +428,14 @@ telemetry_v2_init(const char *runtime_dir, rte_cpuset_t *cpuset) return 0; } +#endif int32_t rte_telemetry_init(const char *runtime_dir, rte_cpuset_t *cpuset, const char **err_str) { +#ifndef RTE_EXEC_ENV_WINDOWS + if (telemetry_v2_init(runtime_dir, cpuset) != 0) { *err_str = telemetry_log_error; return -1; @@ -409,4 +444,18 @@ rte_telemetry_init(const char *runtime_dir, rte_cpuset_t *cpuset, *err_str = telemetry_log_error; } return 0; + +#else + + RTE_SET_USED(runtime_dir); + RTE_SET_USED(cpuset); + RTE_SET_USED(err_str); + + snprintf(telemetry_log_error, sizeof(telemetry_log_error), + "Telemetry is not supported on Windows."); + + return 0; + +#endif } + diff --git a/lib/librte_telemetry/telemetry_legacy.c b/lib/librte_telemetry/telemetry_legacy.c index a341fe4ebd..674f9c40ef 100644 --- a/lib/librte_telemetry/telemetry_legacy.c +++ b/lib/librte_telemetry/telemetry_legacy.c @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2020 Intel Corporation */ - +#ifndef RTE_EXEC_ENV_WINDOWS #include #include #include @@ -15,6 +15,15 @@ #include "rte_telemetry_legacy.h" +#else + +#include + +#include "rte_telemetry_legacy.h" + +#endif +#ifndef RTE_EXEC_ENV_WINDOWS + #define MAX_LEN 128 #define BUF_SIZE 1024 #define CLIENTS_UNREG_ACTION "\"action\":2" @@ -48,12 +57,15 @@ struct json_command callbacks[TELEMETRY_LEGACY_MAX_CALLBACKS] = { }; int num_legacy_callbacks = 1; static rte_spinlock_t callback_sl = RTE_SPINLOCK_INITIALIZER; +#endif int rte_telemetry_legacy_register(const char *cmd, enum rte_telemetry_legacy_data_req data_req, telemetry_legacy_cb fn) { +#ifndef RTE_EXEC_ENV_WINDOWS + if (fn == NULL) return -EINVAL; if (num_legacy_callbacks >= (int) RTE_DIM(callbacks)) @@ -71,8 +83,19 @@ rte_telemetry_legacy_register(const char *cmd, rte_spinlock_unlock(&callback_sl); return 0; + +#else + + RTE_SET_USED(cmd); + RTE_SET_USED(data_req); + RTE_SET_USED(fn); + + return 0; + +#endif } +#ifndef RTE_EXEC_ENV_WINDOWS static int register_client(const char *cmd __rte_unused, const char *params, char *buffer __rte_unused, int buf_len __rte_unused) @@ -239,3 +262,4 @@ legacy_client_handler(void *sock_id) close(s); return NULL; } +#endif