summaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)Author
6 hourscmdline: remove unnecessary #ifdefHEADmasterStephen Hemminger
The #ifdef to conditionally include <sys/socket.h> on BSD is unnecessary. It is harmless to include the header on other OS's. An extra include is better than an #ifdef. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
23 hoursapp/testpmd: set maximum LRO packet sizeDekel Peled
This patch implements use of the API for LRO aggregated packet max size. It adds command-line and runtime commands to configure this value, and adds option to show the supported value. Documentation is updated accordingly. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Matan Azrad <matan@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
32 hoursapp/testpmd: disable packet type parsing by defaultPavan Nikhilesh
Disable packey type parsing on port init, user can enable ptype parsing by issuing set ptype command. Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
32 hoursapp/testpmd: add command to set supported packet typesPavan Nikhilesh
Add command to set supported ptype mask. Usage: set port <port_id> ptype_mask <ptype_mask> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
32 hoursethdev: add mbuf RSS update as an offloadPavan Nikhilesh
Add new Rx offload flag `DEV_RX_OFFLOAD_RSS_HASH` which can be used to enable/disable PMDs write to `rte_mbuf::hash::rss`. PMDs notify the validity of `rte_mbuf::hash:rss` to the application by enabling `PKT_RX_RSS_HASH ` flag in `rte_mbuf::ol_flags`. Also update testpmd rx_offload command to include RSS_HASH Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
34 hoursapp/testpmd: block xstats for hidden portsStephen Hemminger
All the other testpmd commands block access to devices that are owned. Looks like xstat got overlooked. Fixes: bfd5051b43b5 ("app/testpmd: new command to get extended statistics") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
4 daysapp/testpmd: support hairpinOri Kam
This commit introduce the hairpin queues to the testpmd. the hairpin queue is configured using --hairpinq=<n> the hairpin queue adds n queue objects for both the total number of TX queues and RX queues. The connection between the queues are 1 to 1, first Rx hairpin queue will be connected to the first Tx hairpin queue Signed-off-by: Ori Kam <orika@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 daysapp/testpmd: fix IP next proto in set raw decap/encapXiaoyu Min
The IP's next protocol will be specified by user when set IP-in-IP tunnel header via set raw decap/encap commands. Currently this field is wrongly set to zero if there is no upper layer. This leads to the encapsulated IP-in-IP tunnel header is not correct. This next protocol field should be leave it as-is if there is no upper layer or value is already set. Fixes: 30626def03d6 ("app/testpmd: support raw encap/decap actions") Cc: stable@dpdk.org Signed-off-by: Xiaoyu Min <jackmin@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
4 daysapp/testpmd: support checking descriptor statusKiran Kumar K
Adding support to check TX and RX descriptor status. Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 daysethdev: move egress metadata to dynamic fieldViacheslav Ovsiienko
The dynamic mbuf fields were introduced by [1]. The egress metadata is good candidate to be moved from statically allocated field tx_metadata to dynamic one. Because mbufs are used in half-duplex fashion only, it is safe to share this dynamic field with ingress metadata. The shared dynamic field contains either egress (if application going to transmit mbuf with tx_burst) or ingress (if mbuf is received with rx_burst) metadata and can be accessed by RTE_FLOW_DYNF_METADATA() macro or with rte_flow_dynf_metadata_set() and rte_flow_dynf_metadata_get() helper routines. PKT_TX_DYNF_METADATA/PKT_RX_DYNF_METADATA flag will be set along with the data. The mbuf dynamic field must be registered by calling rte_flow_dynf_metadata_register() prior accessing the data. The availability of dynamic mbuf metadata field can be checked with rte_flow_dynf_metadata_avail() routine. DEV_TX_OFFLOAD_MATCH_METADATA offload and configuration flag is removed. The metadata support in PMDs is engaged on dynamic field registration. Metadata feature is getting complex. We might have some set of actions and items that might be supported by PMDs in multiple combinations, the supported values and masks are the subjects to query by perfroming trials (with rte_flow_validate). [1] http://patches.dpdk.org/patch/62040/ Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Ori Kam <orika@mellanox.com>
4 daysethdev: extend flow metadataViacheslav Ovsiienko
Currently, metadata can be set on egress path via mbuf tx_metadata field with PKT_TX_METADATA flag and RTE_FLOW_ITEM_TYPE_META matches metadata. This patch extends the metadata feature usability. 1) RTE_FLOW_ACTION_TYPE_SET_META When supporting multiple tables, Tx metadata can also be set by a rule and matched by another rule. This new action allows metadata to be set as a result of flow match. 2) Metadata on ingress There's also need to support metadata on ingress. Metadata can be set by SET_META action and matched by META item like Tx. The final value set by the action will be delivered to application via metadata dynamic field of mbuf which can be accessed by RTE_FLOW_DYNF_METADATA() macro or with rte_flow_dynf_metadata_set() and rte_flow_dynf_metadata_get() helper routines. PKT_RX_DYNF_METADATA flag will be set along with the data. The mbuf dynamic field must be registered by calling rte_flow_dynf_metadata_register() prior to use SET_META action. The availability of dynamic mbuf metadata field can be checked with rte_flow_dynf_metadata_avail() routine. If application is going to engage the metadata feature it registers the metadata dynamic fields, then PMD checks the metadata field availability and handles the appropriate fields in datapath. For loopback/hairpin packet, metadata set on Rx/Tx may or may not be propagated to the other path depending on hardware capability. MARK and METADATA look similar and might operate in similar way, but not interacting. Initially, there were proposed two metadata related actions: - RTE_FLOW_ACTION_TYPE_FLAG - RTE_FLOW_ACTION_TYPE_MARK These actions set the special flag in the packet metadata, MARK action stores some specified value in the metadata storage, and, on the packet receiving PMD puts the flag and value to the mbuf and applications can see the packet was threated inside flow engine according to the appropriate RTE flow(s). MARK and FLAG are like some kind of gateway to transfer some per-packet information from the flow engine to the application via receiving datapath. Also, there is the item of type RTE_FLOW_ITEM_TYPE_MARK provided. It allows us to extend the flow match pattern with the capability to match the metadata values set by MARK/FLAG actions on other flows. From the datapath point of view, the MARK and FLAG are related to the receiving side only. It would useful to have the same gateway on the transmitting side and there was the feature of type RTE_FLOW_ITEM_TYPE_META was proposed. The application can fill the field in mbuf and this value will be transferred to some field in the packet metadata inside the flow engine. It did not matter whether these metadata fields are shared because of MARK and META items belonged to different domains (receiving and transmitting) and could be vendor-specific. So far, so good, DPDK proposes some entities to control metadata inside the flow engine and gateways to exchange these values on a per-packet basis via datapaths. As we can see, the MARK and META means are not symmetric, there is absent action which would allow us to set META value on the transmitting path. So, the action of type: - RTE_FLOW_ACTION_TYPE_SET_META was proposed. The next, applications raise the new requirements for packet metadata. The flow ngines are getting more complex, internal switches are introduced, multiple ports might be supported within the same flow engine namespace. From the DPDK points of view, it means the packets might be sent on one eth_dev port and received on the other one, and the packet path inside the flow engine entirely belongs to the same hardware device. The simplest example is SR-IOV with PF, VFs and the representors. And there is a brilliant opportunity to provide some out-of-band channel to transfer some extra data from one port to another one, besides the packet data itself. And applications would like to use this opportunity. It is supposed for application to use trials (with rte_flow_validate) to detect which metadata features (FLAG, MARK, META) actually supported by PMD and underlying hardware. It might depend on PMD configuration, system software, hardware settings, etc., and should be detected in run time. Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Ori Kam <orika@mellanox.com>
4 daysethdev: enhance burst mode information APIHaiyue Wang
Change the type of burst mode information from bit field to free string data, so that each PMD can describe the Rx/Tx busrt functions flexibly. Fixes: eb5902504a13 ("ethdev: add API for getting burst mode information") Fixes: 6b6609f68ccd ("net/i40e: support Rx/Tx burst mode info") Fixes: e9a10e6c2102 ("net/ice: support Rx/Tx burst mode info") Fixes: 7fe108edcf53 ("app/testpmd: show Rx/Tx burst mode description") Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Ray Kinsella <ray.kinsella@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
4 daysethdev: add flow tagViacheslav Ovsiienko
A tag is a transient data which can be used during flow match. This can be used to store match result from a previous table so that the same pattern need not be matched again on the next table. Even if outer header is decapsulated on the previous match, the match result can be kept. Some device expose internal registers of its flow processing pipeline and those registers are quite useful for stateful connection tracking as it keeps status of flow matching. Multiple tags are supported by specifying index. Example testpmd commands are: flow create 0 ingress pattern ... / end actions set_tag index 2 value 0xaa00bb mask 0xffff00ff / set_tag index 3 value 0x123456 mask 0xffffff / vxlan_decap / jump group 1 / end flow create 0 ingress pattern ... / end actions set_tag index 2 value 0xcc00 mask 0xff00 / set_tag index 3 value 0x123456 mask 0xffffff / vxlan_decap / jump group 1 / end flow create 0 ingress group 1 pattern tag index is 2 value spec 0xaa00bb value mask 0xffff00ff / eth ... / end actions ... jump group 2 / end flow create 0 ingress group 1 pattern tag index is 2 value spec 0xcc00 value mask 0xff00 / tag index is 3 value spec 0x123456 value mask 0xffffff / eth ... / end actions ... / end flow create 0 ingress group 2 pattern tag index is 3 value spec 0x123456 value mask 0xffffff / eth ... / end actions ... / end Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
4 daystest/compress: refactor unit testsArtur Trybula
Core engine refactoring (test_deflate_comp_decomp function). Smaller specialized functions created. Signed-off-by: Artur Trybula <arturx.trybula@intel.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com> Acked-by: Shally Verma <shallyv@marvell.com>
4 daysipsec: remove redundant replay window sizeHemant Agrawal
The rte_security lib has introduced replay_win_sz, so it can be removed from the rte_ipsec lib. The relevant tests, app are also update to reflect the usages. Note that esn and anti-replay fileds were earlier used only for ipsec library, they were enabling the libipsec by default. With this change esn and anti-replay setting will not automatically enabled libipsec. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
4 daystest/crypto: enable additional cases for dpaaxHemant Agrawal
This patch enables short buffer and 12 bit IV AES-CTR cases for dpaax_sec pmds. Signed-off-by: Vakul Garg <vakul.garg@nxp.com> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
4 dayscrypto/aesni_gcm: support in-place chained mbufsPablo de Lara
IPSec Multi buffer library supports encryption on multiple segments. When dealing with chained buffers (multiple segments), as long as the operation is in-place, the destination buffer does not have to be contiguous (unlike in the case of out-of-place operation). Therefore, the limitation of not supporting in-place chained mbuf can be removed. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
4 daysapp/test-sad: add sanity checksVladimir Medvedkin
Coverity reported about two division by zero: *** CID 350344: Incorrect expression (DIVIDE_BY_ZERO) Although in fact these dividers will never be equal to 0, adding explicit checks in lookup() to make coverity happy will not affect the execution speed. Fixes: 908be0651a5a ("app/test-sad: add test application for IPsec SAD") Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
4 dayscmdline: replace FreeBSD ifdef for IP address parsingThomas Monjalon
The constants like AF_INET are in sys/socket.h in FreeBSD. The #ifdef macro __FreeBSD__ is replaced with RTE_EXEC_ENV_FREEBSD in order to be consistent across DPDK files, and allow to grep for EXEC_ENV among other benefits. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
4 daystest: clean LTO warningsAndrzej Ostruszka
During LTO build compiler reports some 'false positive' warnings about variables being possibly used uninitialized. This patch silences these warnings. Exemplary compiler warning to suppress (with LTO enabled): error: ‘stats.greatest_free_size’ may be used uninitialized in this function [-Werror=maybe-uninitialized] return len - overhead; Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com> Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
4 daysapp/eventdev: clean LTO warningsAndrzej Ostruszka
During LTO build compiler reports some 'false positive' warnings about variables being possibly used uninitialized. This patch silences these warnings. Exemplary compiler warning to suppress (with LTO enabled): error: ‘service_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ret = evt_service_setup(service_id); Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
5 daystest/atomic: add atomic 16/32/64-bit exchanges testDavid Christensen
The test works by creating a token comprised of random data and a CRC8 value, using the rte_atomicXX_exchange to exchange the new token for a previously generated token, and then verifying that the exchanged data is intact (i.e. the CRC8 is still correct for the data). Signed-off-by: David Christensen <drc@linux.vnet.ibm.com> Acked-by: David Marchand <david.marchand@redhat.com>
5 daystest/rib: speed up rib6 autotestsVladimir Medvedkin
Split slow part of rib6_autotest into rib6_slow_autotest Fixes: abab6d2966dc ("test/rib: add IPv6 autotests") Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Acked-by: Aaron Conole <aconole@redhat.com>
5 daystest/rib: speed up rib autotestsVladimir Medvedkin
Split slow part of rib_autotest into rib_slow_autotest Fixes: b35df4dd666e ("test/rib: add autotests") Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Acked-by: Aaron Conole <aconole@redhat.com>
7 daystest/mempool: fix false positive resultOlivier Matz
The ret variable, initialized to -1, is changed to 0 during the test, making the test successful in some cases where it should return a failure. Fix this by always using the GOTO_ERR() macro that sets the ret variable before doing the goto. Fixes: 923ceaeac140 ("test/mempool: add unit test cases") Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
7 daystest/fib: add IPv6 performance autotestsVladimir Medvedkin
Performance IPv6 tests for the FIB library. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
7 daystest/fib: add performance autotestsVladimir Medvedkin
Performance tests for the new FIB library. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
7 daystest/fib: add IPv6 autotestsVladimir Medvedkin
Functional IPv6 tests for the FIB library. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
7 daystest/fib: add autotestsVladimir Medvedkin
Functional tests for the new FIB library. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
7 daystest/rib: add IPv6 autotestsVladimir Medvedkin
Functional tests for RIB6. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
7 daystest/rib: add autotestsVladimir Medvedkin
Functional tests for the new RIB library. Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
2019-10-27test: use common macro RTE_DIMPavan Nikhilesh
Use RTE_DIM instead of re-defining ARRAY_SIZE. Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Gage Eads <gage.eads@intel.com>
2019-10-27app/procinfo: use strlcpy for copying stringCiara Power
Replaced strncpy and strcpy with strlcpy. Also replaced snprintf with strlcpy where applicable. Using strlcpy is safe practice when copying strings, as it will include a null terminator. Fixes: 2deb6b5246d7 ("app/procinfo: add collectd format and host id") Fixes: 8a37f37fc243 ("app/procinfo: add --show-port") Cc: stable@dpdk.org Reported-by: Reshma Pattan <reshma.pattan@intel.com> Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2019-10-27test/mem: remove dependency on EAL internalsDavid Marchand
Rather than dereference the mem_config internal structure, we can rely on the rte_memzone_walk API and count memzones. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
2019-10-27mem: hide internal heap headerDavid Marchand
Let's avoid exporting structures without an identified usecase. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
2019-10-25app/testpmd: support multiple raw encap/decapXiaoyu Min
In some scenarios, the raw_encap/raw_decap actions could be multiple in one single flow (e,g. hirepin flow): ... actions raw_decap / raw_encap / raw_decap / raw_encap / ... This requires the testpmd supports multiple raw_encap/raw_decap data settings as well. With the multiple raw_encap/raw_decap settings, the testpmd commands – set raw_encap / set raw_decap will become: set raw_encap <index> <item pattern> set raw_decap <index> <item pattern> And the actions – raw_encap/raw_decap also could optionally choose which global raw_encap/raw_decap confs to be used by index: ... actions raw_decap index 1 / raw_encap index 2 / ... If there is no `index` specified, the default index is 0: set raw_encap <item pattern> ... actions raw_decap / raw_encap / ... which will use raw_encap index 0. In addition to the set raw_encap/raw_decap commands, show <raw_encap/raw_decap> <index> show <raw_encap/raw_decap> all are also introduced into in order to check which index is set and to what. Signed-off-by: Xiaoyu Min <jackmin@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
2019-10-25app/testpmd: fix Tx checksum when TSO enabledPeng Huang
This patch fixed the TX checksum value problem when enabled TSO in tunnel packets, because outer UDP checksum calculation depend on the TSO configuration. Fixes: 0f62d63593ed ("app/testpmd: support tunneled TSO in checksum engine") Cc: stable@dpdk.org Signed-off-by: Peng Huang <peng.huang@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2019-10-25net: add new header file for VXLANFlavia Musatescu
The VXLAN related definitions and structures are moved from rte_ether.h to a new header file: rte_xvlan.h. Also introducing a new define macro for VXLAN default port id: RTE_VXLAN_DEFAULT_PORT Signed-off-by: Flavia Musatescu <flavia.musatescu@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Tested-by: Raslan Darawsheh <rasland@mellanox.com>
2019-10-25app/testpmd: fix missing GENEVE item in raw encapWisam Jaddo
Fixes: 0f4203fe9d18 ("app/testpmd: support GENEVE pattern item in flow rules") Cc: stable@dpdk.org Signed-off-by: Wisam Jaddo <wisamm@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
2019-10-25app/testpmd: add GTP parsing and Tx checksum offloadTing Xu
Enable testpmd to forward GTP packet in csum fwd mode. A GTP header structure (without optional fields and extension header) is defined in new rte_gtp.h. A parser function in testpmd is added. GTPU and GTPC packets are both supported, with respective UDP destination port and GTP message type. Signed-off-by: Ting Xu <ting.xu@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-26mbuf: support dynamic fields and flagsOlivier Matz
Many features require to store data inside the mbuf. As the room in mbuf structure is limited, it is not possible to have a field for each feature. Also, changing fields in the mbuf structure can break the API or ABI. This commit addresses these issues, by enabling the dynamic registration of fields or flags: - a dynamic field is a named area in the rte_mbuf structure, with a given size (>= 1 byte) and alignment constraint. - a dynamic flag is a named bit in the rte_mbuf structure. The typical use case is a PMD that registers space for an offload feature, when the application requests to enable this feature. As the space in mbuf is limited, the space should only be reserved if it is going to be used (i.e when the application explicitly asks for it). The registration can be done at any moment, but it is not possible to unregister fields or flags. Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2019-10-25test: fix global variable multiple definitionsFerruh Yigit
Multiple global variable are defined in multiple unit test files with same name, but all unit test files are linked into single executable, which means those variables share same storage which is not the intention, fixed by making global variables 'static'. Issue has been detected by '-fno-common' gcc flag. Fixes: fdeb30fa7102 ("test/bitrate: add unit tests for bitrate library") Fixes: c3eabff124e6 ("distributor: add unit tests") Fixes: 0e925aef2779 ("app/test: add EFD functional and perf tests") Fixes: 359e17bf081f ("app/test: improve hash unit tests") Fixes: c7eb0972e74b ("test/hash: add lock-free r/w concurrency") Fixes: 1e3676a06e4c ("test/latency: add unit tests for latencystats library") Fixes: 0cc67a96e486 ("test/member: add functional and perf tests") Fixes: e6a14121f4ae ("test/rcu: remove arbitrary limit on max core count") Fixes: 104dbec2081a ("test/rcu: increase size of core numbers") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-25app/testpmd: fix global variable multiple definitionsFerruh Yigit
Some flow config related global variables are defined in a header file which was causing multiple definitions of the variables, fixed it by moving them to the .c file. Issue has been detected by '-fno-common' gcc flag. Also while being there, removed duplicated 'ACTION_RAW_ENCAP_MAX_DAT definition, moved 'vxlan_encap_conf' & 'nvgre_encap_conf' initialization to 'cmdline_flow.c' which is better location than 'testpmd.c' relocated 'action_raw_encap_data' & 'action_raw_decap_data' struct definitions slightly within the file Fixes: 1960be7d32f8 ("app/testpmd: add VXLAN encap/decap") Fixes: dcd962fc6b4e ("app/testpmd: add NVGRE encap/decap") Fixes: a1191d39cb57 ("app/testpmd: add MPLSoUDP encapsulation") Fixes: 3e77031be855 ("app/testpmd: add MPLSoGRE encapsulation") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-25test/sched: add subport config flexibilityJasvinder Singh
Modify tests function to allow different subports of the same port to have different configuration in terms of number of pipes, pipe queue sizes, etc. Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
2019-10-23app/testpmd: increase RSS max queue sizeYahui Cao
Max queue indices ACTION_RSS_QUEUE_NUM , which limits testpmd actions rss queue size, has worked for a long time. As more powered PMD is merged, more RSS queues are supported(e.g. Intel ice driver FDIR supports up to 128 RSS queue numbers). The original max queue indices number doesn't satisfy PMD's requirement and it needs to become bigger. Signed-off-by: Yahui Cao <yahui.cao@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-23ethdev: add HIGIG2 key field to flow APIKiran Kumar K
Add new rte_flow_item_higig2_hdr in order to match higig2 header. It is a layer 2.5 protocol and used in Broadcom switches. Header format is based on the following document. http://read.pudn.com/downloads558/doc/comm/2301468/HiGig_protocol.pdf Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2019-10-23app/testpmd: fix help for loop topology optionCiara Power
The testpmd --help option did not show all possible choices for port topology previously. The loop topology option is now added. Fixes: 3e2006d6186c ("app/testpmd: add loopback topology") Cc: stable@dpdk.org Signed-off-by: Ciara Power <ciara.power@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-10-23app/testpmd: support extended RSS offload typesSimei Su
This patch adds cmdline support for extended rss types configuration. Signed-off-by: Simei Su <simei.su@intel.com> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
2019-10-23app/testpmd: fix CRC strip commandTing Xu
This patch fixed the bug that a failure appeared when config rx_offload crc_strip using command "port config all crc-strip on|off". The reason is that this command was removed in Commit e5db17a1e54e. The current command is "port config <port_id> rx_offload keep_crc on|off" instead. In this patch, some codes left over about 'crc_strip' are removed to make the current command clearer. Fixes: e5db17a1e54e ("app/testpmd: remove duplicated Rx offload commands") Cc: stable@dpdk.org Signed-off-by: Ting Xu <ting.xu@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2019-10-23app/testpmd: show Rx/Tx burst mode descriptionHaiyue Wang
Add the 'Burst mode' section into command 'show rxq|txq info <port_id> <queue_id>' to show the Rx/Tx burst mode description like: "Burst mode: Vector AVX2 Scattered" Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>