unify tools naming
[dpdk.git] / lib / librte_eal / common / eal_common_options.c
index bed7385..481c732 100644 (file)
@@ -115,6 +115,15 @@ TAILQ_HEAD_INITIALIZER(solib_list);
 /* Default path of external loadable drivers */
 static const char *default_solib_dir = RTE_EAL_PMD_PATH;
 
+/*
+ * Stringified version of solib path used by dpdk-pmdinfo.py
+ * Note: PLEASE DO NOT ALTER THIS without making a corresponding
+ * change to tools/dpdk-pmdinfo.py
+ */
+static const char dpdk_solib_path[] __attribute__((used)) =
+"DPDK_PLUGIN_PATH=" RTE_EAL_PMD_PATH;
+
+
 static int master_lcore_parsed;
 static int mem_parsed;
 
@@ -139,7 +148,11 @@ eal_reset_internal_config(struct internal_config *internal_cfg)
 
        internal_cfg->syslog_facility = LOG_DAEMON;
        /* default value from build option */
+#if RTE_LOG_LEVEL >= RTE_LOG_DEBUG
+       internal_cfg->log_level = RTE_LOG_INFO;
+#else
        internal_cfg->log_level = RTE_LOG_LEVEL;
+#endif
 
        internal_cfg->xen_dom0_support = 0;
 
@@ -191,12 +204,14 @@ eal_plugindir_init(const char *path)
        }
 
        while ((dent = readdir(d)) != NULL) {
-               if (dent->d_type != DT_REG && dent->d_type != DT_LNK)
-                       continue;
+               struct stat sb;
 
                snprintf(sopath, PATH_MAX-1, "%s/%s", path, dent->d_name);
                sopath[PATH_MAX-1] = 0;
 
+               if (!(stat(sopath, &sb) == 0 && S_ISREG(sb.st_mode)))
+                       continue;
+
                if (eal_plugin_add(sopath) == -1)
                        break;
        }
@@ -216,22 +231,15 @@ eal_plugins_init(void)
 
        TAILQ_FOREACH(solib, &solib_list, next) {
                struct stat sb;
-               if (stat(solib->name, &sb) == -1) {
-                       RTE_LOG(ERR, EAL, "Invalid plugin specified: %s: %s\n",
-                               solib->name, strerror(errno));
-                       return -1;
-               }
 
-               switch (sb.st_mode & S_IFMT) {
-               case S_IFDIR:
+               if (stat(solib->name, &sb) == 0 && S_ISDIR(sb.st_mode)) {
                        if (eal_plugindir_init(solib->name) == -1) {
                                RTE_LOG(ERR, EAL,
                                        "Cannot init plugin directory %s\n",
                                        solib->name);
                                return -1;
                        }
-                       break;
-               case S_IFREG:
+               } else {
                        RTE_LOG(DEBUG, EAL, "open shared lib %s\n",
                                solib->name);
                        solib->lib_handle = dlopen(solib->name, RTLD_NOW);
@@ -239,7 +247,6 @@ eal_plugins_init(void)
                                RTE_LOG(ERR, EAL, "%s\n", dlerror());
                                return -1;
                        }
-                       break;
                }
 
        }
@@ -803,8 +810,7 @@ eal_parse_common_option(int opt, const char *optarg,
        /* force number of channels */
        case 'n':
                conf->force_nchannel = atoi(optarg);
-               if (conf->force_nchannel == 0 ||
-                   conf->force_nchannel > 4) {
+               if (conf->force_nchannel == 0) {
                        RTE_LOG(ERR, EAL, "invalid channel number\n");
                        return -1;
                }