summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-05net/mlx5: make vectorized Tx threshold configurableYongseok Koh
Add txqs_max_vec parameter to configure the maximum number of Tx queues to enable vectorized Tx. And its default value is set according to the architecture and device type. Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: move device spawn configuration to probingYongseok Koh
When a device is spawned, it does make more sense that the configuration parameters are passed by callee. Furthermore, setting default value for some configuration would need PCIe device ID which can be found in the probe function. Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add E-switch VXLAN rule cleanup routinesViacheslav Ovsiienko
The last part of patchset contains the rule cleanup routines. These ones is the part of outer interface initialization at the moment of VXLAN VTEP attaching. These routines query the list of attached VXLAN devices, the list of local IP addresses with peer and link scope attribute and the list of permanent neigh rules, then all found abovementioned items on the specified outer device are flushed. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add E-Switch VXLAN encapsulation rulesViacheslav Ovsiienko
VXLAN encap rules are applied to the VF ingress traffic and have the VTEP as actual redirection destinations instead of outer PF. The encapsulation rule should provide: - redirection action VF->PF - VF port ID - some inner network parameters (MACs/IP) - the tunnel outer source IP (v4/v6) - the tunnel outer destination IP (v4/v6). Current - VNI - Virtual Network Identifier There is no direct way found to provide kernel with all required encapsulatioh header parameters. The encapsulation VTEP is created attached to the outer interface and assumed as default path for egress encapsulated traffic. The outer tunnel IP address are assigned to interface using Netlink, the implicit route is created like this: ip addr add <src_ip> peer <dst_ip> dev <outer> scope link Peer address provides implicit route, and scode link reduces the risk of conflicts. At initialization time all local scope link addresses are flushed from device (see next part of patchset). The destination MAC address is provided via permenent neigh rule: ip neigh add dev <outer> lladdr <dst_mac> to <dst_ip> nud permanent At initialization time all neigh rules of this type are flushed from device (see the next part of patchset). Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add E-switch VXLAN tunnel devices managementViacheslav Ovsiienko
VXLAN interfaces are dynamically created for each local UDP port of outer networks and then used as targets for TC "flower" filters in order to perform encapsulation. These VXLAN interfaces are system-wide, the only one device with given UDP port can exist in the system (the attempt of creating another device with the same UDP local port returns EEXIST), so PMD should support the shared device instances database for PMD instances. These VXLAN implicitly created devices are called VTEPs (Virtual Tunnel End Points). Creation of the VTEP occurs at the moment of rule applying. The link is set up, root ingress qdisc is also initialized. Encapsulation VTEPs are created on per port basis, the single VTEP is attached to the outer interface and is shared for all encapsulation rules on this interface. The source UDP port is automatically selected in range 30000-60000. For decapsulaton one VTEP is created per every unique UDP local port to accept tunnel traffic. The name of created VTEP consists of prefix "vmlx_" and the number of UDP port in decimal digits without leading zeros (vmlx_4789). The VTEP can be preliminary created in the system before the launching application, it allows to share UDP ports between primary and secondary processes. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: fix E-Switch flow counter deletionViacheslav Ovsiienko
The counters for E-Switch rules were erroneously deleted in flow_tcf_remove() routine. The counters deletion is moved to flow_tcf_destroy() routine. Fixes: e1114ff6a5ab ("net/mlx5: support e-switch flow count action") Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: update E-Switch VXLAN netlink routinesViacheslav Ovsiienko
This part of patchset updates Netlink exchange routine. Message sequence numbers became not random ones, the multipart reply messages are supported, not propagating errors to the following socket calls, Netlink replies buffer size is increased to MNL_SOCKET_BUFFER_SIZE and now is preallocated at context creation time instead of stack usage. This update is needed to support Netlink query operations. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add VXLAN to flow translate routineViacheslav Ovsiienko
This part of patchset adds support of VXLAN-related items and actions to the flow translation routine. Later some tunnel types, other than VXLAN can be addedd (GRE). No VTEP devices are created at this point, the flow rule is just translated, not applied yet. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add VXLAN to flow prepare routineViacheslav Ovsiienko
The e-switch Flow prepare function is updated to support VXLAN encapsulation/and decapsulation actions. The function calculates buffer size for Netlink message and Flow description structures, including optional ones for tunneling purposes. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add E-Switch VXLAN to validation routineViacheslav Ovsiienko
This patch adds VXLAN support for flow item/action lists validation. The following entities are now supported: - RTE_FLOW_ITEM_TYPE_VXLAN, contains the tunnel VNI - RTE_FLOW_ACTION_TYPE_VXLAN_DECAP, if this action is specified the items in the flow items list treated as outer network parameters for tunnel outer header match. The ethernet layer addresses always are treated as inner ones. - RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP, contains the item list to build the encapsulation header. In current implementation the values is the subject for some constraints: - outer source MAC address will be always unconditionally set to the one of MAC addresses of outer egress interface - no way to specify source UDP port - all abovementioned parameters are ignored if specified in the rule, warning messages are sent to the log Minimal tunneling support is also added. If VXLAN decapsulation action is specified the ETH item can follow the VXLAN VNI item, the content of this ETH item is treated as inner MAC addresses and type. The outer ETH item for VXLAN decapsulation action is always ignored. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: swap items/actions validations for E-Switch rulesViacheslav Ovsiienko
The rule validation function for E-Switch checks item list first, then action list is checked. This patch swaps the validation order, now actions are checked first. This is preparation for validation function update with VXLAN tunnel actions. VXLAN decapsulation action requires to check the items in special way. We could do this special check in the single item check pass if the action flags were gathered before. This is the reason to swap the item/actions checking loops. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add necessary structures for E-Switch VXLANViacheslav Ovsiienko
This patch introduces the data structures needed to implement VXLAN encapsulation/decapsulation hardware offload support for E-Switch. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: add necessary definitions for E-Switch VXLANViacheslav Ovsiienko
This patch contains tc flower related and some other definitions needed to implement VXLAN encapsulation/decapsulation hardware offload support for E-Switch. mlx5 driver dynamically creates and manages the VXLAN virtual tunnel endpoint devices, the following definitions control the parameters of these network devices: - MLX5_VXLAN_PORT_MIN - minimal allowed UDP port for VXLAN device - MLX5_VXLAN_PORT_MAX - maximal allowed UDP port for VXLAN device - MLX5_VXLAN_DEVICE_PFX - name prefix of driver created VXLAN device The mlx5 drivers creates the VXLAN devices with UDP port within specified range, devices have the names with specified prefix, followed by decimal digits of UDP port. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: prepare meson build for adding E-Switch VXLANViacheslav Ovsiienko
This patch updates meson.build before adding E-Switch VXLAN encapsulation/decapsulation hardware offload support. E-Switch rules are controlled via tc Netilnk commands, so we need to include tc related headers, and check for some tunnel specific key definitions. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/mlx5: prepare makefile for adding E-Switch VXLANViacheslav Ovsiienko
This patch updates makefile before adding E-Switch VXLAN encapsulation/decapsulation hardware offload support. E-Switch rules are controlled via tc Netilnk commands, so we need to include tc related headers, and check for some tunnel specific key definitions. Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/enic: use macro for attribute weakHyong Youb Kim
Fixes: 8a6ff33d6d36 ("net/enic: add AVX2 based vectorized Rx handler") Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2018-11-05vhost/crypto: fix inferred misuse of enumFan Zhang
Fix inffered misuse of enum rte_crypto_cipher_algorithm and rte_crypto_auth_algorithm Coverity issue: 277202 Fixes: e80a98708166 ("vhost/crypto: add session message handler") Cc: stable@dpdk.org Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-11-05app/testpmd: fix port status for new bonded devicesRadu Nicolau
Set port status to stopped for newly added devices. Fixes: 2950a769315e ("bond: testpmd support") Cc: stable@dpdk.org Signed-off-by: Radu Nicolau <radu.nicolau@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2018-11-05doc: clarify TSO Tx offload prerequisiteJerin Jacob
Based on the PKT_TX_TCP_SEG definition, the application needs to update PKT_TX_IPV4 or PKT_TX_IPV6 based on IPV4 or IPV6 packet and PKT_TX_IP_CKSUM ol_flags to enable Tx TSO offload. Fixes: dad1ec72a377 ("doc: document NIC features") Cc: stable@dpdk.org Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-11-05net/bonding: fix crash on probeRadu Nicolau
After the patch below the call to rte_eth_bond_8023ad_agg_selection_set from probe() segfaults; there is no need to call the function, just set the mode directly. Also, reverted 1620175b400e. Fixes: 391797f04208 ("drivers/bus: move driver assignment to end of probing") Fixes: 1620175b400e ("net/bonding: fix invalid port id") Cc: stable@dpdk.org Signed-off-by: Radu Nicolau <radu.nicolau@intel.com> Acked-by: Chas Williams <chas3@att.com>
2018-11-05net/ena: remove resources when port is being closedMichal Krawczyk
The new API introduced in 18.11 is suggesting, that the driver should release all it's resources at the dev_close routine. All resources previously released in uninit routine during PCI removal, are now being released at the dev_close and the PMD is indicating that it is supporting API changes by setting RTE_ETH_DEV_CLOSE_REMOVE flag. As the device is not allocating MAC addresses dynamically, it is setting mac_addrs field to NULL, so it wouldn't be released by the rte_eth_dev_release_port(). Signed-off-by: Michal Krawczyk <mk@semihalf.com>
2018-11-05net/qede/base: fix to initialize HW for LLH filtersRasesh Mody
During initialization of leading PF, we need to initialize HW for LLH filters. Set HW init parameter to set the engine affinity for multiple engine adapters. Fixes: 3eed444a9621 ("net/qede/base: changes for 100G") Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2018-11-05app/testpmd: fix Tx offload flagsFerruh Yigit
ol_flags can be wrong if DEV_TX_OFFLOAD_VLAN_INSERT is not set in tx_offloads Fixes: 3eecba267cd6 ("app/testpmd: cleanup internal Tx offloads flags field") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2018-11-05ethdev: fix redundant function pointer checkFerruh Yigit
RTE_FUNC_PTR_OR_ERR_RET() already does the `ethdev_uninit` NULL check. Fixes: e489007a411c ("ethdev: add generic create/destroy ethdev APIs") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
2018-11-05vhost: advertize packed ring layout supportMaxime Coquelin
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Jens Freimann <jfreimann@redhat.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
2018-11-05vhost: add packed ring support to vring base requestsMaxime Coquelin
For packed ring layout, we need save avail index and its wrap counter value. At restore time, the used index and its wrap counter are set to available's ones, as the ring procressing is stopped at vring base get time. Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Jens Freimann <jfreimann@redhat.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
2018-11-05net/virtio: do not re-enter clean up routinesChas Williams
.dev_uninit calls .dev_stop and .dev_close. The work that is done in those routines doesn't need repeated. Use started and opened to track the adapter's status. Fixes: c1f86306a026 ("virtio: add new driver") Cc: stable@dpdk.org Signed-off-by: Chas Williams <ciwillia@brocade.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/ixgbe: fix busy polling while fiber link updateIlya Maximets
If the multispeed fiber link is in DOWN state, ixgbe_setup_link could take around a second of busy polling. This is highly inconvenient for the case where single thread periodically checks the link statuses. For example, OVS main thread periodically updates the link statuses and hangs for a really long time busy waiting on ixgbe_setup_link() for a DOWN fiber ports. For case with 3 down ports it hangs for a 3 seconds and unable to do anything including packet processing. Fix that by shifting that workaround to a separate thread by alarm handler that will try to set up link if it is DOWN. Fixes: c12d22f65b13 ("net/ixgbe: ensure link status is updated") Cc: stable@dpdk.org Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com>
2018-11-05net/mlx5: enable loopback by configured modeDekel Peled
Enable NIC loopback mode based on rte_eth_conf.lpbk_mode configuration. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add caching of encap/decap actionsDekel Peled
Make flow encap and decap Verbs actions cacheable resources. Store created actions in local database. This enables MLX5 PMD reuse of existing actions. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add raw data encap/decap to Direct VerbsDekel Peled
This patch implements the encap and decap actions, using raw data, in DV flow for MLX5 PMD. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add NVGRE decap action to Direct VerbsDekel Peled
This patch implements the NVGRE decap action in DV flow for MLX5 PMD. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add NVGRE encap action to Direct VerbsDekel Peled
This patch implements the nvgre encap action in DV flow for MLX5 PMD. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add VXLAN decap action to Direct VerbsDekel Peled
This patch implements the VXLAN decap action in DV flow for MLX5 PMD. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add VXLAN encap action to Direct VerbsDekel Peled
This patch implements the VXLAN encap action in DV flow for MLX5 PMD. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add flow action functions to glueDekel Peled
This patch adds glue functions for operations: - Create packet reformat (encap/decap) flow action. - Destroy flow action. The new operations depend on HAVE_IBV_FLOW_DV_SUPPORT. Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net: fix build with pedanticShahaf Shuler
The following error popped when compiling with -pedantic: In file included from drivers/net/mlx5/mlx5_flow_dv.c:28:0: include/rte_gre.h:20:2: error: type of bit-field 'res2' is a GCC extension [-Werror=pedantic] uint16_t res2:4; /**< Reserved */ Fixing by adding the __extension__ attribute. Fixes: 894f71a3805d ("net: add GRE header structure") Cc: stable@dpdk.org Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-11-05net/mlx5: fix validation of MLPS-in-GREYongseok Koh
Multiple tunnel isn't allowed but MPLS over GRE should be accepted. Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function") Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: add missing flow director deleteYongseok Koh
Deleting FDIR flow is not implemented by mistake. Also the name of static functions are properly renamed. Fixes: b42c000e37a8 ("net/mlx5: remove flow support") Cc: stable@dpdk.org Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: fix memory leak on Direct Verbs errorDekel Peled
Add freeing of allocated memory before exiting on mlx5dv error. Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items") Signed-off-by: Dekel Peled <dekelp@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05net/virtio: fix guest announce supportTiwei Bie
We need to check the status field in virtio net config structure instead of the bits read from ISR register to know whether we need to do guest announce. Fixes: 7365504f77e3 ("net/virtio: support guest announce") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/virtio-user: simplify device features preparationTiwei Bie
Get rid of the duplicated code in device features preparation which looks awful. Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/virtio-user: fix device features for server modeTiwei Bie
We need to save the supported frontend features (which won't be announced by vhost backend), otherwise we will lost them when the connection to vhost-user backend is established in server mode. Fixes: 201a41651715 ("net/virtio-user: fix multiple queues fail in server mode") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/virtio-user: do not reset owner when driver resetsTiwei Bie
When driver resets the device, virtio-user just needs to send GET_VRING_BASE messages to stop the vhost backend, and that's what QEMU does. With this change, we won't need to set owner when starting virtio-user device anymore. This will help us to get rid of below error message on startup: vhost_kernel_ioctl(): VHOST_SET_OWNER failed: Device or resource busy Fixes: bce7e9050f9b ("net/virtio-user: fix start with kernel vhost") Fixes: 0d6a8752ac9d ("net/virtio-user: fix crash as features change") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/virtio-user: do not make vhost channel non-blockTiwei Bie
There is no need to make the vhost user channel nonblock, and making it nonblock will make vhost_user_read() fail with EAGAIN when vhost messages need a reply. Fixes: bd8f50a45d0f ("net/virtio-user: support server mode") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/virtio-user: do not stop stopped device againTiwei Bie
Without this change, virtio-user still works, but it will show annoying error messages like this on shutdown: vhost_kernel_set_backend(): VHOST_NET_SET_BACKEND fails, Operation not permitted vhost_kernel_ioctl(): VHOST_RESET_OWNER failed: Operation not permitted Fixes: e3b434818bbb ("net/virtio-user: support kernel vhost") Fixes: 12ecb2f63b12 ("net/virtio-user: support memory hotplug") Cc: stable@dpdk.org Reported-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/vhost: fix parameters stringTiwei Bie
Add the missing params to the param string. Fixes: 39cac2adcad0 ("net/vhost: add client option") Fixes: 4ce97c6f6b4f ("net/vhost: add an option to enable dequeue zero copy") Fixes: 447e0d379756 ("net/vhost: add parameter to enable IOMMU feature") Fixes: 6d6e95cec455 ("net/vhost: add parameter to enable postcopy") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/virtio: drop duplicated reset methodTiwei Bie
Drop the duplicated reset() method in virtio_pci_ops. Currently vtpci_reset() is implemented on set_status() and get_status() directly. The reset() method in virtio_pci_ops isn't used and its implementation in the legacy device isn't right. Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-11-05net/mlx5: add 128B padding of Rx completion entryYongseok Koh
A PMD parameter (rxq_cqe_pad_en) is added to enable 128B padding of CQE on RX side. The size of CQE is aligned with the size of a cacheline of the core. If cacheline size is 128B, the CQE size is configured to be 128B even though the device writes only 64B data on the cacheline. This is to avoid unnecessary cache invalidation by device's two consecutive writes on to one cacheline. However in some architecture, it is more beneficial to update entire cacheline with padding the rest 64B rather than striding because read-modify-write could drop performance a lot. On the other hand, writing extra data will consume more PCIe bandwidth and could also drop the maximum throughput. It is recommended to empirically set this parameter. Disabled by default. Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
2018-11-05net/mlx5: fix flow counters deletion in VerbsViacheslav Ovsiienko
The Flow counters created with Verbs are erroneously destroyed in Flow remove function (flow_verbs_remove()). Counter Verbs handles stored in the translated rule buffer become invalid. If rule is reapplied with these invalid counter handles the driver hangs. The counter should be destroyed with Verbs in the Flow destroy function. The Flow remove function should keep counters intact. Fixes: 60bd8c9747e8 ("net/mlx5: add count flow action") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>