{
int i;
q = 0;
- clib_bitmap_foreach (i, devconf->workers, ({
+ clib_bitmap_foreach (i, devconf->workers) {
vnet_hw_interface_assign_rx_thread (dm->vnet_main, xd->hw_if_index, q++,
vdm->first_worker_thread_index + i);
- }));
+ }
}
else
for (q = 0; q < xd->rx_q_used; q++)
u8 *s, *tmp = 0;
int ret, i;
int num_whitelisted = 0;
+ int eal_no_hugetlb = 0;
u8 no_pci = 0;
u8 no_vmbus = 0;
u8 file_prefix = 0;
if (unformat (input, "no-hugetlb"))
{
vec_add1 (conf->eal_init_args, (u8 *) "--no-huge");
+ eal_no_hugetlb = 1;
}
+ else if (unformat (input, "telemetry"))
+ conf->enable_telemetry = 1;
else if (unformat (input, "enable-tcp-udp-checksum"))
conf->enable_tcp_udp_checksum = 1;
if (!conf->uio_driver_name)
conf->uio_driver_name = format (0, "auto%c", 0);
- default_hugepage_sz = clib_mem_get_default_hugepage_size ();
+ if (eal_no_hugetlb == 0)
+ {
+ vec_add1 (conf->eal_init_args, (u8 *) "--in-memory");
- /* *INDENT-OFF* */
- clib_bitmap_foreach (x, tm->cpu_socket_bitmap, (
+ default_hugepage_sz = clib_mem_get_default_hugepage_size ();
+
+ /* *INDENT-OFF* */
+ clib_bitmap_foreach (x, tm->cpu_socket_bitmap)
+ {
+ clib_error_t *e;
+ uword n_pages;
+ /* preallocate at least 16MB of hugepages per socket,
+ if more is needed it is up to consumer to preallocate more */
+ n_pages = round_pow2 ((uword) 16 << 20, default_hugepage_sz);
+ n_pages /= default_hugepage_sz;
+
+ if ((e = clib_sysfs_prealloc_hugepages(x, 0, n_pages)))
+ clib_error_report (e);
+ }
+ /* *INDENT-ON* */
+ }
+
+ /* on/off dpdk's telemetry thread */
+ if (conf->enable_telemetry == 0)
{
- clib_error_t *e;
- uword n_pages;
- /* preallocate at least 16MB of hugepages per socket,
- if more is needed it is up to consumer to preallocate more */
- n_pages = round_pow2 ((uword) 16 << 20, default_hugepage_sz);
- n_pages /= default_hugepage_sz;
-
- if ((e = clib_sysfs_prealloc_hugepages(x, 0, n_pages)))
- clib_error_report (e);
- }));
- /* *INDENT-ON* */
+ vec_add1 (conf->eal_init_args, (u8 *) "--no-telemetry");
+ }
if (!file_prefix)
{
devconf->x = conf->default_devconf.x ;
/* *INDENT-OFF* */
- pool_foreach (devconf, conf->dev_confs, ({
+ pool_foreach (devconf, conf->dev_confs) {
/* default per-device config items */
foreach_dpdk_device_config_item
/* add DPDK EAL whitelist/blacklist entry */
if (num_whitelisted > 0 && devconf->is_blacklisted == 0)
{
- tmp = format (0, "-w%c", 0);
+ tmp = format (0, "-a%c", 0);
vec_add1 (conf->eal_init_args, tmp);
if (devconf->devargs)
{
tmp = format (0, "%U%c", format_vlib_pci_addr, &devconf->pci_addr, 0);
vec_add1 (conf->eal_init_args, tmp);
}
- }));
+ }
/* *INDENT-ON* */
#undef _
/* set master-lcore */
- tmp = format (0, "--master-lcore%c", 0);
+ tmp = format (0, "--main-lcore%c", 0);
vec_add1 (conf->eal_init_args, tmp);
tmp = format (0, "%u%c", tm->main_lcore, 0);
vec_add1 (conf->eal_init_args, tmp);
dm->conf->nchannels = 4;
vec_add1 (dm->conf->eal_init_args, (u8 *) "vnet");
- vec_add1 (dm->conf->eal_init_args, (u8 *) "--in-memory");
/* Default vlib_buffer_t flags, DISABLES tcp/udp checksumming... */
dm->buffer_flags_template = (VLIB_BUFFER_TOTAL_LENGTH_VALID |