From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 0FFC8C5C8 for ; Fri, 24 Jun 2016 18:36:26 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP; 24 Jun 2016 09:36:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,521,1459839600"; d="scan'208";a="724544124" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by FMSMGA003.fm.intel.com with ESMTP; 24 Jun 2016 09:36:25 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id u5OGaPgx022363; Fri, 24 Jun 2016 17:36:25 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id u5OGaPGb003933; Fri, 24 Jun 2016 17:36:25 +0100 Received: (from reshmapa@localhost) by sivswdev02.ir.intel.com with id u5OGaP2M003928; Fri, 24 Jun 2016 17:36:25 +0100 From: Reshma Pattan To: dev@dpdk.org Cc: Reshma Pattan Date: Fri, 24 Jun 2016 17:36:19 +0100 Message-Id: <1466786183-3772-2-git-send-email-reshma.pattan@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1466786183-3772-1-git-send-email-reshma.pattan@intel.com> References: <1466776473-30883-1-git-send-email-reshma.pattan@intel.com> <1466786183-3772-1-git-send-email-reshma.pattan@intel.com> Subject: [dpdk-dev] [PATCH v5 1/5] pdump: fix default socket path X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jun 2016 16:36:27 -0000 SOCKET_PATH_HOME is to specify environment variable "HOME", so it should not contain "/pdump_sockets" in the macro. So removed "/pdump_sockets" from SOCKET_PATH_HOME and SOCKET_PATH_VAR_RUN. New changes will create pdump sockets under /var/run/.dpdk/pdump_sockets for root users and under HOME/.dpdk/pdump_sockets for non root users. Changes are done in pdump_get_socket_path() to accommodate new socket path changes. Fixes: 278f945402c5 ("pdump: add new library for packet capture") Signed-off-by: Reshma Pattan --- lib/librte_pdump/rte_pdump.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c index c921f51..70efd96 100644 --- a/lib/librte_pdump/rte_pdump.c +++ b/lib/librte_pdump/rte_pdump.c @@ -50,8 +50,10 @@ #include "rte_pdump.h" -#define SOCKET_PATH_VAR_RUN "/var/run/pdump_sockets" -#define SOCKET_PATH_HOME "HOME/pdump_sockets" +#define SOCKET_PATH_VAR_RUN "/var/run" +#define SOCKET_PATH_HOME "HOME" +#define DPDK_DIR "/.dpdk" +#define SOCKET_DIR "/pdump_sockets" #define SERVER_SOCKET "%s/pdump_server_socket" #define CLIENT_SOCKET "%s/pdump_client_socket_%d_%u" #define DEVICE_ID_SIZE 64 @@ -444,17 +446,26 @@ set_pdump_rxtx_cbs(struct pdump_request *p) static void pdump_get_socket_path(char *buffer, int bufsz, enum rte_pdump_socktype type) { - const char *dir = NULL; + char dpdk_dir[PATH_MAX] = {0}; + char dir[PATH_MAX] = {0}; + char *dir_home = NULL; if (type == RTE_PDUMP_SOCKET_SERVER && server_socket_dir[0] != 0) - dir = server_socket_dir; + snprintf(dir, sizeof(dir), "%s", server_socket_dir); else if (type == RTE_PDUMP_SOCKET_CLIENT && client_socket_dir[0] != 0) - dir = client_socket_dir; + snprintf(dir, sizeof(dir), "%s", client_socket_dir); else { - if (getuid() != 0) - dir = getenv(SOCKET_PATH_HOME); - else - dir = SOCKET_PATH_VAR_RUN; + if (getuid() != 0) { + dir_home = getenv(SOCKET_PATH_HOME); + snprintf(dpdk_dir, sizeof(dpdk_dir), "%s%s", + dir_home, DPDK_DIR); + } else + snprintf(dpdk_dir, sizeof(dpdk_dir), "%s%s", + SOCKET_PATH_VAR_RUN, DPDK_DIR); + + mkdir(dpdk_dir, 700); + snprintf(dir, sizeof(dir), "%s%s", + dpdk_dir, SOCKET_DIR); } mkdir(dir, 700); -- 2.5.0