From: Moti Haimovsky <motih@mellanox.com>
To: wenzhuo.lu@intel.com, thomas@monjalon.net
Cc: dev@dpdk.org, Moti Haimovsky <motih@mellanox.com>
Subject: [dpdk-dev] [PATCH v3] app/testpmd: do not enable Rx offloads by default
Date: Tue, 30 Jan 2018 10:44:07 +0200 [thread overview]
Message-ID: <1517301847-169326-1-git-send-email-motih@mellanox.com> (raw)
In-Reply-To: <1517225598-132061-1-git-send-email-motih@mellanox.com>
Removed the hardcoded preconfigured Rx offload configuration from
testpmd and changed the Rx offload command line parameters from
disable to enable.
Testers who wish to use these offloads will now have to explicitly
write them in the command-line when running testpmd.
Motivation:
Some PMDs such at the mlx4 may not implement all the offloads.
After the offload API rework assuming no offload is enabled by default,
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") trying
to enable a not supported offload is clearly an error which will cause
configuration failing.
Considering that testpmd is an application to test the PMD, it should
not fail on a configuration which was not explicitly requested.
The behavior of this test application is then turned to an opt-in
model.
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
---
V3:
Updated documentation to reflect the change in the command-line parameters.
Updated testpmd help to also reflect the change in the command-line parameters.
V2:
Modified Rx offload command line parameters from disable to enable.
This way the user can choose the offload parameters to configure the
device with in a consistent manner.
---
app/test-pmd/parameters.c | 40 +++++++++++-----------
app/test-pmd/testpmd.c | 4 +--
doc/guides/contributing/documentation.rst | 2 +-
doc/guides/howto/lm_virtio_vhost_user.rst | 2 +-
doc/guides/howto/pvp_reference_benchmark.rst | 4 +--
.../howto/virtio_user_as_exceptional_path.rst | 4 +--
doc/guides/nics/mrvl.rst | 4 +--
doc/guides/nics/octeontx.rst | 4 +--
doc/guides/nics/thunderx.rst | 2 +-
doc/guides/nics/virtio.rst | 5 +--
doc/guides/testpmd_app_ug/run_app.rst | 20 +++++------
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 18 +++++-----
12 files changed, 54 insertions(+), 55 deletions(-)
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index fd59071..a93e1f0 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -129,14 +129,14 @@
printf(" --latencystats=N: enable latency and jitter statistcs "
"monitoring on forwarding lcore id N.\n");
#endif
- printf(" --disable-crc-strip: disable CRC stripping by hardware.\n");
+ printf(" --enable-crc-strip: enable CRC stripping by hardware.\n");
printf(" --enable-lro: enable large receive offload.\n");
printf(" --enable-rx-cksum: enable rx hardware checksum offload.\n");
printf(" --enable-rx-timestamp: enable rx hardware timestamp offload.\n");
- printf(" --disable-hw-vlan: disable hardware vlan.\n");
- printf(" --disable-hw-vlan-filter: disable hardware vlan filter.\n");
- printf(" --disable-hw-vlan-strip: disable hardware vlan strip.\n");
- printf(" --disable-hw-vlan-extend: disable hardware vlan extend.\n");
+ printf(" --enable-hw-vlan: enable hardware vlan.\n");
+ printf(" --enable-hw-vlan-filter: enable hardware vlan filter.\n");
+ printf(" --enable-hw-vlan-strip: enable hardware vlan strip.\n");
+ printf(" --enable-hw-vlan-extend: enable hardware vlan extend.\n");
printf(" --enable-drop-en: enable per queue packet drop.\n");
printf(" --disable-rss: disable rss.\n");
printf(" --port-topology=N: set port topology (N: paired (default) or "
@@ -580,15 +580,15 @@
#ifdef RTE_LIBRTE_BITRATE
{ "bitrate-stats", 1, 0, 0 },
#endif
- { "disable-crc-strip", 0, 0, 0 },
+ { "enable-crc-strip", 0, 0, 0 },
{ "enable-lro", 0, 0, 0 },
{ "enable-rx-cksum", 0, 0, 0 },
{ "enable-rx-timestamp", 0, 0, 0 },
{ "enable-scatter", 0, 0, 0 },
- { "disable-hw-vlan", 0, 0, 0 },
- { "disable-hw-vlan-filter", 0, 0, 0 },
- { "disable-hw-vlan-strip", 0, 0, 0 },
- { "disable-hw-vlan-extend", 0, 0, 0 },
+ { "enable-hw-vlan", 0, 0, 0 },
+ { "enable-hw-vlan-filter", 0, 0, 0 },
+ { "enable-hw-vlan-strip", 0, 0, 0 },
+ { "enable-hw-vlan-extend", 0, 0, 0 },
{ "enable-drop-en", 0, 0, 0 },
{ "disable-rss", 0, 0, 0 },
{ "port-topology", 1, 0, 0 },
@@ -875,8 +875,8 @@
" must be >= 0\n", n);
}
#endif
- if (!strcmp(lgopts[opt_idx].name, "disable-crc-strip"))
- rx_offloads &= ~DEV_RX_OFFLOAD_CRC_STRIP;
+ if (!strcmp(lgopts[opt_idx].name, "enable-crc-strip"))
+ rx_offloads |= DEV_RX_OFFLOAD_CRC_STRIP;
if (!strcmp(lgopts[opt_idx].name, "enable-lro"))
rx_offloads |= DEV_RX_OFFLOAD_TCP_LRO;
if (!strcmp(lgopts[opt_idx].name, "enable-scatter"))
@@ -886,20 +886,20 @@
if (!strcmp(lgopts[opt_idx].name,
"enable-rx-timestamp"))
rx_offloads |= DEV_RX_OFFLOAD_TIMESTAMP;
- if (!strcmp(lgopts[opt_idx].name, "disable-hw-vlan"))
- rx_offloads &= ~DEV_RX_OFFLOAD_VLAN;
+ if (!strcmp(lgopts[opt_idx].name, "enable-hw-vlan"))
+ rx_offloads |= DEV_RX_OFFLOAD_VLAN;
if (!strcmp(lgopts[opt_idx].name,
- "disable-hw-vlan-filter"))
- rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_FILTER;
+ "enable-hw-vlan-filter"))
+ rx_offloads |= DEV_RX_OFFLOAD_VLAN_FILTER;
if (!strcmp(lgopts[opt_idx].name,
- "disable-hw-vlan-strip"))
- rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_STRIP;
+ "enable-hw-vlan-strip"))
+ rx_offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
if (!strcmp(lgopts[opt_idx].name,
- "disable-hw-vlan-extend"))
- rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_EXTEND;
+ "enable-hw-vlan-extend"))
+ rx_offloads |= DEV_RX_OFFLOAD_VLAN_EXTEND;
if (!strcmp(lgopts[opt_idx].name, "enable-drop-en"))
rx_drop_en = 1;
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 5dc8cca..a082352 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -305,9 +305,7 @@ struct fwd_engine * fwd_engines[] = {
*/
struct rte_eth_rxmode rx_mode = {
.max_rx_pkt_len = ETHER_MAX_LEN, /**< Default maximum frame length. */
- .offloads = (DEV_RX_OFFLOAD_VLAN_FILTER |
- DEV_RX_OFFLOAD_VLAN_STRIP |
- DEV_RX_OFFLOAD_CRC_STRIP),
+ .offloads = 0,
.ignore_offload_bitfield = 1,
};
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 170dacd..82f2e1b 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -294,7 +294,7 @@ Line Length
testpmd -l 2-3 -n 4 \
--vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
- -- -i --txqflags=0x0 --disable-hw-vlan --enable-lro \
+ -- -i --txqflags=0x0 --enable-hw-vlan --enable-lro \
--enable-rx-cksum --txq=2 --rxq=2 --rxd=1024 --txd=1024
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index 9402ed8..b4aa1c9 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -466,4 +466,4 @@ run_testpmd_in_vm.sh
# test system has 8 cpus (0-7), use cpus 2-7 for VM
/root/dpdk/x86_64-default-linuxapp-gcc/app/testpmd \
- -l 0-5 -n 4 --socket-mem 350 -- --burst=64 --i --disable-hw-vlan-filter
+ -l 0-5 -n 4 --socket-mem 350 -- --burst=64 --i
diff --git a/doc/guides/howto/pvp_reference_benchmark.rst b/doc/guides/howto/pvp_reference_benchmark.rst
index 228b4a2..67fa232 100644
--- a/doc/guides/howto/pvp_reference_benchmark.rst
+++ b/doc/guides/howto/pvp_reference_benchmark.rst
@@ -158,7 +158,7 @@ Testpmd launch
$RTE_SDK/install/bin/testpmd -l 0,2,3,4,5 --socket-mem=1024 -n 4 \
--vdev 'net_vhost0,iface=/tmp/vhost-user1' \
--vdev 'net_vhost1,iface=/tmp/vhost-user2' -- \
- --portmask=f --disable-hw-vlan -i --rxq=1 --txq=1 \
+ --portmask=f -i --rxq=1 --txq=1 \
--nb-cores=4 --forward-mode=io
With this command, isolated CPUs 2 to 5 will be used as lcores for PMD threads.
@@ -375,7 +375,7 @@ Start testpmd:
$RTE_SDK/install/bin/testpmd -l 0,1,2 --socket-mem 1024 -n 4 \
--proc-type auto --file-prefix pg -- \
--portmask=3 --forward-mode=macswap --port-topology=chained \
- --disable-hw-vlan --disable-rss -i --rxq=1 --txq=1 \
+ --disable-rss -i --rxq=1 --txq=1 \
--rxd=256 --txd=256 --nb-cores=2 --auto-start
Results template
diff --git a/doc/guides/howto/virtio_user_as_exceptional_path.rst b/doc/guides/howto/virtio_user_as_exceptional_path.rst
index 3f99fe8..393f002 100644
--- a/doc/guides/howto/virtio_user_as_exceptional_path.rst
+++ b/doc/guides/howto/virtio_user_as_exceptional_path.rst
@@ -84,7 +84,7 @@ compiling the kernel and those kernel modules should be inserted.
$(testpmd) -l 2-3 -n 4 \
--vdev=virtio_user0,path=/dev/vhost-net,queue_size=1024 \
- -- -i --txqflags=0x0 --disable-hw-vlan --enable-lro \
+ -- -i --txqflags=0x0 --enable-lro \
--enable-rx-cksum --rxd=1024 --txd=1024
This command runs testpmd with two ports, one physical NIC to communicate
@@ -113,7 +113,7 @@ compiling the kernel and those kernel modules should be inserted.
$(testpmd) -l 2-3 -n 4 \
--vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
- -- -i --txqflags=0x0 --disable-hw-vlan --enable-lro \
+ -- -i --txqflags=0x0 --enable-lro \
--enable-rx-cksum --txq=2 --rxq=2 --rxd=1024 \
--txd=1024
diff --git a/doc/guides/nics/mrvl.rst b/doc/guides/nics/mrvl.rst
index 77b2d66..b7f3292 100644
--- a/doc/guides/nics/mrvl.rst
+++ b/doc/guides/nics/mrvl.rst
@@ -215,7 +215,7 @@ Usage example
.. code-block:: console
./testpmd --vdev=eth_mrvl,iface=eth0,iface=eth2,cfg=/home/user/mrvl.conf \
- -c 7 -- -i -a --disable-hw-vlan-strip --rxq=2
+ -c 7 -- -i -a --rxq=2
Building DPDK
@@ -272,4 +272,4 @@ In order to run testpmd example application following command can be used:
./testpmd --vdev=eth_mrvl,iface=eth0,iface=eth2 -c 7 -- \
--burst=128 --txd=2048 --rxd=1024 --rxq=2 --txq=2 --nb-cores=2 \
- -i -a --disable-hw-vlan-strip --rss-udp
+ -i -a --rss-udp
diff --git a/doc/guides/nics/octeontx.rst b/doc/guides/nics/octeontx.rst
index 212fe34..8e2a2b7 100644
--- a/doc/guides/nics/octeontx.rst
+++ b/doc/guides/nics/octeontx.rst
@@ -88,8 +88,8 @@ following ``make`` command:
--mbuf-pool-ops-name="octeontx_fpavf" \
--vdev='event_octeontx' \
--vdev='eth_octeontx,nr_port=2' \
- -- --rxq=1 --txq=1 --nb-core=2 --total-num-mbufs=16384 \
- --disable-hw-vlan-filter -i
+ -- --rxq=1 --txq=1 --nb-core=2 \
+ --total-num-mbufs=16384 -i
.....
EAL: Detected 24 lcore(s)
EAL: Probing VFIO support...
diff --git a/doc/guides/nics/thunderx.rst b/doc/guides/nics/thunderx.rst
index 1c800e7..5270ef2 100644
--- a/doc/guides/nics/thunderx.rst
+++ b/doc/guides/nics/thunderx.rst
@@ -177,7 +177,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
.. code-block:: console
./arm64-thunderx-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
- -- -i --disable-hw-vlan-filter --disable-crc-strip --no-flush-rx \
+ -- -i --no-flush-rx \
--port-topology=loop
...
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index af82f86..e686d46 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -78,8 +78,9 @@ In this release, the virtio PMD driver provides the basic functionality of packe
by default. Tx queue size is still hard-coded to be 256.
* Features of mac/vlan filter are supported, negotiation with vhost/backend are needed to support them.
- When backend can't support vlan filter, virtio app on guest should disable vlan filter to make sure
- the virtio port is configured correctly. E.g. specify '--disable-hw-vlan' in testpmd command line.
+ When backend can't support vlan filter, virtio app on guest should not enable vlan filter in order
+ to make sure the virtio port is configured correctly. E.g. do not specify '--enable-hw-vlan' in testpmd
+ command line.
* "RTE_PKTMBUF_HEADROOM" should be defined
no less than "sizeof(struct virtio_net_hdr_mrg_rxbuf)", which is 12 bytes when mergeable or
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index 46da1df..076c121 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -299,9 +299,9 @@ The commandline options are:
In perfect filter mode, when a rule is added with queue = -1, the packet will be enqueued into the RX drop-queue.
If the drop-queue does not exist, the packet is dropped. The default value is N=127.
-* ``--disable-crc-strip``
+* ``--enable-crc-strip``
- Disable hardware CRC stripping.
+ Enable hardware CRC stripping.
* ``--enable-lro``
@@ -315,21 +315,21 @@ The commandline options are:
Enable scatter (multi-segment) RX.
-* ``--disable-hw-vlan``
+* ``--enable-hw-vlan``
- Disable hardware VLAN.
+ Enable hardware VLAN.
-* ``--disable-hw-vlan-filter``
+* ``--enable-hw-vlan-filter``
- Disable hardware VLAN filter.
+ Enable hardware VLAN filter.
-* ``--disable-hw-vlan-strip``
+* ``--enable-hw-vlan-strip``
- Disable hardware VLAN strip.
+ Enable hardware VLAN strip.
-* ``--disable-hw-vlan-extend``
+* ``--enable-hw-vlan-extend``
- Disable hardware VLAN extend.
+ Enable hardware VLAN extend.
* ``--enable-drop-en``
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index d8c9ef0..4c11ec5 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1673,9 +1673,9 @@ Set hardware CRC stripping on or off for all ports::
testpmd> port config all crc-strip (on|off)
-CRC stripping is on by default.
+CRC stripping is off by default.
-The ``off`` option is equivalent to the ``--disable-crc-strip`` command-line option.
+The ``on`` option is equivalent to the ``--enable-crc-strip`` command-line option.
port config - scatter
~~~~~~~~~~~~~~~~~~~~~~~
@@ -1706,9 +1706,9 @@ Set hardware VLAN on or off for all ports::
testpmd> port config all hw-vlan (on|off)
-Hardware VLAN is on by default.
+Hardware VLAN is off by default.
-The ``off`` option is equivalent to the ``--disable-hw-vlan`` command-line option.
+The ``on`` option is equivalent to the ``--enable-hw-vlan`` command-line option.
port config - VLAN filter
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1717,9 +1717,9 @@ Set hardware VLAN filter on or off for all ports::
testpmd> port config all hw-vlan-filter (on|off)
-Hardware VLAN filter is on by default.
+Hardware VLAN filter is off by default.
-The ``off`` option is equivalent to the ``--disable-hw-vlan-filter`` command-line option.
+The ``on`` option is equivalent to the ``--enable-hw-vlan-filter`` command-line option.
port config - VLAN strip
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1728,9 +1728,9 @@ Set hardware VLAN strip on or off for all ports::
testpmd> port config all hw-vlan-strip (on|off)
-Hardware VLAN strip is on by default.
+Hardware VLAN strip is off by default.
-The ``off`` option is equivalent to the ``--disable-hw-vlan-strip`` command-line option.
+The ``on`` option is equivalent to the ``--enable-hw-vlan-strip`` command-line option.
port config - VLAN extend
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1741,7 +1741,7 @@ Set hardware VLAN extend on or off for all ports::
Hardware VLAN extend is off by default.
-The ``off`` option is equivalent to the ``--disable-hw-vlan-extend`` command-line option.
+The ``on`` option is equivalent to the ``--enable-hw-vlan-extend`` command-line option.
port config - Drop Packets
~~~~~~~~~~~~~~~~~~~~~~~~~~
--
1.8.3.1
next prev parent reply other threads:[~2018-01-30 8:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-23 8:11 [dpdk-dev] [PATCH] " Moti Haimovsky
2018-01-25 1:11 ` Lu, Wenzhuo
2018-01-25 9:04 ` Thomas Monjalon
2018-01-25 16:01 ` Stephen Hemminger
2018-01-26 7:31 ` Lu, Wenzhuo
2018-01-26 7:49 ` Thomas Monjalon
2018-01-26 7:30 ` Lu, Wenzhuo
2018-01-26 7:48 ` Thomas Monjalon
2018-01-26 8:06 ` Lu, Wenzhuo
2018-01-26 8:35 ` Thomas Monjalon
2018-01-27 18:14 ` Shahaf Shuler
2018-01-29 11:33 ` [dpdk-dev] [PATCH v2] " Moti Haimovsky
2018-01-29 11:52 ` Thomas Monjalon
2018-01-30 8:44 ` Moti Haimovsky [this message]
2018-01-30 9:00 ` [dpdk-dev] [PATCH v4] " Moti Haimovsky
2018-01-31 3:16 ` Lu, Wenzhuo
2018-01-31 11:55 ` [dpdk-dev] [PATCH v5] " Moti Haimovsky
2018-01-31 16:59 ` [dpdk-dev] [PATCH v6] app/testpmd: no Rx or Tx " Moti Haimovsky
2018-01-31 17:19 ` Thomas Monjalon
2018-01-31 17:32 ` [dpdk-dev] [PATCH v7] app/testpmd: removed preconf Rx VLAN offloads Moti Haimovsky
2018-01-31 21:09 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1517301847-169326-1-git-send-email-motih@mellanox.com \
--to=motih@mellanox.com \
--cc=dev@dpdk.org \
--cc=thomas@monjalon.net \
--cc=wenzhuo.lu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).