numam-dpdk/drivers/net
Tiwei Bie 5c75a8efcd net/virtio: fix in-order Tx path for packed ring
When IN_ORDER feature is negotiated, device may just write out a
single used descriptor for a batch of buffers:

"""
Some devices always use descriptors in the same order in which they
have been made available. These devices can offer the VIRTIO_F_IN_ORDER
feature. If negotiated, this knowledge allows devices to notify the
use of a batch of buffers to the driver by only writing out a single
used descriptor with the Buffer ID corresponding to the last descriptor
in the batch.

The device then skips forward in the ring according to the size of the
batch. The driver needs to look up the used Buffer ID and calculate the
batch size to be able to advance to where the next used descriptor will
be written by the device.
"""

But the Tx path of packed ring can't handle this. With this patch,
when IN_ORDER is negotiated, driver will manage the IDs linearly,
look up the used buffer ID and advance to the next used descriptor
that will be written by the device.

Fixes: 892dc798fa ("net/virtio: implement Tx path for packed queues")
Cc: stable@dpdk.org

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2019-02-22 14:39:49 +01:00
..
af_packet net/af_packet: fix setting MTU decrements sockaddr twice 2018-12-21 16:22:41 +01:00
ark ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
atlantic drivers/net: fix several Tx prepare functions 2018-12-13 17:53:50 +00:00
avf net/avf: fix admin queue interrupt for ICE 2019-02-19 10:34:41 +01:00
avp fix indentation in symbol maps 2018-11-26 20:16:46 +01:00
axgbe fix indentation in symbol maps 2018-11-26 20:16:46 +01:00
bnx2x net/bnx2x: cleanup info logs 2018-12-13 16:31:06 +00:00
bnxt net/bnxt: support IOVA VA mode 2019-02-13 14:24:51 +01:00
bonding net/bonding: fix reset active slave 2019-02-22 14:39:49 +01:00
cxgbe net/cxgbe: implement reset hit counters for offloaded flows 2018-12-21 16:22:41 +01:00
dpaa net/dpaa: update RSS offload types 2019-01-14 17:44:29 +01:00
dpaa2 net/dpaa2: change reference to private device 2019-01-14 17:44:29 +01:00
e1000 drivers/net: fix several Tx prepare functions 2018-12-13 17:53:50 +00:00
ena net/ena: get device info statically 2019-02-20 16:41:43 +01:00
enetc ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
enic net/enic: remove redundant log level check 2019-01-14 17:44:30 +01:00
failsafe net/failsafe: add default Tx mbuf fast free capability 2018-12-21 16:22:41 +01:00
fm10k net/fm10k: fix internal switch initial status 2019-01-14 17:44:29 +01:00
i40e net/i40e: fix statistics 2019-01-24 18:18:10 +01:00
ice net/ice: enable VLAN filter offloads support 2019-02-19 10:35:00 +01:00
ifc vhost: remove vDPA available ring relay helper 2019-02-08 19:27:07 +01:00
ixgbe net/ixgbe: fix over using multicast table for VF 2019-01-14 17:44:29 +01:00
kni ethdev: remove release function for secondary process 2018-10-26 22:14:05 +02:00
liquidio ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
mlx4 net/mlx: support firmware version query 2019-02-13 12:55:38 +01:00
mlx5 net/mlx: support firmware version query 2019-02-13 12:55:38 +01:00
mvneta ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
mvpp2 net/mvpp2: fix possible uninitialized variable access 2018-11-16 11:13:51 +01:00
netvsc net/netvsc: fix probe when VF not found 2018-12-21 16:22:40 +01:00
nfp net/nfp: add CPP bridge as service 2019-01-14 22:57:33 +01:00
null ethdev: remove release function for secondary process 2018-10-26 22:14:05 +02:00
octeontx net/octeontx: fix failures when available ports > queues 2018-11-16 12:03:54 +01:00
pcap net/pcap: fix memory leak 2019-02-07 13:28:53 +01:00
qede net/qede: fix Tx packet prepare for tunnel packets 2019-02-20 16:41:43 +01:00
ring ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
sfc net/sfc/base: share macro to increment per-event type stats 2019-02-08 11:35:41 +01:00
softnic net/softnic: use separate session mempools 2019-01-10 16:57:22 +01:00
szedata2 ethdev: free all common data when releasing port 2018-10-26 22:14:05 +02:00
tap net/tap: do not print pointer in info message 2019-01-14 17:44:29 +01:00
thunderx net/thunderx: fix Tx desc corruption in scatter-gather mode 2018-11-14 00:35:53 +01:00
vdev_netvsc net/vdev_netvsc: get rid of unnecessary debug log message 2018-12-13 16:31:06 +00:00
vhost net/vhost: fix double free of MAC address 2018-12-21 16:22:41 +01:00
virtio net/virtio: fix in-order Tx path for packed ring 2019-02-22 14:39:49 +01:00
vmxnet3 drivers/net: fix several Tx prepare functions 2018-12-13 17:53:50 +00:00
Makefile net/ice: support device initialization 2018-12-21 16:22:41 +01:00
meson.build net/ice: support device initialization 2018-12-21 16:22:41 +01:00