If the library fails to create the needed socket, add an additional
check to report if the error is due to a missing DPDK runtime dir.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Ciara Power <ciara.power@intel.com>
#include <pthread.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <sys/stat.h>
#include <dlfcn.h>
#endif /* !RTE_EXEC_ENV_WINDOWS */
strlcpy(sun.sun_path, path, sizeof(sun.sun_path));
unlink(sun.sun_path);
if (bind(sock, (void *) &sun, sizeof(sun)) < 0) {
+ struct stat st;
+
TMTY_LOG(ERR, "Error binding socket: %s\n", strerror(errno));
+ if (stat(socket_dir, &st) < 0 || !S_ISDIR(st.st_mode))
+ TMTY_LOG(ERR, "Cannot access DPDK runtime directory: %s\n", socket_dir);
sun.sun_path[0] = 0;
goto error;
}