#
0c4abd36 |
| 28-Jan-2021 |
Steve Yang <stevex.yang@intel.com> |
app/testpmd: fix setting maximum packet length
"port config all max-pkt-len" command fails because it doesn't set the 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag properly.
Commit in the fixes line mo
app/testpmd: fix setting maximum packet length
"port config all max-pkt-len" command fails because it doesn't set the 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag properly.
Commit in the fixes line moved the 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag update from 'cmd_config_max_pkt_len_parsed()' to 'init_config()'. 'init_config()' function is only called during testpmd startup, but the flag status needs to be calculated whenever 'max_rx_pkt_len' changes.
The issue can be reproduced as [1], where the 'max-pkt-len' reduced and 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag should be cleared but it didn't.
Adding the 'update_jumbo_frame_offload()' helper function to update 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag and 'max_rx_pkt_len'. This function is called both by 'init_config()' and 'cmd_config_max_pkt_len_parsed()'.
Default 'max-pkt-len' value set to zero, 'update_jumbo_frame_offload()' updates it to "RTE_ETHER_MTU + PMD specific Ethernet overhead" when it is zero. If '--max-pkt-len=N' argument provided, it will be used instead. And with each "port config all max-pkt-len" command, the 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag, 'max-pkt-len' and MTU is updated.
[1] -------------------------------------------------------------------------- dpdk-testpmd -c 0xf -n 4 -- -i --max-pkt-len=9000 --tx-offloads=0x8000 --rxq=4 --txq=4 --disable-rss testpmd> set verbose 3 testpmd> port stop all testpmd> port config all max-pkt-len 1518 testpmd> port start all
// Got fail error info without this patch Configuring Port 0 (socket 1) Ethdev port_id=0 rx_queue_id=0, new added offloads 0x800 must be within per-queue offload capabilities 0x0 in rte_eth_rx_queue_setup() Fail to configure port 0 rx queues //<-- Fail error info; --------------------------------------------------------------------------
Bugzilla ID: 625 Fixes: 761c4d66900f ("app/testpmd: fix max Rx packet length for VLAN packets") Cc: stable@dpdk.org
Signed-off-by: Steve Yang <stevex.yang@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> Tested-by: Bo Chen <box.c.chen@intel.com>
show more ...
|
#
761c4d66 |
| 18-Jan-2021 |
Steve Yang <stevex.yang@intel.com> |
app/testpmd: fix max Rx packet length for VLAN packets
When the max rx packet length is smaller than the sum of mtu size and ether overhead size, it should be enlarged, otherwise the VLAN packets wi
app/testpmd: fix max Rx packet length for VLAN packets
When the max rx packet length is smaller than the sum of mtu size and ether overhead size, it should be enlarged, otherwise the VLAN packets will be dropped.
Removed the rx_offloads assignment for jumbo frame during command line parsing, and set the correct jumbo frame flag if MTU size is larger than the default value 'RTE_ETHER_MTU' within 'init_config()'.
Fixes: 384161e00627 ("app/testpmd: adjust on the fly VLAN configuration") Fixes: 35b2d13fd6fd ("net: add rte prefix to ether defines") Fixes: ce17eddefc20 ("ethdev: introduce Rx queue offloads API") Fixes: 150c9ac2df13 ("app/testpmd: update Rx offload after setting MTU") Cc: stable@dpdk.org
Signed-off-by: Steve Yang <stevex.yang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
0f93edbf |
| 26-Nov-2020 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: release flows left before port stop
According to RTE flow user guide, PMD will not keep flow rules after port stop. Application resources that refer to flow rules become obsolete after
app/testpmd: release flows left before port stop
According to RTE flow user guide, PMD will not keep flow rules after port stop. Application resources that refer to flow rules become obsolete after port stop and must not be used. Testpmd maintains linked list of active flows for each port. Entries in that list are allocated dynamically and must be explicitly released to prevent memory leak. The patch releases testpmd port flow_list that holds remaining flows before port is stopped.
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
08dcd187 |
| 02-Dec-2020 |
Huisong Li <lihuisong@huawei.com> |
app/testpmd: fix queue stats mapping configuration
Currently, the queue stats mapping has the following problems: 1) Many PMD drivers don't support queue stats mapping. But there is no failure me
app/testpmd: fix queue stats mapping configuration
Currently, the queue stats mapping has the following problems: 1) Many PMD drivers don't support queue stats mapping. But there is no failure message after executing the command "set stat_qmap rx 0 2 2". 2) Once queue mapping is set, unrelated and unmapped queues are also displayed. 3) The configuration result does not take effect or can not be queried in real time. 4) The mapping arrays, "tx_queue_stats_mappings_array" & "rx_queue_stats_mappings_array" are global and their sizes are based on fixed max port and queue size assumptions. 5) These record structures, 'map_port_queue_stats_mapping_registers()' and its sub functions are redundant for majority of drivers. 6) The display of the queue stats and queue stats mapping is mixed together.
Since xstats is used to obtain queue statistics, we have made the following simplifications and adjustments: 1) If PMD requires and supports queue stats mapping, configure to driver in real time by calling ethdev API after executing the command "set stat_qmap rx/tx ...". If not, the command can not be accepted. 2) Based on the above adjustments, these record structures, 'map_port_queue_stats_mapping_registers()' and its sub functions can be removed. "tx-queue-stats-mapping" & "rx-queue-stats-mapping" parameters, and 'parse_queue_stats_mapping_config()' can be removed too. 3) remove display of queue stats mapping in 'fwd_stats_display()' & 'nic_stats_display()', and obtain queue stats by xstats. Since the record structures are removed, 'nic_stats_mapping_display()' can be deleted.
Fixes: 4dccdc789bf4 ("app/testpmd: simplify handling of stats mappings error") Fixes: 013af9b6b64f ("app/testpmd: various updates") Fixes: ed30d9b691b2 ("app/testpmd: add stats per queue") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
56f05343 |
| 16-Nov-2020 |
Ferruh Yigit <ferruh.yigit@intel.com> |
app/testpmd: revert setting MTU explicitly after configure
Setting MTU after each 'rte_eth_dev_configure()' prevents using "--max-pkt-len=N" parameter and "port config all max-pkt-len #" command
Th
app/testpmd: revert setting MTU explicitly after configure
Setting MTU after each 'rte_eth_dev_configure()' prevents using "--max-pkt-len=N" parameter and "port config all max-pkt-len #" command
This is breaking DTS scatter test case which is using "--max-pkt-len=9000" testpmd parameter.
Reverting workaround to recover the DTS testcase.
Fixes: 1c21ee95cf52 ("app/testpmd: fix MTU after device configure") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Tested-by: Bo Chen <box.c.chen@intel.com>
show more ...
|
#
1c21ee95 |
| 13-Nov-2020 |
Ferruh Yigit <ferruh.yigit@intel.com> |
app/testpmd: fix MTU after device configure
In 'rte_eth_dev_configure()', if 'DEV_RX_OFFLOAD_JUMBO_FRAME' is not set the max frame size is limited to 'RTE_ETHER_MAX_LEN' (1518). This is mistake beca
app/testpmd: fix MTU after device configure
In 'rte_eth_dev_configure()', if 'DEV_RX_OFFLOAD_JUMBO_FRAME' is not set the max frame size is limited to 'RTE_ETHER_MAX_LEN' (1518). This is mistake because for the PMDs that has frame size bigger than "RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN" (18 bytes), the MTU becomes less than 1500, causing a valid frame with 1500 bytes payload to be dropped.
Since 'rte_eth_dev_set_mtu()' works as expected, it is called after 'rte_eth_dev_configure()' to fix the MTU. It may look redundant to set MTU after 'rte_eth_dev_configure()', both with default values, but it is not, the resulting MTU config can be different in the device based on frame overhead of the PMD.
And instead of setting the MTU to default value, it is first get via 'rte_eth_dev_get_mtu()' and set again, this is to cover cases MTU changed from testpmd command line.
'rte_eth_dev_set_mtu()', '-ENOTSUP' error is ignored to prevent irrelevant warning messages for the virtual PMDs.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Tested-by: Igor Romanov <igor.romanov@oktetlabs.ru>
show more ...
|
#
13e0b599 |
| 05-Nov-2020 |
Thomas Monjalon <thomas@monjalon.net> |
app/testpmd: revert max Rx packet length adjustment
The fix of max_rx_pkt_len for allowing VLAN packets in all cases was breaking configuration of some drivers. Example with virtio:
Ethdev port_id
app/testpmd: revert max Rx packet length adjustment
The fix of max_rx_pkt_len for allowing VLAN packets in all cases was breaking configuration of some drivers. Example with virtio:
Ethdev port_id=0 max_rx_pkt_len 11229 > max valid value 9728 Fail to configure port 0
Trying to fix the logic was revealing other issues in some drivers. That's why it is decided to revert.
The workaround for the original issue would be to set the MTU explicitly from the application with rte_eth_dev_set_mtu(). See RFC: https://patches.dpdk.org/patch/83756/
Fixes: f6870a7ed6b3 ("app/testpmd: fix max Rx packet length for VLAN packet") Cc: stable@dpdk.org
Reported-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
f6870a7e |
| 02-Nov-2020 |
Steve Yang <stevex.yang@intel.com> |
app/testpmd: fix max Rx packet length for VLAN packet
When the max Rx packet length is smaller than the sum of MTU size and ether overhead size, it should be enlarged, otherwise the VLAN packets wil
app/testpmd: fix max Rx packet length for VLAN packet
When the max Rx packet length is smaller than the sum of MTU size and ether overhead size, it should be enlarged, otherwise the VLAN packets will be dropped.
Fixes: 35b2d13fd6fd ("net: add rte prefix to ether defines") Cc: stable@dpdk.org
Signed-off-by: Steve Yang <stevex.yang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
cb056611 |
| 15-Oct-2020 |
Stephen Hemminger <stephen@networkplumber.org> |
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
T
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
The "--master-lcore" command line option is also deprecated and any usage will print a warning and use "--main-lcore" as replacement.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
a8d0d473 |
| 15-Oct-2020 |
Bruce Richardson <bruce.richardson@intel.com> |
build: replace use of old build macros
Use the newer macros defined by meson in all DPDK source code, to ensure there are no errors when the old non-standard macros are removed.
Signed-off-by: Bruc
build: replace use of old build macros
Use the newer macros defined by meson in all DPDK source code, to ensure there are no errors when the old non-standard macros are removed.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Rosen Xu <rosen.xu@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
e62c5a12 |
| 15-Oct-2020 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
app/testpmd: check stop call status
rte_eth_dev_stop() return value was changed from void to int, so this patch modify usage of this function across app/testpmd according to new return type.
Signed
app/testpmd: check stop call status
rte_eth_dev_stop() return value was changed from void to int, so this patch modify usage of this function across app/testpmd according to new return type.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
2befc67f |
| 16-Oct-2020 |
Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
app/testpmd: add extended Rx queue setup
If Rx queue is configured with split feature the extended setup with specified segment sizes and pool will be performed.
Signed-off-by: Viacheslav Ovsiienko
app/testpmd: add extended Rx queue setup
If Rx queue is configured with split feature the extended setup with specified segment sizes and pool will be performed.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
91c78e09 |
| 16-Oct-2020 |
Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
app/testpmd: add rxoffs commands and parameters
Add command line parameter:
--rxoffs=X[,Y]
Sets the offsets of packet segments from the beginning of the receiving buffer if split feature is engage
app/testpmd: add rxoffs commands and parameters
Add command line parameter:
--rxoffs=X[,Y]
Sets the offsets of packet segments from the beginning of the receiving buffer if split feature is engaged. Affects only the queues configured with split offloads (currently BUFFER_SPLIT is supported only).
Add interactive mode command, providing the same:
testpmd> set rxoffs (x[,y]*)
Where x[,y]* represents a CSV list of values, without white space.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
0f2096d7 |
| 16-Oct-2020 |
Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
app/testpmd: add rxpkts commands and parameters
Add command line parameter:
--rxpkts=X[,Y]
Sets the length of segments to scatter packets on receiving if split feature is engaged. Affects only the
app/testpmd: add rxpkts commands and parameters
Add command line parameter:
--rxpkts=X[,Y]
Sets the length of segments to scatter packets on receiving if split feature is engaged. Affects only the queues configured with split offloads (currently BUFFER_SPLIT is supported only).
Add interactive mode command:
testpmd> set rxpkts (x[,y]*)
Where x[,y]* represents a CSV list of values, without white space.
Sets the length of segments to scatter packets on receiving if split feature is engaged. Affects only the queues configured with split offloads (currently BUFFER_SPLIT is supported only). Optionally the multiple memory pools can be specified with --mbuf-size command line parameter and the mbufs to receive will be allocated sequentially from these extra memory pools.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
26cbb419 |
| 16-Oct-2020 |
Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
app/testpmd: add multiple pools per core creation
The command line parameter --mbuf-size is updated, it can handle the multiple values like the following:
--mbuf-size=2176,512,768,4096
specifying
app/testpmd: add multiple pools per core creation
The command line parameter --mbuf-size is updated, it can handle the multiple values like the following:
--mbuf-size=2176,512,768,4096
specifying the creation the extra memory pools with the requested mbuf data buffer sizes. If some buffer split feature is engaged the extra memory pools can be used to configure the Rx queues with rte_the_dev_rx_queue_setup_ex().
The extra pools are created with requested sizes, and pool names are assigned with appended index: mbuf_pool_socket_%socket_%index. Index zero is used to specify the first mandatory pool to maintain compatibility with existing code.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
1b9f2746 |
| 16-Oct-2020 |
Gregory Etelson <getelson@nvidia.com> |
app/testpmd: add commands for tunnel offload
Tunnel Offload API provides hardware independent, unified model to offload tunneled traffic. Key model elements are: - apply matches to both outer and i
app/testpmd: add commands for tunnel offload
Tunnel Offload API provides hardware independent, unified model to offload tunneled traffic. Key model elements are: - apply matches to both outer and inner packet headers during entire offload procedure; - restore outer header of partially offloaded packet; - model is implemented as a set of helper functions.
Implementation details:
* Create application tunnel: flow tunnel create <port> type <tunnel type> On success, the command creates application tunnel object and returns the tunnel descriptor. Tunnel descriptor is used in subsequent flow creation commands to reference the tunnel.
* Create tunnel steering flow rule: tunnel_set <tunnel descriptor> parameter used with steering rule template.
* Create tunnel matching flow rule: tunnel_match <tunnel descriptor> used with matching rule template.
* If tunnel steering rule was offloaded, outer header of a partially offloaded packet is restored after miss.
Example: test packet= <Ether dst=24:8a:07:8d:ae:d6 src=50:6b:4b:cc:fc:e2 type=IPv4 | <IP version=4 ihl=5 proto=udp src=1.1.1.1 dst=1.1.1.10 | <UDP sport=4789 dport=4789 len=58 chksum=0x7f7b | <VXLAN NextProtocol=Ethernet vni=0x0 | <Ether dst=24:aa:aa:aa:aa:d6 src=50:bb:bb:bb:bb:e2 type=IPv4 | <IP version=4 ihl=5 proto=icmp src=2.2.2.2 dst=2.2.2.200 | <ICMP type=echo-request code=0 chksum=0xf7ff id=0x0 seq=0x0 |>>>>>>> >>> len(packet) 92
testpmd> flow flush 0 testpmd> port 0/queue 0: received 1 packets src=50:6B:4B:CC:FC:E2 - dst=24:8A:07:8D:AE:D6 - type=0x0800 - length=92
testpmd> flow tunnel 0 type vxlan port 0: flow tunnel #1 type vxlan testpmd> flow create 0 ingress group 0 tunnel_set 1 pattern eth /ipv4 / udp dst is 4789 / vxlan / end actions jump group 0 / end Flow rule #0 created testpmd> port 0/queue 0: received 1 packets tunnel restore info: - vxlan tunnel - outer header present # <-- src=50:6B:4B:CC:FC:E2 - dst=24:8A:07:8D:AE:D6 - type=0x0800 - length=92
testpmd> flow create 0 ingress group 0 tunnel_match 1 pattern eth / ipv4 / udp dst is 4789 / vxlan / eth / ipv4 / end actions set_mac_dst mac_addr 02:CA:FE:CA:FA:80 / queue index 0 / end Flow rule #1 created testpmd> port 0/queue 0: received 1 packets src=50:BB:BB:BB:BB:E2 - dst=02:CA:FE:CA:FA:80 - type=0x0800 - length=42
* Destroy flow tunnel flow tunnel destroy <port> id <tunnel id>
* Show existing flow tunnels flow tunnel list <port>
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
show more ...
|
#
01817b10 |
| 15-Oct-2020 |
Bing Zhao <bingz@nvidia.com> |
app/testpmd: change hairpin queues setup
A new parameter `hairpin-mode` is introduced to the testpmd command line. Bitmask value is used to provide a more flexible configuration. This parameter shou
app/testpmd: change hairpin queues setup
A new parameter `hairpin-mode` is introduced to the testpmd command line. Bitmask value is used to provide a more flexible configuration. This parameter should be used when `hairpinq` is specified in the command line.
Bit 0 in the LSB indicates the hairpin will use the loop mode. The previous port Rx queue will be connected to the current port Tx queue. Bit 1 in the LSB indicates the hairpin will use pair port mode. The even index port will be paired with the next odd index port. If the total number of the probed ports is odd, then the last one will be paired to itself. If this byte is zero, then each port will be paired to itself. Bit 0 takes a higher priority in the checking.
Bit 4 in the second bytes indicate if the hairpin will use explicit Tx flow mode.
e.g. in the command line, "--hairpinq=2 --hairpin-mode=0x11"
If not set, default value zero will be used and the behavior will try to get aligned with the previous single port mode. If the ports belong to different vendors' NICs, it is suggested to use the `self` hairpin mode only.
Since hairpin configures the hardware resources, the port mask of packets forwarding engine will not be used here.
Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
#
2a449871 |
| 28-Sep-2020 |
Thomas Monjalon <thomas@monjalon.net> |
app/testpmd: align behaviour of multi-port detach
A port can be closed in multiple situations: - close command calling close_port() -> rte_eth_dev_close() - exit calling close_port() -> rte_eth_de
app/testpmd: align behaviour of multi-port detach
A port can be closed in multiple situations: - close command calling close_port() -> rte_eth_dev_close() - exit calling close_port() -> rte_eth_dev_close() - hotplug calling close_port() -> rte_eth_dev_close() - hotplug calling detach_device() -> rte_dev_remove() - port detach command, detach_device() -> rte_dev_remove() - device detach command, detach_devargs() -> rte_eal_hotplug_remove()
The flow rules are flushed before each close. It was already done in close_port(), detach_devargs() and detach_port_device() which calls detach_device(), but not in detach_device(). As a consequence, it was missing for siblings of port detach command and unplugged device. The check before calling port_flow_flush() is moved inside the function.
The state of the port to close is checked to be stopped. As above, this check was missing in detach_device(), impacting the cases of a multi-port device unplugged or detached with the port detach command.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
85c6571c |
| 28-Sep-2020 |
Thomas Monjalon <thomas@monjalon.net> |
app/testpmd: reset port status on close notification
Since rte_eth_dev_release_port() is called on all port close operations, the event RTE_ETH_EVENT_DESTROY can be reliably used for resetting the p
app/testpmd: reset port status on close notification
Since rte_eth_dev_release_port() is called on all port close operations, the event RTE_ETH_EVENT_DESTROY can be reliably used for resetting the port status on the application side.
The intermediate state RTE_PORT_HANDLING is removed in close_port() because a port can also be closed by a PMD in a device remove operation.
In case multiple ports are closed, calling remove_invalid_ports() only once is enough.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
ba5509a6 |
| 15-Sep-2020 |
Ivan Dyukov <i.dyukov@samsung.com> |
app: use new link status print format
Add usage of rte_eth_link_to_str function to applications and docs.
Signed-off-by: Ivan Dyukov <i.dyukov@samsung.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@i
app: use new link status print format
Add usage of rte_eth_link_to_str function to applications and docs.
Signed-off-by: Ivan Dyukov <i.dyukov@samsung.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
54f89e3d |
| 02-Sep-2020 |
Bruce Richardson <bruce.richardson@intel.com> |
app/testpmd: fix name of bitrate library in meson build
The bitrate library in DPDK is actually in a "bitratestats" directory, so that is used by meson for the macro and library name. Therefore, we
app/testpmd: fix name of bitrate library in meson build
The bitrate library in DPDK is actually in a "bitratestats" directory, so that is used by meson for the macro and library name. Therefore, we need to update references to RTE_LIBRTE_BITRATE to RTE_LIBRTE_BITRATESTATS in testpmd to have it found. Rather than supporting both defines, since make is being removed, we can just replace all instances of the former define with the latter.
To ensure testpmd links ok when this is done, we also need to add bitratestats to the list of library dependencies.
Fixes: 5b9656b157d3 ("lib: build with meson") Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Wei Ling <weix.ling@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
0e4b1963 |
| 14-Jul-2020 |
Dharmik Thakkar <dharmik.thakkar@arm.com> |
app/testpmd: add record-burst-stats runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phi
app/testpmd: add record-burst-stats runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
bc700b67 |
| 14-Jul-2020 |
Dharmik Thakkar <dharmik.thakkar@arm.com> |
app/testpmd: add record-core-cycles runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phi
app/testpmd: add record-core-cycles runtime config
Convert CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES to a runtime configuration.
Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Tested-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
2564abda |
| 02-Jul-2020 |
Shiri Kuzin <shirik@mellanox.com> |
app/testpmd: add 5-tuple swap forwarding engine
The new 5-tuple swap engine swaps: source and destination mac address, source and destination address in ipv4/ipv6, source and destination port in UDP
app/testpmd: add 5-tuple swap forwarding engine
The new 5-tuple swap engine swaps: source and destination mac address, source and destination address in ipv4/ipv6, source and destination port in UDP/TCP.
The forwarding engine will parse each layer and swap it, and will stop when the next layer doesn't match.
The mentioned headers of ICMP/ARP/Multicast packets will be swapped as well according to matching layers.
usage: --forward-mode=5tswap
Signed-off-by: Shiri Kuzin <shirik@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
4940344d |
| 10-Jul-2020 |
Viacheslav Ovsiienko <viacheslavo@mellanox.com> |
app/testpmd: add Tx scheduling command
This commit adds testpmd capability to provide timestamps on the packets being sent in the txonly mode. This includes:
- SEND_ON_TIMESTAMP support new dev
app/testpmd: add Tx scheduling command
This commit adds testpmd capability to provide timestamps on the packets being sent in the txonly mode. This includes:
- SEND_ON_TIMESTAMP support new device Tx offload capability support added, example:
testpmd> port config 0 tx_offload send_on_timestamp on
- set txtimes, registers field and flag, example:
testpmd> set txtimes 1000000,0
This command enables the packet send scheduling on timestamps if the first parameter is not zero, generic format:
testpmd> set txtimes (inter),(intra)
where:
inter - is the delay between the bursts in the device clock units. If "intra" (next parameter) is zero, this is the time between the beginnings of the first packets in the neighbour bursts, if "intra" is not zero, "inter" specifies the time between the beginning of the first packet of the current burst and the beginning of the last packet of the previous burst. If "inter"parameter is zero the send scheduling on timestamps is disabled (default).
intra - is the delay between the packets within the burst specified in the device clock units. The number of packets in the burst is defined by regular burst setting. If "intra" parameter is zero no timestamps provided in the packets excepting the first one in the burst.
As the result the bursts of packet will be transmitted with specific delay between the packets within the burst and specific delay between the bursts. The rte_eth_read_clock() is supposed to be engaged to get the current device clock value and provide the reference for the timestamps. If there is no supported rte_eth_read_clock() there will be no provided send scheduling on the device.
- show txtimes, displays the timing settings - txonly burst time pattern
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|