On 11-Sep-20 8:06 PM, Stephen Hemminger wrote:
> Make sure that master lcore is not used in documentation.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> doc/guides/faq/faq.rst | 2 +-
> doc/guides/linux_gsg/eal_args.include.rst | 2 +-
> doc/guides/nics/bnxt.rst | 2 +-
> doc/guides/prog_guide/env_abstraction_layer.rst | 6 +++---
> doc/guides/prog_guide/event_ethernet_rx_adapter.rst | 2 +-
> doc/guides/prog_guide/glossary.rst | 10 ++++++++--
> doc/guides/sample_app_ug/bbdev_app.rst | 2 +-
> doc/guides/sample_app_ug/ethtool.rst | 2 +-
> doc/guides/sample_app_ug/hello_world.rst | 2 +-
> doc/guides/sample_app_ug/ioat.rst | 10 +++++-----
> doc/guides/sample_app_ug/ip_pipeline.rst | 2 +-
> doc/guides/sample_app_ug/l2_forward_event.rst | 2 +-
> doc/guides/sample_app_ug/l2_forward_real_virtual.rst | 2 +-
> doc/guides/sample_app_ug/l3_forward_power_man.rst | 2 +-
> doc/guides/sample_app_ug/link_status_intr.rst | 2 +-
> doc/guides/sample_app_ug/multi_process.rst | 2 +-
> doc/guides/sample_app_ug/packet_ordering.rst | 2 +-
> doc/guides/sample_app_ug/performance_thread.rst | 4 ++--
> doc/guides/sample_app_ug/ptpclient.rst | 2 +-
> doc/guides/sample_app_ug/timer.rst | 8 ++++----
> doc/guides/testpmd_app_ug/run_app.rst | 2 +-
> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +-
> 22 files changed, 39 insertions(+), 33 deletions(-)
Missed a few of updates:
- Coding style guide @ line 342
- Debug/troublshooting guide @ line 315
- Logs in quickstart guide @ lines 235 and 297
- QoS scheduler guide @ lines 74 and 332
>
> diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst
> index bb1df7dc8a0f..d517e08a1e1f 100644
> --- a/doc/guides/faq/faq.rst
> +++ b/doc/guides/faq/faq.rst
> @@ -48,7 +48,7 @@ therefore all the hugepages are allocated on the wrong socket.
> To avoid this scenario, either lower the amount of hugepage memory available to 1 GB size (or less), or run the application with taskset
> affinitizing the application to a would-be master core.
>
> -For example, if your EAL coremask is 0xff0, the master core will usually be the first core in the coremask (0x10); this is what you have to supply to taskset::
> +For example, if your EAL coremask is 0xff0, the main core will usually be the first core in the coremask (0x10); this is what you have to supply to taskset::
>
> taskset 0x10 ./l2fwd -l 4-11 -n 2
>
Missed instance right above this hunk (line 45), and right below this
hunk (line 49).
> diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
> index 0fe44579689b..329d4cdfbfb3 100644
> --- a/doc/guides/linux_gsg/eal_args.include.rst
> +++ b/doc/guides/linux_gsg/eal_args.include.rst
> @@ -33,7 +33,7 @@ Lcore-related options
> At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can
> be used.
>
> -* ``--master-lcore <core ID>``
> +* ``--main-lcore <core ID>``
>
> Core ID that is used as master.
Missed updating the comment under the flag.
<snip>
> index 46f997a7dce3..3504b744844f 100644
> --- a/doc/guides/sample_app_ug/hello_world.rst
> +++ b/doc/guides/sample_app_ug/hello_world.rst
> @@ -81,7 +81,7 @@ The code that launches the function on each lcore is as follows:
> rte_eal_remote_launch(lcore_hello, NULL, lcore_id);
> }
>
> - /* call it on master lcore too */
> + /* call it on main lcore too */
>
> lcore_hello(NULL);
Missed a couple of instances right above this hunk.
<snip>
> The processing lcores launching function are described below.
> diff --git a/doc/guides/sample_app_ug/ip_pipeline.rst b/doc/guides/sample_app_ug/ip_pipeline.rst
> index 56014be17458..c497ffc0a6c9 100644
> --- a/doc/guides/sample_app_ug/ip_pipeline.rst
> +++ b/doc/guides/sample_app_ug/ip_pipeline.rst
> @@ -130,7 +130,7 @@ executes two tasks in time-sharing mode:
> 1. *Packet processing task*: Process bursts of input packets read from the pipeline input ports.
>
> 2. *Message handling task*: Periodically, the data plane thread pauses the packet processing task and polls for request
> - messages send by the master thread. Examples: add/remove pipeline to/from current data plane thread, add/delete rules
> + messages send by the main thread. Examples: add/remove pipeline to/from current data plane thread, add/delete rules
> to/from given table of a specific pipeline owned by the current data plane thread, read statistics, etc.
Missed an instance right above this hunk.
>
> Examples
> diff --git a/doc/guides/sample_app_ug/l2_forward_event.rst b/doc/guides/sample_app_ug/l2_forward_event.rst
> index d536eee819d0..6e2324552f49 100644
> --- a/doc/guides/sample_app_ug/l2_forward_event.rst
> +++ b/doc/guides/sample_app_ug/l2_forward_event.rst
> @@ -631,7 +631,7 @@ not many packets to send, however it improves performance:
> /* if timer has reached its timeout */
> if (unlikely(timer_tsc >= timer_period)) {
> /* do this only on master core */
> - if (lcore_id == rte_get_master_lcore()) {
> + if (lcore_id == rte_get_main_lcore()) {
Missed comment above this.
> print_stats();
> /* reset the timer */
> timer_tsc = 0;
> diff --git a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
> index c0e8488e7987..06586ed4a822 100644
> --- a/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
> +++ b/doc/guides/sample_app_ug/l2_forward_real_virtual.rst
> @@ -455,7 +455,7 @@ however it improves performance:
> if (unlikely(timer_tsc >= (uint64_t) timer_period)) {
> /* do this only on master core */
>
> - if (lcore_id == rte_get_master_lcore()) {
> + if (lcore_id == rte_get_main_lcore()) {
Missed comment above this.
> print_stats();
>
> /* reset the timer */
> diff --git a/doc/guides/sample_app_ug/l3_forward_power_man.rst b/doc/guides/sample_app_ug/l3_forward_power_man.rst
> index 0cc6f2e62e75..f05816d9b24e 100644
> --- a/doc/guides/sample_app_ug/l3_forward_power_man.rst
> +++ b/doc/guides/sample_app_ug/l3_forward_power_man.rst
> @@ -441,7 +441,7 @@ The telemetry mode support for ``l3fwd-power`` is a standalone mode, in this mod
> ``l3fwd-power`` does simple l3fwding along with calculating empty polls, full polls,
> and busy percentage for each forwarding core. The aggregation of these
> values of all cores is reported as application level telemetry to metric
> -library for every 500ms from the master core.
> +library for every 500ms from the main core.
>
> The busy percentage is calculated by recording the poll_count
> and when the count reaches a defined value the total
> diff --git a/doc/guides/sample_app_ug/link_status_intr.rst b/doc/guides/sample_app_ug/link_status_intr.rst
> index 04c40f28540d..8ceacc42eb9b 100644
> --- a/doc/guides/sample_app_ug/link_status_intr.rst
> +++ b/doc/guides/sample_app_ug/link_status_intr.rst
> @@ -403,7 +403,7 @@ However, it improves performance:
> if (unlikely(timer_tsc >= (uint64_t) timer_period)) {
> /* do this only on master core */
>
> - if (lcore_id == rte_get_master_lcore()) {
> + if (lcore_id == rte_get_main_lcore()) {
Missed comment above this.
> print_stats();
>
> /* reset the timer */
> diff --git a/doc/guides/sample_app_ug/multi_process.rst b/doc/guides/sample_app_ug/multi_process.rst
> index f2a79a639763..c391c549b9b5 100644
> --- a/doc/guides/sample_app_ug/multi_process.rst
> +++ b/doc/guides/sample_app_ug/multi_process.rst
> @@ -273,7 +273,7 @@ In addition to the EAL parameters, the application- specific parameters are:
>
> .. note::
>
> - In the server process, a single thread, the master thread, that is, the lowest numbered lcore in the coremask/corelist, performs all packet I/O.
> + In the server process, a single thread, the main thread, that is, the lowest numbered lcore in the coremask/corelist, performs all packet I/O.
> If a coremask/corelist is specified with more than a single lcore bit set in it,
> an additional lcore will be used for a thread to periodically print packet count statistics.
Missed logs in this file @ lines 69 and 95.
>
> diff --git a/doc/guides/sample_app_ug/packet_ordering.rst b/doc/guides/sample_app_ug/packet_ordering.rst
> index 1c8ee5d04071..26bed0136a12 100644
> --- a/doc/guides/sample_app_ug/packet_ordering.rst
> +++ b/doc/guides/sample_app_ug/packet_ordering.rst
> @@ -46,7 +46,7 @@ The application execution command line is:
> ./packet_ordering [EAL options] -- -p PORTMASK [--disable-reorder] [--insight-worker]
>
> The -c EAL CPU_COREMASK option has to contain at least 3 CPU cores.
> -The first CPU core in the core mask is the master core and would be assigned to
> +The first CPU core in the core mask is the main core and would be assigned to
> RX core, the last to TX core and the rest to Worker cores.
Missed lines 18 and 22 in this file.
>
> The PORTMASK parameter must contain either 1 or even enabled port numbers.
> diff --git a/doc/guides/sample_app_ug/performance_thread.rst b/doc/guides/sample_app_ug/performance_thread.rst
> index b04d0ba444af..cfc0676e9210 100644
> --- a/doc/guides/sample_app_ug/performance_thread.rst
> +++ b/doc/guides/sample_app_ug/performance_thread.rst
> @@ -280,8 +280,8 @@ functionality into different threads, and the pairs of RX and TX threads are
> interconnected via software rings.
>
> On initialization an L-thread scheduler is started on every EAL thread. On all
> -but the master EAL thread only a dummy L-thread is initially started.
> -The L-thread started on the master EAL thread then spawns other L-threads on
> +but the main EAL thread only a dummy L-thread is initially started.
> +The L-thread started on the main EAL thread then spawns other L-threads on
> different L-thread schedulers according the command line parameters.
Missed instances on line 1220 in this file.
>
> The RX threads poll the network interface queues and post received packets
> diff --git a/doc/guides/sample_app_ug/ptpclient.rst b/doc/guides/sample_app_ug/ptpclient.rst
> index 12b4f13d5bd8..5b51c8526c5a 100644
> --- a/doc/guides/sample_app_ug/ptpclient.rst
> +++ b/doc/guides/sample_app_ug/ptpclient.rst
> @@ -21,7 +21,7 @@ The PTP sample application is intended as a simple reference implementation of
> a PTP client using the DPDK IEEE1588 API.
> In order to keep the application simple the following assumptions are made:
>
> -* The first discovered master is the master for the session.
> +* The first discovered master is the main for the session.
> * Only L2 PTP packets are supported.
> * Only the PTP v2 protocol is supported.
> * Only the slave clock is implemented.
> diff --git a/doc/guides/sample_app_ug/timer.rst b/doc/guides/sample_app_ug/timer.rst
> index 98d762d2388c..071db764b170 100644
> --- a/doc/guides/sample_app_ug/timer.rst
> +++ b/doc/guides/sample_app_ug/timer.rst
> @@ -49,7 +49,7 @@ In addition to EAL initialization, the timer subsystem must be initialized, by c
> rte_timer_subsystem_init();
>
> After timer creation (see the next paragraph),
> -the main loop is executed on each slave lcore using the well-known rte_eal_remote_launch() and also on the master.
> +the main loop is executed on each slave lcore using the well-known rte_eal_remote_launch() and also on the main.
Replaced master but not slave. Also missed a couple of instances below
this hunk.
>
> .. code-block:: c
>
> @@ -59,7 +59,7 @@ the main loop is executed on each slave lcore using the well-known rte_eal_remot
> rte_eal_remote_launch(lcore_mainloop, NULL, lcore_id);
> }
>
> - /* call it on master lcore too */
> + /* call it on main lcore too */
>
> (void) lcore_mainloop(NULL);
>
> @@ -105,7 +105,7 @@ This call to rte_timer_init() is necessary before doing any other operation on t
>
> Then, the two timers are configured:
>
> -* The first timer (timer0) is loaded on the master lcore and expires every second.
> +* The first timer (timer0) is loaded on the main lcore and expires every second.
> Since the PERIODICAL flag is provided, the timer is reloaded automatically by the timer subsystem.
> The callback function is timer0_cb().
>
@@ -48,7 +48,7 @@ therefore all the hugepages are allocated on the wrong socket.
To avoid this scenario, either lower the amount of hugepage memory available to 1 GB size (or less), or run the application with taskset
affinitizing the application to a would-be master core.
-For example, if your EAL coremask is 0xff0, the master core will usually be the first core in the coremask (0x10); this is what you have to supply to taskset::
+For example, if your EAL coremask is 0xff0, the main core will usually be the first core in the coremask (0x10); this is what you have to supply to taskset::
taskset 0x10 ./l2fwd -l 4-11 -n 2
@@ -33,7 +33,7 @@ Lcore-related options
At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can
be used.
-* ``--master-lcore <core ID>``
+* ``--main-lcore <core ID>``
Core ID that is used as master.
@@ -385,7 +385,7 @@ The application enables multiple TX and RX queues when it is started.
.. code-block:: console
- testpmd -l 1,3,5 --master-lcore 1 --txq=2 –rxq=2 --nb-cores=2
+ testpmd -l 1,3,5 --main-lcore 1 --txq=2 –rxq=2 --nb-cores=2
**TSS**
@@ -64,7 +64,7 @@ It consist of calls to the pthread library (more specifically, pthread_self(), p
.. note::
Initialization of objects, such as memory zones, rings, memory pools, lpm tables and hash tables,
- should be done as part of the overall application initialization on the master lcore.
+ should be done as part of the overall application initialization on the main lcore.
The creation and initialization functions for these objects are not multi-thread safe.
However, once initialized, the objects themselves can safely be used in multiple threads simultaneously.
@@ -186,7 +186,7 @@ very dependent on the memory allocation patterns of the application.
Additional restrictions are present when running in 32-bit mode. In dynamic
memory mode, by default maximum of 2 gigabytes of VA space will be preallocated,
-and all of it will be on master lcore NUMA node unless ``--socket-mem`` flag is
+and all of it will be on main lcore NUMA node unless ``--socket-mem`` flag is
used.
In legacy mode, VA space will only be preallocated for segments that were
@@ -607,7 +607,7 @@ controlled with tools like taskset (Linux) or cpuset (FreeBSD),
- with affinity restricted to 2-4, the Control Threads will end up on
CPU 4.
- with affinity restricted to 2-3, the Control Threads will end up on
- CPU 2 (master lcore, which is the default when no CPU is available).
+ CPU 2 (main lcore, which is the default when no CPU is available).
.. _known_issue_label:
@@ -172,7 +172,7 @@ converts the received packets to events in the same manner as packets
received on a polled Rx queue. The interrupt thread is affinitized to the same
CPUs as the lcores of the Rx adapter service function, if the Rx adapter
service function has not been mapped to any lcores, the interrupt thread
-is mapped to the master lcore.
+is mapped to the main lcore.
Rx Callback for SW Rx Adapter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -124,10 +124,13 @@ LAN
LPM
Longest Prefix Match
-master lcore
+main lcore
The execution unit that executes the main() function and that launches
other lcores.
+master lcore
+ Deprecated name for *main lcore*. No longer used.
+
mbuf
An mbuf is a data structure used internally to carry messages (mainly
network packets). The name is derived from BSD stacks. To understand the
@@ -185,7 +188,7 @@ Rx
Reception
Slave lcore
- Any *lcore* that is not the *master lcore*.
+ Deprecated name for *worker lcore*. No longer used.
Socket
A physical CPU, that includes several *cores*.
@@ -237,6 +240,9 @@ VLAN
Wr
Write
+Worker lcore
+ Any *lcore* that is not the *main lcore*.
+
WRED
Weighted Random Early Detection
@@ -94,7 +94,7 @@ device gets linked to a corresponding ethernet port as whitelisted by
the parameter -w.
3 cores are allocated to the application, and assigned as:
- - core 3 is the master and used to print the stats live on screen,
+ - core 3 is the main and used to print the stats live on screen,
- core 4 is the encoding lcore performing Rx and Turbo Encode operations
@@ -65,7 +65,7 @@ Explanation
The sample program has two parts: A background `packet reflector`_
that runs on a slave core, and a foreground `Ethtool Shell`_ that
-runs on the master core. These are described below.
+runs on the main core. These are described below.
Packet Reflector
~~~~~~~~~~~~~~~~
@@ -81,7 +81,7 @@ The code that launches the function on each lcore is as follows:
rte_eal_remote_launch(lcore_hello, NULL, lcore_id);
}
- /* call it on master lcore too */
+ /* call it on main lcore too */
lcore_hello(NULL);
@@ -69,13 +69,13 @@ provided parameters. The app can use up to 2 lcores: one of them receives
incoming traffic and makes a copy of each packet. The second lcore then
updates MAC address and sends the copy. If one lcore per port is used,
both operations are done sequentially. For each configuration an additional
-lcore is needed since the master lcore does not handle traffic but is
+lcore is needed since the main lcore does not handle traffic but is
responsible for configuration, statistics printing and safe shutdown of
all ports and devices.
The application can use a maximum of 8 ports.
-To run the application in a Linux environment with 3 lcores (the master lcore,
+To run the application in a Linux environment with 3 lcores (the main lcore,
plus two forwarding cores), a single port (port 0), software copying and MAC
updating issue the command:
@@ -83,7 +83,7 @@ updating issue the command:
$ ./build/ioatfwd -l 0-2 -n 2 -- -p 0x1 --mac-updating -c sw
-To run the application in a Linux environment with 2 lcores (the master lcore,
+To run the application in a Linux environment with 2 lcores (the main lcore,
plus one forwarding core), 2 ports (ports 0 and 1), hardware copying and no MAC
updating issue the command:
@@ -310,8 +310,8 @@ If initialization is successful, memory for hardware device
statistics is allocated.
Finally ``main()`` function starts all packet handling lcores and starts
-printing stats in a loop on the master lcore. The application can be
-interrupted and closed using ``Ctrl-C``. The master lcore waits for
+printing stats in a loop on the main lcore. The application can be
+interrupted and closed using ``Ctrl-C``. The main lcore waits for
all slave processes to finish, deallocates resources and exits.
The processing lcores launching function are described below.
@@ -130,7 +130,7 @@ executes two tasks in time-sharing mode:
1. *Packet processing task*: Process bursts of input packets read from the pipeline input ports.
2. *Message handling task*: Periodically, the data plane thread pauses the packet processing task and polls for request
- messages send by the master thread. Examples: add/remove pipeline to/from current data plane thread, add/delete rules
+ messages send by the main thread. Examples: add/remove pipeline to/from current data plane thread, add/delete rules
to/from given table of a specific pipeline owned by the current data plane thread, read statistics, etc.
Examples
@@ -631,7 +631,7 @@ not many packets to send, however it improves performance:
/* if timer has reached its timeout */
if (unlikely(timer_tsc >= timer_period)) {
/* do this only on master core */
- if (lcore_id == rte_get_master_lcore()) {
+ if (lcore_id == rte_get_main_lcore()) {
print_stats();
/* reset the timer */
timer_tsc = 0;
@@ -455,7 +455,7 @@ however it improves performance:
if (unlikely(timer_tsc >= (uint64_t) timer_period)) {
/* do this only on master core */
- if (lcore_id == rte_get_master_lcore()) {
+ if (lcore_id == rte_get_main_lcore()) {
print_stats();
/* reset the timer */
@@ -441,7 +441,7 @@ The telemetry mode support for ``l3fwd-power`` is a standalone mode, in this mod
``l3fwd-power`` does simple l3fwding along with calculating empty polls, full polls,
and busy percentage for each forwarding core. The aggregation of these
values of all cores is reported as application level telemetry to metric
-library for every 500ms from the master core.
+library for every 500ms from the main core.
The busy percentage is calculated by recording the poll_count
and when the count reaches a defined value the total
@@ -403,7 +403,7 @@ However, it improves performance:
if (unlikely(timer_tsc >= (uint64_t) timer_period)) {
/* do this only on master core */
- if (lcore_id == rte_get_master_lcore()) {
+ if (lcore_id == rte_get_main_lcore()) {
print_stats();
/* reset the timer */
@@ -273,7 +273,7 @@ In addition to the EAL parameters, the application- specific parameters are:
.. note::
- In the server process, a single thread, the master thread, that is, the lowest numbered lcore in the coremask/corelist, performs all packet I/O.
+ In the server process, a single thread, the main thread, that is, the lowest numbered lcore in the coremask/corelist, performs all packet I/O.
If a coremask/corelist is specified with more than a single lcore bit set in it,
an additional lcore will be used for a thread to periodically print packet count statistics.
@@ -46,7 +46,7 @@ The application execution command line is:
./packet_ordering [EAL options] -- -p PORTMASK [--disable-reorder] [--insight-worker]
The -c EAL CPU_COREMASK option has to contain at least 3 CPU cores.
-The first CPU core in the core mask is the master core and would be assigned to
+The first CPU core in the core mask is the main core and would be assigned to
RX core, the last to TX core and the rest to Worker cores.
The PORTMASK parameter must contain either 1 or even enabled port numbers.
@@ -280,8 +280,8 @@ functionality into different threads, and the pairs of RX and TX threads are
interconnected via software rings.
On initialization an L-thread scheduler is started on every EAL thread. On all
-but the master EAL thread only a dummy L-thread is initially started.
-The L-thread started on the master EAL thread then spawns other L-threads on
+but the main EAL thread only a dummy L-thread is initially started.
+The L-thread started on the main EAL thread then spawns other L-threads on
different L-thread schedulers according the command line parameters.
The RX threads poll the network interface queues and post received packets
@@ -21,7 +21,7 @@ The PTP sample application is intended as a simple reference implementation of
a PTP client using the DPDK IEEE1588 API.
In order to keep the application simple the following assumptions are made:
-* The first discovered master is the master for the session.
+* The first discovered master is the main for the session.
* Only L2 PTP packets are supported.
* Only the PTP v2 protocol is supported.
* Only the slave clock is implemented.
@@ -49,7 +49,7 @@ In addition to EAL initialization, the timer subsystem must be initialized, by c
rte_timer_subsystem_init();
After timer creation (see the next paragraph),
-the main loop is executed on each slave lcore using the well-known rte_eal_remote_launch() and also on the master.
+the main loop is executed on each slave lcore using the well-known rte_eal_remote_launch() and also on the main.
.. code-block:: c
@@ -59,7 +59,7 @@ the main loop is executed on each slave lcore using the well-known rte_eal_remot
rte_eal_remote_launch(lcore_mainloop, NULL, lcore_id);
}
- /* call it on master lcore too */
+ /* call it on main lcore too */
(void) lcore_mainloop(NULL);
@@ -105,7 +105,7 @@ This call to rte_timer_init() is necessary before doing any other operation on t
Then, the two timers are configured:
-* The first timer (timer0) is loaded on the master lcore and expires every second.
+* The first timer (timer0) is loaded on the main lcore and expires every second.
Since the PERIODICAL flag is provided, the timer is reloaded automatically by the timer subsystem.
The callback function is timer0_cb().
@@ -115,7 +115,7 @@ Then, the two timers are configured:
.. code-block:: c
- /* load timer0, every second, on master lcore, reloaded automatically */
+ /* load timer0, every second, on main lcore, reloaded automatically */
hz = rte_get_hpet_hz();
@@ -71,7 +71,7 @@ The command line options are:
* ``--coremask=0xXX``
Set the hexadecimal bitmask of the cores running the packet forwarding test.
- The master lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
+ The main lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
* ``--portmask=0xXX``
@@ -699,7 +699,7 @@ This is equivalent to the ``--coremask`` command-line option.
.. note::
- The master lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
+ The main lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
set portmask
~~~~~~~~~~~~