+ if (getuid() != 0) {
+ dir_home = getenv(SOCKET_PATH_HOME);
+ if (!dir_home) {
+ RTE_LOG(ERR, PDUMP,
+ "Failed to get environment variable"
+ " value for %s, %s:%d\n",
+ SOCKET_PATH_HOME, __func__, __LINE__);
+ return -1;
+ }
+ 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, 0700);
+ snprintf(dir, sizeof(dir), "%s%s",
+ dpdk_dir, SOCKET_DIR);
+ }
+
+ ret = mkdir(dir, 0700);
+ /* if user passed socket path is invalid, return immediately */
+ if (ret < 0 && errno != EEXIST) {
+ RTE_LOG(ERR, PDUMP,
+ "Failed to create dir:%s:%s\n", dir,
+ strerror(errno));
+ rte_errno = errno;
+ return -1;