#
36db4f6c |
| 12-Jan-2018 |
Wei Dai <wei.dai@intel.com> |
app/testpmd: fix invalid Tx queue number setting
If an invalid number of TX queues is configured from testpmd run-time command like "port config all txq number" or from --txq in the command to start
app/testpmd: fix invalid Tx queue number setting
If an invalid number of TX queues is configured from testpmd run-time command like "port config all txq number" or from --txq in the command to start testpmd, the global variable nb_txq is updated by this invalid value without this patch. It may cause testpmd crash. This patch refuses invalid txq setting and keeps its last correct value.
Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings") Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Tested-by: Yuan Peng <yuan.peng@intel.com>
show more ...
|
#
3f7311ba |
| 12-Jan-2018 |
Wei Dai <wei.dai@intel.com> |
app/testpmd: fix invalid Rx queue number setting
If an invalid number of RX queues is configured from testpmd run-time command like "port config all rxq number" or from --rxq in the command to start
app/testpmd: fix invalid Rx queue number setting
If an invalid number of RX queues is configured from testpmd run-time command like "port config all rxq number" or from --rxq in the command to start testpmd, the global variable nb_rxq is updated by this invalid value without this patch. It may cause testpmd crash. This patch refuses invalid rxq setting and keeps its last correct value.
Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings") Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Tested-by: Yuan Peng <yuan.peng@intel.com>
show more ...
|
#
4fb82244 |
| 04-Jan-2018 |
Matan Azrad <matan@mellanox.com> |
app/testpmd: extend event printing
There are new Ethernet device events - NEW and DESTROY, and new option to register all ports by one call.
Adjust application to aforementioned changes.
Signed-of
app/testpmd: extend event printing
There are new Ethernet device events - NEW and DESTROY, and new option to register all ports by one call.
Adjust application to aforementioned changes.
Signed-off-by: Matan Azrad <matan@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
07e5f7bd |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: enable fast free Tx offload by default
Enable the DEV_TX_OFFLOAD_MBUF_FAST_FREE in case the underlying device supports.
This is to preserve the previous offloads configuration made acc
app/testpmd: enable fast free Tx offload by default
Enable the DEV_TX_OFFLOAD_MBUF_FAST_FREE in case the underlying device supports.
This is to preserve the previous offloads configuration made according to the PMD defaults.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
384161e0 |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: adjust on the fly VLAN configuration
On ethdev there is an API to configure VLAN offloads after the port was started and without reconfiguration of the port or queues.
In the current d
app/testpmd: adjust on the fly VLAN configuration
On ethdev there is an API to configure VLAN offloads after the port was started and without reconfiguration of the port or queues.
In the current design of the application, when the Rx offloads are changed (through "port config all" CLI command) the port configuration is overwritten, therefore the configuration made for the VLAN is lost.
This patch is to address the issue by a configuration of each port Rx offloads separately instead of using the global Rx config. Such adjustment is required due to the conversion of the application to the new offloads API.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
28da7d75 |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: remove txqflags option
Since testpmd is now using the new Ethdev offloads API and there is a way configure each of the tx offloads from CLI or command line, there is no need for the txq
app/testpmd: remove txqflags option
Since testpmd is now using the new Ethdev offloads API and there is a way configure each of the tx offloads from CLI or command line, there is no need for the txqflags configuration anymore.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
fd8c20aa |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: add command line option for Tx offloads
This patch adds command line option to set hex value for the ports Tx offloads flags.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-
app/testpmd: add command line option for Tx offloads
This patch adds command line option to set hex value for the ports Tx offloads flags.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
597f9faf |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit cba7f53b717d ("ethdev: introduce Tx queue offloads API")
Convert the application to use the new API.
T
app/testpmd: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit cba7f53b717d ("ethdev: introduce Tx queue offloads API")
Convert the application to use the new API.
This patch mandates the port to be stopped when configure the Tx offloads. This is because the PMD must be aware to the offloads changes on the device and queue configuration.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
6018eb8c |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: add function to check port stopped
This patch adds supports for checking if a single port is stopped. currently there is a function to check only for all ports.
Signed-off-by: Shahaf S
app/testpmd: add function to check port stopped
This patch adds supports for checking if a single port is stopped. currently there is a function to check only for all ports.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
0074d02f |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
app/testpmd: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
Convert the application to use the new API. Th
app/testpmd: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
Convert the application to use the new API. The is no functionality changes rather simple conversion of the flags.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
285fd101 |
| 08-Dec-2017 |
Olivier Matz <olivier.matz@6wind.com> |
app/testpmd: register a specific log type
Instead of using USERx logs, register a dynamic log type, as introduced in commit c1b5fa94a46f ("eal: support dynamic log types").
Signed-off-by: Olivier M
app/testpmd: register a specific log type
Instead of using USERx logs, register a dynamic log type, as introduced in commit c1b5fa94a46f ("eal: support dynamic log types").
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
show more ...
|
#
174a1631 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
app: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.
app: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
4c00cfdc |
| 04-Nov-2017 |
Thomas Monjalon <thomas@monjalon.net> |
remove useless memzone includes
The memzone header is often included without good reason.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
|
#
a4fd5eee |
| 20-Oct-2017 |
Elza Mathew <elza.mathew@intel.com> |
app/testpmd: refine xstats show
When using "show port xstats all" command to show xstats, the output is usually too long to obtain what you really want, especially when multi-queue is enabled.
Adde
app/testpmd: refine xstats show
When using "show port xstats all" command to show xstats, the output is usually too long to obtain what you really want, especially when multi-queue is enabled.
Added an option to set whether zero values should be displayed or not for xstats. The "set xstats-hide-zero on|off" command enables the user to decide if the zero values should be shown while displaying xstats.
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Signed-off-by: Elza Mathew <elza.mathew@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
f59908fe |
| 23-Oct-2017 |
Wei Dai <wei.dai@intel.com> |
app/testpmd: fix mapping of user priority to DCB TC
When number of DCB traffic class is 4, user priority should be mapped to traffic class 0/1/2/3.
Fixes: cb60ede6e3b6 ("ethdev: rename DCB field in
app/testpmd: fix mapping of user priority to DCB TC
When number of DCB traffic class is 4, user priority should be mapped to traffic class 0/1/2/3.
Fixes: cb60ede6e3b6 ("ethdev: rename DCB field in config structs") Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
show more ...
|
#
28caa76a |
| 12-Oct-2017 |
Zhiyong Yang <zhiyong.yang@intel.com> |
app/testpmd: fix port id type
Fixes: f8244c6399d9 ("ethdev: increase port id range")
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
|
#
492ab604 |
| 11-Oct-2017 |
Zhiyong Yang <zhiyong.yang@intel.com> |
app/testpmd: remove unnecessary cast
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
|
#
912267a3 |
| 10-Oct-2017 |
Raslan Darawsheh <rasland@mellanox.com> |
app/testpmd: add Rx HW timestamp
Add enabling/disabling Rx HW timestamp from command line and parameter.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellano
app/testpmd: add Rx HW timestamp
Add enabling/disabling Rx HW timestamp from command line and parameter.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
5b590fbe |
| 10-Oct-2017 |
Jasvinder Singh <jasvinder.singh@intel.com> |
app/testpmd: add traffic management forwarding mode
This commit extends the testpmd application with new forwarding engine that demonstrates the use of ethdev traffic management APIs and softnic PMD
app/testpmd: add traffic management forwarding mode
This commit extends the testpmd application with new forwarding engine that demonstrates the use of ethdev traffic management APIs and softnic PMD for QoS traffic management.
In this mode, 5-level hierarchical tree of the QoS scheduler is built with the help of ethdev TM APIs such as shaper profile add/delete, shared shaper add/update, node add/delete, hierarchy commit, etc. The hierarchical tree has following nodes; root node(x1, level 0), subport node(x1, level 1), pipe node(x4096, level 2), tc node(x16348, level 3), queue node(x65536, level 4).
During runtime, each received packet is first classified by mapping the packet fields information to 5-tuples (HQoS subport, pipe, traffic class, queue within traffic class, and color) and storing it in the packet mbuf sched field. After classification, each packet is sent to softnic port which prioritizes the transmission of the received packets, and accordingly sends them on to the output interface.
To enable traffic management mode, following testpmd command is used;
$ ./testpmd -c c -n 4 --vdev 'net_softnic0,hard_name=0000:06:00.1,soft_tm=on' -- -i --forward-mode=tm
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
d9a191a0 |
| 22-Sep-2017 |
Phil Yang <phil.yang@arm.com> |
app/testpmd: fix quitting in container
In container, the process cannot be terminated by SIGINT/SIGTERM when execute with 'stats-period' option. Fixed by adding a flag to exit stats period loop afte
app/testpmd: fix quitting in container
In container, the process cannot be terminated by SIGINT/SIGTERM when execute with 'stats-period' option. Fixed by adding a flag to exit stats period loop after received either SIGINT or SIGTERM.
Fixes: cfea1f3048d1 ("app/testpmd: print statistics periodically") Cc: stable@dpdk.org
Signed-off-by: Phil Yang <phil.yang@arm.com> Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
show more ...
|
#
65a7360c |
| 03-Sep-2017 |
Matan Azrad <matan@mellanox.com> |
app/testpmd: fix forward port ids setting
The corrupted code didn't check the port availability when it was trying to set the forward port IDs array. However, when it was counting the number of port
app/testpmd: fix forward port ids setting
The corrupted code didn't check the port availability when it was trying to set the forward port IDs array. However, when it was counting the number of ports, the availability was checked by RTE_ETH_FOREACH_DEV iterator.
Hence, even when ETH devices ports were not in ATTACHED state, the testpmd tried to forward traffic by them and got segmentation fault at queue access time.
For example: When EAL command line parameters include two devices, the first is failsafe with two sub devices and the second is any device, testpmd gets two devices by the iterator and sets for forwarding both, the failsafe device and the failsafe first sub device (instead of the second sub device). After the first failsafe sub device state was changed to DEFERRED, testpmd tries to forward traffic through the deferred device because it didn't check the port availability in setting time.
The fix uses the RTE_ETH_FOREACH_DEV iterator for the forward port IDs default setting.
Fixes: cb894d99eceb ("ethdev: add deferred intermediate device state") Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
show more ...
|
#
52f38a20 |
| 07-Oct-2017 |
Jiayu Hu <jiayu.hu@intel.com> |
app/testpmd: enable TCP/IPv4 VxLAN and GRE GSO
This patch adds GSO support to the csum forwarding engine. Oversized packets transmitted over a GSO-enabled port will undergo segmentation (with the ex
app/testpmd: enable TCP/IPv4 VxLAN and GRE GSO
This patch adds GSO support to the csum forwarding engine. Oversized packets transmitted over a GSO-enabled port will undergo segmentation (with the exception of packet-types unsupported by the GSO library). GSO support is disabled by default.
GSO support may be toggled on a per-port basis, using the command:
"set port <port_id> gso on|off"
The maximum packet length (including the packet header and payload) for GSO segments may be set with the command:
"set gso segsz <length>"
Show GSO configuration for a given port with the command:
"show port <port_id> gso"
Signed-off-by: Jiayu Hu <jiayu.hu@intel.com> Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
#
b7091f1d |
| 07-Oct-2017 |
Jiayu Hu <jiayu.hu@intel.com> |
app/testpmd: enable the heavyweight mode TCP/IPv4 GRO
The GRO library provides two modes to reassemble packets. Currently, the csum forwarding engine has supported to use the lightweight mode to rea
app/testpmd: enable the heavyweight mode TCP/IPv4 GRO
The GRO library provides two modes to reassemble packets. Currently, the csum forwarding engine has supported to use the lightweight mode to reassemble TCP/IPv4 packets. This patch introduces the heavyweight mode for TCP/IPv4 GRO in the csum forwarding engine.
With the command "set port <port_id> gro on|off", users can enable TCP/IPv4 GRO for a given port. With the command "set gro flush <cycles>", users can determine when the GROed TCP/IPv4 packets are flushed from reassembly tables. With the command "show port <port_id> gro", users can display GRO configuration.
The GRO library doesn't re-calculate checksums for merged packets. If users want the merged packets to have correct IP and TCP checksums, please select HW IP checksum calculation and HW TCP checksum calculation for the port which the merged packets are transmitted to.
Signed-off-by: Jiayu Hu <jiayu.hu@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Tested-by: Lei Yao <lei.a.yao@intel.com>
show more ...
|
#
1c036b16 |
| 29-Sep-2017 |
Eelco Chaudron <echaudro@redhat.com> |
app/testpmd: avoid pages being swapped out
Call the mlockall() function, to attempt to lock all of its process memory into physical RAM, and preventing the kernel from paging any of its memory to di
app/testpmd: avoid pages being swapped out
Call the mlockall() function, to attempt to lock all of its process memory into physical RAM, and preventing the kernel from paging any of its memory to disk.
When using testpmd for performance testing, depending on the code path taken, we see a couple of page faults in a row. These faults effect the overall drop-rate of testpmd. On Linux the mlockall() call will prefault all the pages of testpmd (and the DPDK libraries if linked dynamically), even without LD_BIND_NOW.
Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
8b3746e8 |
| 14-Sep-2017 |
Jianfeng Tan <jianfeng.tan@intel.com> |
net/xenvirt: remove
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
|