|
Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2 |
|
| #
5334c3fe |
| 31-Oct-2024 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: add hairpin map parameter
Hairpin offloads packet forwarding between ports. Packet is expected on Rx port <rp>, Rx queue <rq> and is forwarded to Tx port <tp> Tx queue <tq>.
Testpmd im
app/testpmd: add hairpin map parameter
Hairpin offloads packet forwarding between ports. Packet is expected on Rx port <rp>, Rx queue <rq> and is forwarded to Tx port <tp> Tx queue <tq>.
Testpmd implements a static hairpin configuration scheme.
The new parameter allows explicit selection of Rx and Tx ports and queues in hairpin configuration. The new `hairpin-map` parameter is provided with 5 parameters, separated by `:`
`--hairpin-map=Rx port id:Rx queue:Tx port id:Tx queue:queues number`
Testpmd operator can provide several `hairpin-map` parameters for different hairpin maps. Example:
dpdk-testpmd <EAL params> -- \ <testpmd params> \ --rxq=2 --txq=2 --hairpinq=2 --hairpin-mode=0x12 \ --hairpin-map=0:2:1:2:1 \ # [1] --hairpin-map=0:3:2:2:3 # [2]
Hairpin map [1] binds Rx port 0, queue 2 with Tx port 1, queue 2. Hairpin map [2] binds Rx port 0, queue 3 with Tx port 2, queue 2, Rx port 0, queue 4 with Tx port 2, queue 3, Rx port 0, queue 5 with Tx port 2, queue 4.
The new `hairpin-map` parameter is optional. If omitted, testpmd will create "default" hairpin maps.
Signed-off-by: Gregory Etelson <getelson@nvidia.com> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
|
Revision tags: v24.11-rc1, v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1 |
|
| #
2bf44dd1 |
| 06-Jun-2024 |
Sivaprasad Tummala <sivaprasad.tummala@amd.com> |
app/testpmd: fix lcore ID restriction
With modern CPUs, it is possible to have higher CPU count thus we can have higher RTE_MAX_LCORES. In testpmd application, the current config forwarding cores op
app/testpmd: fix lcore ID restriction
With modern CPUs, it is possible to have higher CPU count thus we can have higher RTE_MAX_LCORES. In testpmd application, the current config forwarding cores option "--nb-cores" is hard limited to 255.
The patch fixes this constraint and also adjusts the lcore data structure to 32-bit to align with rte lcore APIs.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org
Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
|
Revision tags: v24.03, v24.03-rc4, v24.03-rc3 |
|
| #
90c26386 |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: enhance command-line parsing
This is a cleanup similar to previous ones in EAL and examples. Instead of using strcmp for every long options while getopt_long already did such parsing, r
app/testpmd: enhance command-line parsing
This is a cleanup similar to previous ones in EAL and examples. Instead of using strcmp for every long options while getopt_long already did such parsing, rely on getopt_long return value.
Note for reviewers: this patch is best reviewed once applied locally and displayed with git show -w.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
ddbf4799 |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: remove dead code for disabling cmdline library
The cmdline library is always enabled with meson. Remove traces of a time when it may have been possible to disable it.
Signed-off-by: Da
app/testpmd: remove dead code for disabling cmdline library
The cmdline library is always enabled with meson. Remove traces of a time when it may have been possible to disable it.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
3012880d |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: enhance queue count check
Checking the number of rxq/txq in the middle of option parsing is confusing. Besides, a check on nb_rxq / nb_txq check already exists after option parsing. Onl
app/testpmd: enhance queue count check
Checking the number of rxq/txq in the middle of option parsing is confusing. Besides, a check on nb_rxq / nb_txq check already exists after option parsing. Only keep this latter check and make testpmd quit in this case.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
c25382fa |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: fix error message for invalid option
""" The variable optind is the index of the next element to be processed in argv. The system initializes this value to 1. The caller can reset it
app/testpmd: fix error message for invalid option
""" The variable optind is the index of the next element to be processed in argv. The system initializes this value to 1. The caller can reset it to 1 to restart scanning of the same argv, or when scanning a new argument vector. """
Hence, if an invalid option is passed through testpmd cmdline, getopt returns '?' and increments optind to the next index in argv for a subsequent call. The message should log the previous index.
Fixes: 8fad2e5ab2c5 ("app/testpmd: report invalid command line parameter") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
6fa896ae |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: fix burst option parsing
rte_eth_dev_info_get() is not supposed to fail for a valid port_id, but for the theoretical case when it would fail, raise an error rather than skip subsequent
app/testpmd: fix burst option parsing
rte_eth_dev_info_get() is not supposed to fail for a valid port_id, but for the theoretical case when it would fail, raise an error rather than skip subsequent options.
Fixes: 6f51deb903b2 ("app/testpmd: check status of getting ethdev info") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
2ae06c57 |
| 14-Mar-2024 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: fix --stats-period option check
Rather than silently ignore an invalid value, raise an error for stats-period user input.
Fixes: cfea1f3048d1 ("app/testpmd: print statistics periodical
app/testpmd: fix --stats-period option check
Rather than silently ignore an invalid value, raise an error for stats-period user input.
Fixes: cfea1f3048d1 ("app/testpmd: print statistics periodically") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
|
Revision tags: v24.03-rc2, v24.03-rc1 |
|
| #
e96491cb |
| 09-Jan-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
app/testpmd: hide --bitrate-stats in help if disabled
Like other #ifdef options, bitrate-stats should not be printed in help if not configured.
Also reordered latencystats help string to group it w
app/testpmd: hide --bitrate-stats in help if disabled
Like other #ifdef options, bitrate-stats should not be printed in help if not configured.
Also reordered latencystats help string to group it with bitrate-stats.
Fixes: e25e6c70fb56 ("app/testpmd: add --bitrate-stats option") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
|
Revision tags: v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1, v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1 |
|
| #
1d343c19 |
| 08-Jun-2023 |
Mike Pattrick <mkp@redhat.com> |
app/testpmd: expand noisy neighbour forward modes
Previously the noisy neighbour vnf simulation would only operate in io mode, forwarding packets as is. However, this limited the usefulness of noisy
app/testpmd: expand noisy neighbour forward modes
Previously the noisy neighbour vnf simulation would only operate in io mode, forwarding packets as is. However, this limited the usefulness of noisy neighbour simulation.
This feature has now been expanded to supporting mac, macswap, and 5tswap modes. To facilitate adding this support, some new header files were added.
Signed-off-by: Mike Pattrick <mkp@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
| #
d54c7f15 |
| 01-Jun-2023 |
Julien Aube <julien_dpdk@jaube.fr> |
app/testpmd: support 2.5Gbps and 5Gbps speed
This extends the support for 2.5G and 5G NIC commonly found today
Signed-off-by: Julien Aube <julien_dpdk@jaube.fr> Reviewed-by: Ferruh Yigit <ferruh.yi
app/testpmd: support 2.5Gbps and 5Gbps speed
This extends the support for 2.5G and 5G NIC commonly found today
Signed-off-by: Julien Aube <julien_dpdk@jaube.fr> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
|
Revision tags: v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2 |
|
| #
a131d9ec |
| 01-Mar-2023 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: add link speed 400G
There are some devices supporting 400G speed, and it is well standardized in IEEE.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Morten Brørup <mb@sm
ethdev: add link speed 400G
There are some devices supporting 400G speed, and it is well standardized in IEEE.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
|
Revision tags: v23.03-rc1 |
|
| #
543df472 |
| 15-Dec-2022 |
Chengwen Feng <fengchengwen@huawei.com> |
app/testpmd: add --disable-flow-flush option
This patch adds "--disable-flow-flush" parameter, which could used to disable port flow flush when stop port. It allows testing keep flow rules or shared
app/testpmd: add --disable-flow-flush option
This patch adds "--disable-flow-flush" parameter, which could used to disable port flow flush when stop port. It allows testing keep flow rules or shared flow objects across restart.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Aman Singh <aman.deep.singh@intel.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4 |
|
| #
a4bf5421 |
| 21-Nov-2022 |
Hanumanth Pothula <hpothula@marvell.com> |
app/testpmd: add option to fix multi-mempool check
Add new testpmd command line argument, multi-rx-mempool, to control multi-rx-mempool feature. By default it's disabled.
Also, validate ethdev para
app/testpmd: add option to fix multi-mempool check
Add new testpmd command line argument, multi-rx-mempool, to control multi-rx-mempool feature. By default it's disabled.
Also, validate ethdev parameter 'max_rx_mempools' to know whether device supports multi-mempool feature or not.
Bugzilla ID: 1128 Fixes: 4f04edcda769 ("app/testpmd: support multiple mbuf pools per Rx queue")
Signed-off-by: Hanumanth Pothula <hpothula@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> Tested-by: Yingya Han <yingyax.han@intel.com> Tested-by: Yaqi Tang <yaqi.tang@intel.com>
show more ...
|
|
Revision tags: v22.11-rc3, v22.11-rc2 |
|
| #
23f2dfd3 |
| 12-Oct-2022 |
Yuan Wang <yuanx.wang@intel.com> |
app/testpmd: remove unused parameter in Rx header split
Protocol header sequence checking is supported in the ethdev library, the application does not need to do it again.
Coverity issue: 381396 Fi
app/testpmd: remove unused parameter in Rx header split
Protocol header sequence checking is supported in the ethdev library, the application does not need to do it again.
Coverity issue: 381396 Fixes: 52e2e7edcf48 ("app/testpmd: add protocol-based buffer split")
Signed-off-by: Yuan Wang <yuanx.wang@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
eb0d471a |
| 13-Oct-2022 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
ethdev: add proactive error handling mode
Some PMDs (e.g. hns3) could detect hardware or firmware errors, one error recovery mode is to report RTE_ETH_EVENT_INTR_RESET event, and wait for applicatio
ethdev: add proactive error handling mode
Some PMDs (e.g. hns3) could detect hardware or firmware errors, one error recovery mode is to report RTE_ETH_EVENT_INTR_RESET event, and wait for application invoke rte_eth_dev_reset() to recover the port, however, this mode has the following weaknesses:
1) Due to different hardware and software design, some NIC port recovery process requires multiple handshakes with the firmware and PF (when the port is VF). It takes a long time to complete the entire operation for one port, If multiple ports (for example, multiple VFs of a PF) are reset at the same time, other VFs may fail to be reset. (Because the reset processing is serial, the previous VFs must be processed before the subsequent VFs).
2) The impact on the application layer is great, and it should stop working queues, stop calling Rx and Tx functions, and then call rte_eth_dev_reset(), and re-setup all again.
This patch introduces proactive error handling mode, the PMD will try to recover from the errors itself. In this process, the PMD sets the data path pointers to dummy functions (which will prevent the crash), and also make sure the control path operations failed with retcode -EBUSY.
Because the PMD recovers automatically, the application can only sense that the data flow is disconnected for a while and the control API returns an error in this period.
In order to sense the error happening/recovering, three events were introduced:
1) RTE_ETH_EVENT_ERR_RECOVERING: used to notify the application that it detected an error and the recovery is being started. Upon receiving the event, the application should not invoke any control path APIs until receiving RTE_ETH_EVENT_RECOVERY_SUCCESS or RTE_ETH_EVENT_RECOVERY_FAILED event.
2) RTE_ETH_EVENT_RECOVERY_SUCCESS: used to notify the application that it recovers successful from the error, the PMD already re-configures the port, and the effect is the same as that of the restart operation.
3) RTE_ETH_EVENT_RECOVERY_FAILED: used to notify the application that it recovers failed from the error, the port should not usable anymore. The application should close the port.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
|
Revision tags: v22.11-rc1 |
|
| #
52e2e7ed |
| 09-Oct-2022 |
Yuan Wang <yuanx.wang@intel.com> |
app/testpmd: add protocol-based buffer split
Add command line parameter: --rxhdrs=eth[,ipv4]
Set the protocol_hdr of segments to scatter packets on receiving if split feature is engaged. And the qu
app/testpmd: add protocol-based buffer split
Add command line parameter: --rxhdrs=eth[,ipv4]
Set the protocol_hdr of segments to scatter packets on receiving if split feature is engaged. And the queues with BUFFER_SPLIT flag.
Add interactive mode command: testpmd>set rxhdrs eth,ipv4,ipv4-udp (protocol sequence should be valid)
The protocol split feature is off by default. To enable protocol split, you need: 1. Start testpmd with multiple mempools. E.g. --mbuf-size=2048,2048 2. Configure Rx queue with rx_offload buffer split on. 3. Set the protocol type of buffer split. E.g. set rxhdrs eth,eth-ipv4 (default protocols of testpmd : eth|ipv4|ipv6|ipv4-tcp|ipv6-tcp| ipv4-udp|ipv6-udp|ipv4-sctp|ipv6-sctp|grenat|inner-eth| inner-ipv4|inner-ipv6|inner-ipv4-tcp|inner-ipv6-tcp| inner-ipv4-udp|inner-ipv6-udp|inner-ipv4-sctp|inner-ipv6-sctp) Above protocols can be configured in testpmd. But the configuration can only be applied when it is supported by specific pmd.
Signed-off-by: Yuan Wang <yuanx.wang@intel.com> Signed-off-by: Xuan Ding <xuan.ding@intel.com> Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
23095155 |
| 06-Oct-2022 |
Dariusz Sosnowski <dsosnowski@nvidia.com> |
app/testpmd: add hairpin queue memory modes
This patch extends hairpin-mode command line option of test-pmd application with an ability to configure whether Rx/Tx hairpin queue should use locked dev
app/testpmd: add hairpin queue memory modes
This patch extends hairpin-mode command line option of test-pmd application with an ability to configure whether Rx/Tx hairpin queue should use locked device memory or RTE memory.
For purposes of this configurations the following bits of 32 bit hairpin-mode are reserved:
- Bit 8 - If set, then force_memory flag will be set for hairpin RX queue. - Bit 9 - If set, then force_memory flag will be set for hairpin TX queue. - Bits 12-15 - Memory options for hairpin Rx queue: - Bit 12 - If set, then use_locked_device_memory will be set. - Bit 13 - If set, then use_rte_memory will be set. - Bit 14 - Reserved for future use. - Bit 15 - Reserved for future use. - Bits 16-19 - Memory options for hairpin Tx queue: - Bit 16 - If set, then use_locked_device_memory will be set. - Bit 17 - If set, then use_rte_memory will be set. - Bit 18 - Reserved for future use. - Bit 19 - Reserved for future use.
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
show more ...
|
| #
5007ac13 |
| 03-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated Flow Director configuration
Remove deprecated fdir_conf from device configuration. Assume that mode is equal to RTE_FDIR_MODE_NONE.
Add internal Flow Director configuratio
ethdev: remove deprecated Flow Director configuration
Remove deprecated fdir_conf from device configuration. Assume that mode is equal to RTE_FDIR_MODE_NONE.
Add internal Flow Director configuration copy in ixgbe and txgbe device private data since flow API supports requires it. Initialize mode to the first flow rule mode on the rule validation or creation.
Since Flow Director configuration data types are still used by some drivers internally, move it from public API to ethdev driver internal API.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Dongdong Liu <liudongdong3@huawei.com>
show more ...
|
| #
1bcb7ba9 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
app/testpmd: drop PCI register commands
Those commands date back to the early stages of DPDK when only PCI devices were supported. At the time, developers may have used those commands to help in deb
app/testpmd: drop PCI register commands
Those commands date back to the early stages of DPDK when only PCI devices were supported. At the time, developers may have used those commands to help in debugging their buggy^Wwork in progress drivers.
Removing them, we can drop the dependency on the PCI bus and library and make testpmd bus agnostic.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2 |
|
| #
48588943 |
| 09-Jun-2022 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: add help messages for multi-process
This patch adds help messages for multi-process. --num-procs=N: set the total number of multi-process instances. --proc-id=id: set the id of the cur
app/testpmd: add help messages for multi-process
This patch adds help messages for multi-process. --num-procs=N: set the total number of multi-process instances. --proc-id=id: set the id of the current process from multi-process instances(0 <= id < num-procs).
Fixes: a550baf24af9 ("app/testpmd: support multi-process") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
show more ...
|
|
Revision tags: v22.07-rc1 |
|
| #
57d91f5b |
| 31-Mar-2022 |
Mingxia Liu <mingxia.liu@intel.com> |
app/testpmd: replace hardcoded min mbuf number with macro
Add macro MIN_TOTAL_NUM_MBUFS (1024) to indicate what the value of total-num-mbufs should bigger than.
Fixes: c87988187fdb ("app/testpmd: a
app/testpmd: replace hardcoded min mbuf number with macro
Add macro MIN_TOTAL_NUM_MBUFS (1024) to indicate what the value of total-num-mbufs should bigger than.
Fixes: c87988187fdb ("app/testpmd: add --total-num-mbufs option") Cc: stable@dpdk.org
Signed-off-by: Mingxia Liu <mingxia.liu@intel.com> Acked-by: Yuying Zhang <yuying.zhang@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
1f8cc1a3 |
| 17-Nov-2021 |
Joyce Kong <joyce.kong@arm.com> |
app: remove unneeded atomic header include
Remove the unnecessary rte_atomic.h included in app modules.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.co
app: remove unneeded atomic header include
Remove the unnecessary rte_atomic.h included in app modules.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
| #
5388be6e |
| 15-Nov-2021 |
Haiyue Wang <haiyue.wang@intel.com> |
app/testpmd: avoid process ID out of range
The 'proc_id' should be less than 'num_procs', if not, exit the testpmd and show the error message.
Fixes: a550baf24af9 ("app/testpmd: support multi-proce
app/testpmd: avoid process ID out of range
The 'proc_id' should be less than 'num_procs', if not, exit the testpmd and show the error message.
Fixes: a550baf24af9 ("app/testpmd: support multi-process")
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|