summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-07version: 17.05.2v17.05.217.05Yuanhan Liu
Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-09-07Revert "ip_frag: free mbufs on reassembly table destroy"Yuanhan Liu
This reverts commit 4aa29d2e55301e887a15c2a79f68507b7f65db84. Because this commit brings a new API, which is not allowed in stable releases. Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-08-30Revert "net/i40e: revert fix of PF notify when VF not up"Yuanhan Liu
This reverts commit 849a7581b8426633617aa773d58b13c6b4150c03. Quote from Xiaoyun: Since the previous patch which will cause a big issue wasn't accepted in dpdk-stable. I think there is no need to include the revert patch. Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-08-29crypto/dpaa2_sec: fix the return of supported APIAkhil Goyal
call to dpaa2_sec_dev_configure() is made mandatory, but dpaa2_sec_pmd returns a ENOTSUP which results in device not getting configured. dpaa2_sec PMD does not need any further configuration to be done in dpaa2_sec_dev_configure, hence returning 0 Fixes: e5cbdfc53765 ("crypto/dpaa2_sec: add basic operations") Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
2017-08-29examples/l3fwd: fix IPv6 packet type parseQi Zhang
[ upstream commit 5b9b65b14e05c106bb8229c0fe0b347315da7d00 ] Fix a typo that cause IPv6 packet type not be parsed. Fixes: 71a7e2424e07 ("examples/l3fwd: fix using packet type blindly") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2017-08-29net/i40e: revert fix of PF notify when VF not upXiaoyun Li
[ upstream commit f0adeebde0eff52674f28c4dd240030381c391e9 ] This reverts commit 035a8cf88f010c82de3040c895c801ce0849b065. Don't send messages to inactive VF will cause DPDK PF failing to send messages to kernel VF. With this revert, this issue will be solved. Fixes: 035a8cf88f01 ("net/i40e: fix PF notify when VF is not up") Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com>
2017-08-29net/ixgbe: fix mask flag on flow rule creationQi Zhang
[ upstream commit d769655450ac31842b78837ddf9849a3aee707c6 ] After fail to create a flow and if this is the first flow, the mask_added flag should be reset, or it will prevent a new flow which require different mask be created, since the mask config remains impact. Fixes: 72c135a89f8 ("net/ixgbe: create consistent filter") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2017-08-29net/enic: fix crash when freeing 0 packet to mempoolAaron Conole
[ upstream commit f7a58af502e08368a267886535367f205d4a5de6 ] Occasionally, the amount of packets to free from the work queue ends perfectly on a boundary to have nb_free = 0 and pool = 0. This causes a segfault as follows: (gdb) bt #0 rte_mempool_default_cache #1 rte_mempool_put_bulk (n=0, obj_table=0x7f10deff2530, mp=0x0) #2 enic_free_wq_bufs (wq=wq@entry=0x7efabffcd5b0, completed_index=completed_index@entry=33) #3 0x00007f11e9c86e17 in enic_cleanup_wq (enic=<optimized out>, wq=wq@entry=0x7efabffcd5b0) at /usr/src/debug/openvswitch-2.6.1/dpdk-16.11/drivers/net/enic/enic_rxtx.c:442 #4 0x00007f11e9c86e5f in enic_xmit_pkts (tx_queue=0x7efabffcd5b0, tx_pkts=0x7f10deffb1a8, nb_pkts=<optimized out>) at /usr/src/debug/openvswitch-2.6.1/dpdk-16.11/drivers/net/enic/enic_rxtx.c:470 #5 0x00007f11e9e147ad in rte_eth_tx_burst (nb_pkts=<optimized out>, tx_pkts=0x7f10deffb1a8, queue_id=0, port_id=<optimized out>) This commit makes the enic wq driver match other drivers who call the bulk free, by checking that there are actual packets to free. Fixes: 36935afbc53c ("net/enic: refactor Tx mbuf recycling") Reported-by: Vincent S. Cojot <vcojot@redhat.com> Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1468631 Signed-off-by: Aaron Conole <aconole@redhat.com> Reviewed-by: John Daley <johndale@cisco.com>
2017-08-29net/i40e: fix Rx data segment buffer lengthQi Zhang
[ upstream commit 1ff8e79591a6cc99c475a50e87adb30d9b20569a ] Buffer length be configured for each data segment should not exceed the requested value, or device may fill data that exceed the boundary of memory that be reserved. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Mark Kavanagh <mark.b.kavanagh@intel.com> Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
2017-08-29net/vmxnet3: fix filtering on promiscuous disablingChas Williams
[ upstream commit c1f7b53c83f37dcaf373b58e281ef16dc804bc14 ] We should only restore shadow_vfta when hw_vlan_filter is active. Otherwise, we should restore the previous filtering behavior. Fixes: f003fc383487 ("vmxnet3: enable vlan filtering") Signed-off-by: Chas Williams <ciwillia@brocade.com> Acked-by: Shrikrishna Khare <skhare@vmware.com>
2017-08-29net/qede: fix chip details printRasesh Mody
[ upstream commit 3818ac224fd7ff536b233d711ba6e9654186ab09 ] Fix chip details printed as part of print adapter info Fixes: 2ea6f76aff40 ("qede: add core driver") Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-08-29net/mlx4: fix probe failure reportMatan Azrad
[ upstream commit 8d0f80167d43949bd24374bcf294a149246dfd1c ] The corrupted code doesn't return error when probe function fails due to error in device mac address getting. By this way, the probe function may return success even if the ETH dev is not allocated. Hence, the probe caller, for example failsafe PMD, fails when it tries to get ETH dev after the device was plugged out while mlx4 was probing it. The fix adds error report to the probe caller when priv_get_mac fails and in all other failure options which are missing it. By this way, it prevents the unexpected behavior to miss ETH device after the device was probed successfully. Fixes: 7fae69eeff13 ("mlx4: new poll mode driver") Fixes: 001a520e419f ("net/mlx4: add port parameter") Fixes: 7b0661539229 ("mlx4: check if port is configured for ethernet") Fixes: fec3608673e6 ("mlx4: query netdevice to get initial MAC address") Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-08-29net/mlx4: fix flow creation before startMatan Azrad
[ upstream commit f3b10f1d2474dfa6774ec31e1a8dc14c76b3ac53 ] The corrupted code causes segmentation fault when user creates flow with drop action before device starting. For example, failsafe PMD recreates all the flows before calling dev_start in plug-in sequence and mlx4 allocated its flow drop queue in dev_start. Hence, when failsafe created flow with drop action after plug-in event, mlx4 tried to dereference flow drop queue which was uninitialized. The fix added check to the drop qp accessible and conditioned the ibv_create_flow calling on device starting. Fixes: 642fe56a1ba5 ("net/mlx4: use a single drop queue for all drop flows") Fixes: 46d5736a7049 ("net/mlx4: support basic flow items and actions") Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-08-29net/mlx5: fix missing packet type calculationYongseok Koh
[ upstream commit 48dfc20f1e456a69ec3f7c7a06319107d0f78e8e ] Calculation of packet type is currently enabled only when HW checksum is enabled. This isn't related to HW checksum offload. Enable it regardless. Fixes: 081f7eae242e ("mlx5: process offload flags only when requested") Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-08-29test/bonding: fix device nameTomasz Kulasek
[ upstream commit 7377abce1065a61b487e86dfeff70ae2ccd8d43a ] Bonding devices name must start with "net_bonding" prefix. Fixes: 9bf4901d1a11 ("bus/vdev: remove probe with driver name option") Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29test/bonding: fix namespace of the RSS testsDaniel Mrzyglod
[ upstream commit 347ab0a3007e95c86eb9263d19f714bd6ccad4d5 ] Drivers are looking by name of the device so change namespace to proper one. Fixes: 43b630244e7e ("app/test: add dynamic bonding RSS configuration") Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29test/bonding: fix parameters of a balance TxHerbert Guan
[ upstream commit a048bde9b116f6eb27281e5640d0a4961e90c8f7 ] When test case "test_balance_l23_tx_burst_ipv4_toggle_ip_addr" is calling balance_l23_tx_burst(), the ip_addr instead of mac_addr should be toggled according to the test name. Fixes: 92073ef961ee ("bond: unit tests") Signed-off-by: Herbert Guan <herbert.guan@arm.com> Acked-by: Jianbo Liu <jianbo.liu@linaro.org> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29test/bonding: fix memory corruptionsHerbert Guan
[ upstream commit 8d3708efece06212bde6b1e10b2251931e1e9961 ] There were double-free problems in some test cases, which will cause a duplicated mbuf will be added into mempool. After double-free, some new allocated mbuf will hold a same address and thus cause the memory corruption. Another minor issue is that in some test cases, allocated mbuf will not be released after test case exits. Hopefully these leaked mbuf will be released by the next test case in its setup phase when stopping the virtual pmd ports, while this do is a memory leak of the exited test case. To fix above 2 issues, this patch will do: 1) Release virtual pmd ports' tx queue in the clean up function remove_slaves_and_stop_bonded_device() of each test cases. 2) Do not release allocated mbufs for test bursts. These mbufs will be released in remove_slaves_and_stop_bonded_device() when test case exits. Fixes: 92073ef961ee ("bond: unit tests") Signed-off-by: Herbert Guan <herbert.guan@arm.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29net/i40e: fix PF notify when VF is not upXiaoyun Li
[ upstream commit 035a8cf88f010c82de3040c895c801ce0849b065 ] This patch stops PF from sending messages to inactive VF and modifies VF state to active when VF reset is completed. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2017-08-29net/i40e: fix parsing QinQ patternKuba Kozak
[ upstream commit c2be7f9b232fd6730dcec83555af050941c7805f ] Add check if o_vlan_mask and i_vlan_mask are not a NULL pointer. Coverity issue: 143448 Coverity issue: 143449 Fixes: d37705068ee8 ("net/i40e: parse QinQ pattern") Signed-off-by: Kuba Kozak <kubax.kozak@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2017-08-29net/mlx5: fix inconsistent link status queryGowrishankar Muthukrishnan
[ upstream commit ef09a7fc762073d9980b93bbd6fcf83e6e6b4abf ] ETHTOOL_GLINKSETTINGS ioctl call in mlx5 pmd returns inconsistent link status due to which any application relying on it would not function correctly. Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds") Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2017-08-29net/ixgbe: fix mirror rule index overflowQi Zhang
[ upstream commit 9b2df1083aab703e73f6d76e8f41afacb463afe9 ] Mirror rule id should not exceed the boundary defined by IXGBE_MAX_MIRROR_RULES. Fixes: fe3a45fd4104 ("ixgbe: add VMDq support") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2017-08-29net/bnxt: free filter before reusing itAjit Khaparde
[ upstream commit 4cddfcb71b1edeed845aff0b19c9ea73622f79c6 ] This patch sends the HWRM command to free a filter in the hardware, before using it again. Fixes: f92735db1e4c ("net/bnxt: add L2 filter alloc/init/free") Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-08-29net/bnxt: check invalid L2 filter idAjit Khaparde
[ upstream commit 778f6209bc3b39339f2969a57ffb46f2cd396f15 ] Add code to check for invalid filter_id in bnxt_hwrm_clear_filter Fixes: f92735db1e4c ("net/bnxt: add L2 filter alloc/init/free") Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-08-29net/bnxt: fix set link configAjit Khaparde
[ upstream commit 645ad4d586e1bf4d58ef75dee3e734f0003e9f38 ] remove the unnecessary rte_delay in bnxt_set_hwrm_link_config Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2017-08-29net/i40e: fix link down and negotiationJeff Guo
[ upstream commit 1bb8f661168d942927cb65e355ec64d4ab195281 ] Enable the functions set link down and set link up in i40e by check phy_type, and fix the issue of auto negotiation failed in XXV710 when bind kernel driver after unbind from DPDK driver by modify the speed setting distinguish from set link up and down. With this fix, if unbind DPDK to bind kernel driver, no need to set auto negotiation and ifconfig up anymore, remove the part from doc. Fixes: ca7e599d4506 ("net/i40e: fix link management") Fixes: 2f1e22817420 ("i40e: skip link control as firmware workaround") Fixes: 6e145fcc754b ("i40e: support autoneg or force link speed") Signed-off-by: Jeff Guo <jia.guo@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2017-08-29net/virtio: fix Rx interrupt setupJiayu Hu
[ backported from upstream commit e7b9d1d2806c6bb8f30922c3cd6736b3076b7ec2 ] When use rte_eth_dev_configure() to enable rx queue interrupt for virtio devices, virtio_init_device() isn't called to set up the interrupt environment, which causes rx queue interrupt setup failed. This patch is to fix this issue. Fixes: 26b683b4f7d0 ("net/virtio: setup Rx queue interrupts") Signed-off-by: Jiayu Hu <jiayu.hu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2017-08-29net/virtio: fix MAC address readJianfeng Tan
[ upstream commit cb482cb3a305f96d8155bbeb052344dde66ad8f2 ] When virtio-net devices are bound to uio_pci_generic, we get the wrong mac addr by virtio PMD. The wrong mac addr is a addr that is 4-byte left shift of the correct addr. It's a regression bug introduced by the cleanup patch below. The condition of if we set use_msix should be if msix is actually enabled. Only to check if there is a capability list is not enough. For example, binding a transitional device to uio_pci_device would trigger the wrong assignment of use_msix. To correct that, we also check the flags of msix capability to make sure it's enabled. Fixes: ee1843bd8907 ("net/virtio: remove redundant MSI-X detection") Reported-by: Vipin Varghese <vipin.varghese@intel.com> Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-08-29mbuf: fix doxygen comment of bulk allocPablo de Lara
[ upstream commit c0bad56ef8b84a2e03bff1f5739a52248d22aedd ] When calling rte_pktmbuf_alloc_bulk, if there are not enough objects in the mempool, it returns a negative value, which should be reflected in the Doxygen comments. Fixes: 9ec201f5d6e7 ("mbuf: provide bulk allocation") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-08-29app/testpmd: fix flow rule copy functionsMatan Azrad
[ upstream commit 79bf388493b5c4be104c6c17fd98aa293dafa42d ] The corrupted code checks only RAW flow item type special case for returning its size but doesn't deal with any other flow item type and returns 0 for all the others. This bug leaves the flow descriptor empty for non RAW types. The fix takes the correct size to any regular types from appropriate array. The same issue, with a similar fix, is in flow action size method which deals only with RSS special type. Fixes: 938a184a1870 ("app/testpmd: implement basic support for flow API") Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-08-29crypto/armv8: fix HMAC supported key sizesSrisivasubramanian S
[ upstream commit 0f89def76127d694f946d1cf9bd960ebb0323ac2 ] For HMAC algorithms (SHAx-HMAC), the supported key sizes are not a fixed value, but a range between 1 and the block size. Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-08-29crypto/armv8: fix authentication session configurationSrisivasubramanian S
[ upstream commit 473174a7da555ec26751c89b56255192586cb0aa ] For key sizes greater than digest length, pad with zero rather than computing hash of the key itself. Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
2017-08-29app/crypto-perf: fix CSV outputPablo de Lara
[ upstream commit 49ff67d0d90f411713e81ef12ca8720a1974ecb6 ] When using CSV, the output of the throughput performance numbers was not correct, representing decimal numbers incorrectly. Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-08-29crypto/qat: fix SHA384-HMAC block sizePablo de Lara
[ upstream commit b5b047aa441adf5c13d25f0a5d3eb76787080903 ] Block size of SHA384-HMAC algorithm is 128 bytes, and not 64 bytes. Fixes: d905ee32d0dc ("crypto/qat: add aes-sha384-hmac capability") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-08-29crypto/qat: fix HMAC supported key sizesPablo de Lara
[ upstream commit 5668da1eb5897a96b672ac3b610bd3542e3e5cbe ] For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported key sizes are not a fixed value, but a range between 1 and the block size. Fixes: 26c2e4ad5ad4 ("cryptodev: add capabilities discovery") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-08-29crypto/openssl: fix HMAC supported key sizesPablo de Lara
[ upstream commit e5e7bc712601f8eefe15997cc46265cdc0ace0ce ] For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported key sizes are not a fixed value, but a range between 1 and the block size. Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29crypto/aesni_mb: fix HMAC supported key sizesPablo de Lara
[ upstream commit cefa431162fcef7f1ef0804beb25d7a9883fc54a ] For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported key sizes are not a fixed value, but a range between 1 and the block size. Fixes: 26c2e4ad5ad4 ("cryptodev: add capabilities discovery") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29crypto/dpaa2_sec: fix HMAC supported key sizesAkhil Goyal
[ upstream commit f947fd77185fef15e6c8471c11c9beb2f1c3a018 ] For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported key sizes are not a fixed value, but a range between 1 and the block size. Fixes: 623326dded3a ("crypto/dpaa2_sec: introduce poll mode driver") Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-08-29examples/qos_sched: fix build for less lcoresHemant Agrawal
[ upstream commit e481ebfd622c23a1d854cb4655a3534d68d322af ] APP_MAX_LCORES is hardcoded as 64. This will cause build err when RTE_MAX_LCORE is less then 64. "args.c:127:22: error: iteration 8 invokes undefined behavior [-Werror=aggressive-loop-optimizations] if (cfg->lcore_role[i] == ROLE_RTE) ~~~~~~~~~~~~~~~^~~ args.c:126:2: note: within this loop for (i = 0; i < APP_MAX_LCORE; i++) {" Fixes: d52b5e735aa3 ("examples/qos_sched: fix lcore limit") Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-08-29mempool/dpaa2: fix freeing bp listHemant Agrawal
[ upstream commit f31f7288835afc06171ae43164ffb6e43d263f52 ] The dpaa2_bp_list is being allocated using "rte_malloc", but the free is done using "free". Fixing it to use "rte_free". Fixes: 5dc43d22b5ad ("mempool/dpaa2: add hardware offloaded mempool") Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2017-08-29mempool/dpaa2: fix error code for allocation failureHemant Agrawal
[ upstream commit 6ed4390e5e16ddc836279946591618527cd69544 ] In case the alloc api is not able to allocate the required number of buffer, it can return '0', which will not indicate the failure to the calling function. This patch fix the return value to indicate the failure. Fixes: 5dc43d22b5ad ("mempool/dpaa2: add hardware offloaded mempool") Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2017-08-29app/testpmd: fix token matching in flow commandAdrien Mazarguil
[ upstream commit a00cbb4586bdff936c81a9179a93b869c52e9b0c ] While matching user input against a token name or any other fixed string, comparison stops at the end of user input if shorter (e.g. "foo" matches token name "foobar"). Although the unintended consequence of this behavior allows users to abbreviate command names and various parameters yet generate valid commands, the parser was not designed to support this and does not prevent ambiguous tokens. For instance, entering "i" for a pattern item matches "ipv4", "ipv6" and "icmp" then defaults to one of them in an unspecified manner. Prevent this behavior by taking the length of fixed strings into account. Fixes: 19c90af6285c ("app/testpmd: add flow command") Fixes: 5ac3502ed1be ("app/testpmd: add flow query command") Fixes: abc3d81aca1b ("app/testpmd: add item raw to flow command") Fixes: 05d34c6e9d2c ("app/testpmd: add queue actions to flow command") Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-08-29cmdline: fix dynamic tokens interfaceAdrien Mazarguil
[ upstream commit a9510e11ad2de08ba9a56b5f8fca4745fe6c72ca ] Support for dynamic tokens was added in order to implement the flow command in testpmd, for which static tokens were not versatile enough due to the large number of possible parameter combinations. However, due to its reliance on a temporary array to store dynamic tokens, this interface suffers from various limitations that need to be addressed in order to implement more commands in the future: - The maximum number of dynamic tokens is determined at compilation time (CMDLINE_PARSE_DYNAMIC_TOKENS). The larger this value, the more stack space is wasted (one pointer per potential token, i.e. 1kB of stack space on 64-bit architectures with the default value). - This temporary array is actually a cache in which entries already present are not regenerated. This behavior is not documented, which makes dynamic tokens practically unusable by applications as they do not know which token is current. - The cache does not really reduce the number of function calls needed to retrieve tokens, it was mainly deemed useful to provide context about other tokens to the generator callback. - Like testpmd, most users will likely use repeated pointers to a fixed token header structure (cmdline_token_hdr_t), with internal context-aware callbacks that do not need to look at other entries; knowing the index of the current token is enough. Getting rid of the temporary array and properly documenting usage of the token generator callback greatly simplifies this interface. Fixes: 4fffc05a2b2c ("cmdline: support dynamic tokens") Fixes: 19c90af6285c ("app/testpmd: add flow command") Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-08-29cmdline: fix dynamic tokens initializationAdrien Mazarguil
[ upstream commit f627b65cb0706cd3eb47a57f6de312c8605e3ba8 ] To avoid redundant calls to the token-generating function and provide it with helpful context, a temporary fixed-size array allocated on the stack of cmdline_parse() and cmdline_complete() keeps the address of preceding tokens for the command instance being processed (cmdline_parse_inst_t). Like the static tokens array in cmdline_parse_inst_t, it must be NULL-terminated, however this is not properly enforced as it is initialized once at the beginning of each function and a NULL terminator is never appended once replaced with generated tokens. When several commands rely on dynamic tokens, subsequent ones inherit an already initialized array whose tokens are not regenerated, which causes various issues such as mixed and repeated tokens from the first command. Enforcing NULL termination of the dynamic tokens array and reinitializing its first entry at each iteration solves these issues. Doing so is also less expensive than a full memset() at each iteration. Fixes: 4fffc05a2b2c ("cmdline: support dynamic tokens") Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-08-29app/crypto-perf: stop crypto devices after testKirill Rybalchenko
[ upstream commit 9189644f8bac43979920f1c5c64900db5736649f ] Call of rte_cryptodev_stop() function from test destructors is added. Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-08-29crypto/scheduler: fix strings not null terminatedPablo de Lara
[ upstream commit d040aca671708ce9cb21af87a1389d2230880d91 ] Coverity issue: 143431 Fixes: 31439ee72b2c ("crypto/scheduler: add API implementations") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-08-29crypto/aesni_mb: fix zero burst dequeuePablo de Lara
[ upstream commit 0b4b1e1b88edab32a0cdfe706c800c0419c3a16a ] In the unlikely scenario that an application calls rte_cryptodev_dequeue_burst with nb_ops = 0, there was a job leak, as a job would be created but would not be populated, as no operation is passed. Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29doc: add missing algorithm in limitations for QATPablo de Lara
[ upstream commit 2142e6dc71b46d1ff4cd03c12a0153e30d3a1fa3 ] For KASUMI, SNOW3G and ZUC algorithms, offsets and lengths of the data to cipher or authenticate is provided in bits, but QAT does not support non-byte aligned values, although only KASUMI and SNOW3G were mentioned. Fixes: d9b7d5bbc845 ("crypto/qat: add ZUC EEA3/EIA3 capability") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29doc: remove incorrect limitation on AESNI-MB PMDPablo de Lara
[ upstream commit 8082845f8aea8407a3741783951f182a48f2855f ] AESNI MB PMD supports sessionless operations, but the documentation was stating that only operations with session were supported. Fixes: 924e84f87306 ("aesni_mb: add driver for multi buffer based crypto") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-08-29crypto/aesni_mb: fix possible crypto job leakPablo de Lara
[ upstream commit 7c95d47c1ead28b7ffa0fc77e33d76b014c9511e ] When dequeueing operations from an AESNI-MB device, crypto jobs are dequeued from the internal scheduler in the Multi-buffer library. If the number of jobs available to retrieve are higher than the number of crypto operations that are required, then an extra job is retrieved (due to an incorrect conditional), but not used. This leads to a job leak and the operation associated to that job will not be ever dequeued. Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>