Fix toeplitz initialization key and rss key len for mlx4
[samplevnf.git] / VNFs / vCGNAPT / init.c
index 76621d5..2716f75 100644 (file)
@@ -75,6 +75,7 @@ app_init_core_mask(struct app_params *app)
                        p->socket_id,
                        p->core_id,
                        p->hyper_th_id);
+               printf("lcore_id:%d\n", lcore_id);
 
                if (lcore_id < 0)
                        rte_panic("Cannot create CPU core mask\n");
@@ -97,14 +98,20 @@ app_init_eal(struct app_params *app)
        uint32_t i;
        int status;
 
+       if (unlikely (n_args >= APP_EAL_ARGC))
+               goto error_exit;
        app->eal_argv[n_args++] = strdup(app->app_name);
 
        app_core_build_core_mask_string(app, core_mask_str);
        snprintf(buffer, sizeof(buffer), "-c%s", core_mask_str);
+       if (unlikely (n_args >= APP_EAL_ARGC))
+               goto error_exit;
        app->eal_argv[n_args++] = strdup(buffer);
 
        if (p->coremap) {
                snprintf(buffer, sizeof(buffer), "--lcores=%s", p->coremap);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -113,19 +120,27 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--master-lcore=%" PRIu32,
                        p->master_lcore);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        snprintf(buffer, sizeof(buffer), "-n%" PRIu32, p->channels);
+       if (unlikely (n_args >= APP_EAL_ARGC))
+               goto error_exit;
        app->eal_argv[n_args++] = strdup(buffer);
 
        if (p->memory_present) {
                snprintf(buffer, sizeof(buffer), "-m%" PRIu32, p->memory);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if (p->ranks_present) {
                snprintf(buffer, sizeof(buffer), "-r%" PRIu32, p->ranks);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -137,6 +152,8 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--pci-blacklist=%s",
                        p->pci_blacklist[i]);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -149,8 +166,10 @@ app_init_eal(struct app_params *app)
                                sizeof(buffer),
                                "--pci-whitelist=%s",
                                p->pci_whitelist[i]);
+                       if (unlikely (n_args >= APP_EAL_ARGC))
+                               goto error_exit;
                        if (n_args < 255)
-                       app->eal_argv[n_args++] = strdup(buffer);
+                               app->eal_argv[n_args++] = strdup(buffer);
                }
        else
                for (i = 0; i < app->n_links; i++) {
@@ -160,6 +179,8 @@ app_init_eal(struct app_params *app)
                                sizeof(buffer),
                                "--pci-whitelist=%s",
                                pci_bdf);
+                       if (unlikely (n_args >= APP_EAL_ARGC))
+                               goto error_exit;
                        app->eal_argv[n_args++] = strdup(buffer);
                }
 
@@ -171,11 +192,15 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--vdev=%s",
                        p->vdev[i]);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->vmware_tsc_map_present) && p->vmware_tsc_map) {
                snprintf(buffer, sizeof(buffer), "--vmware-tsc-map");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -184,11 +209,15 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--proc-type=%s",
                        p->proc_type);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if (p->syslog) {
                snprintf(buffer, sizeof(buffer), "--syslog=%s", p->syslog);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -197,41 +226,57 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--log-level=%" PRIu32,
                        p->log_level);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->version_present) && p->version) {
                snprintf(buffer, sizeof(buffer), "-v");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->help_present) && p->help) {
                snprintf(buffer, sizeof(buffer), "--help");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->no_huge_present) && p->no_huge) {
                snprintf(buffer, sizeof(buffer), "--no-huge");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->no_pci_present) && p->no_pci) {
                snprintf(buffer, sizeof(buffer), "--no-pci");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->no_hpet_present) && p->no_hpet) {
                snprintf(buffer, sizeof(buffer), "--no-hpet");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->no_shconf_present) && p->no_shconf) {
                snprintf(buffer, sizeof(buffer), "--no-shconf");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if (p->add_driver) {
                snprintf(buffer, sizeof(buffer), "-d=%s", p->add_driver);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -240,11 +285,15 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--socket-mem=%s",
                        p->socket_mem);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if (p->huge_dir) {
                snprintf(buffer, sizeof(buffer), "--huge-dir=%s", p->huge_dir);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -253,6 +302,8 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--file-prefix=%s",
                        p->file_prefix);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -261,11 +312,15 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--base-virtaddr=%s",
                        p->base_virtaddr);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->create_uio_dev_present) && p->create_uio_dev) {
                snprintf(buffer, sizeof(buffer), "--create-uio-dev");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
@@ -274,15 +329,21 @@ app_init_eal(struct app_params *app)
                        sizeof(buffer),
                        "--vfio-intr=%s",
                        p->vfio_intr);
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        if ((p->xen_dom0_present) && (p->xen_dom0)) {
                snprintf(buffer, sizeof(buffer), "--xen-dom0");
+               if (unlikely (n_args >= APP_EAL_ARGC))
+                       goto error_exit;
                app->eal_argv[n_args++] = strdup(buffer);
        }
 
        snprintf(buffer, sizeof(buffer), "--");
+       if (unlikely (n_args >= APP_EAL_ARGC))
+               goto error_exit;
        app->eal_argv[n_args++] = strdup(buffer);
 
        app->eal_argc = n_args;
@@ -298,8 +359,10 @@ app_init_eal(struct app_params *app)
        }
 
        status = rte_eal_init(app->eal_argc, app->eal_argv);
-       if (status < 0)
+       if (status < 0) {
+error_exit:
                rte_panic("EAL init error\n");
+       }
 }
 #if 0
 static void