numam-dpdk/doc/guides
Long Li 096b31fc0d net/netvsc: control use of external mbuf on Rx
When receiving packets, netvsp puts data in a buffer mapped through UIO.
Depending on packet size, netvsc may attach the buffer as an external
mbuf. This is not a problem if this mbuf is consumed in the application,
and the application can correctly read data out of an external mbuf.

However, there are two problems with data in an external mbuf.
1. Due to the limitation of the kernel UIO implementation, physical
   address of this external buffer is not exposed to the user-mode. If
   this mbuf is passed to another driver, the other driver is unable to
   map this buffer to iova.
2. Some DPDK applications are not aware of external mbuf, and may bug
   when they receive an mbuf with external buffer attached.

Introduce a driver parameter "rx_extmbuf_enable" to control if netvsc
should use external mbuf for receiving packets. The default value is 0.
(netvsc doesn't use external mbuf, it always allocates mbuf and copy
data to mbuf) A non-zero value tells netvsc to attach external buffers
to mbuf on receiving packets, thus avoid copying memory.

Signed-off-by: Long Li <longli@microsoft.com>
2020-11-03 23:35:07 +01:00
..
bbdevs doc: remove references to make from bbdevs guide 2020-10-22 22:54:05 +02:00
compressdevs doc: fix driver names 2020-11-03 16:23:03 +01:00
contributing doc: update ABI version references 2020-10-27 08:53:53 +01:00
cryptodevs crypto/octeontx2: fix out-of-place support 2020-11-02 09:24:41 +01:00
eventdevs doc: fix driver names 2020-11-03 16:23:03 +01:00
faq eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
freebsd_gsg doc: remove references to make from FreeBSD guide 2020-10-01 16:51:24 +02:00
howto eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
linux_gsg eal: rename lcore master and slave 2020-10-20 13:17:08 +02:00
mempool doc: remove references to make from mempool guide 2020-10-22 22:54:05 +02:00
nics net/netvsc: control use of external mbuf on Rx 2020-11-03 23:35:07 +01:00
platform doc: remove references to make from platforms guide 2020-10-22 22:54:05 +02:00
prog_guide doc: fix a typo in flow API guide 2020-11-03 23:35:02 +01:00
rawdevs doc: remove references to make from rawdevs guide 2020-10-22 22:54:05 +02:00
regexdevs doc: fix driver names 2020-11-03 16:23:03 +01:00
rel_notes net/ena: upgrade driver version to v2.2.0 2020-11-03 23:35:06 +01:00
sample_app_ug examples/vhost: add async vhost args parsing 2020-11-03 23:24:26 +01:00
testpmd_app_ug ethdev: remove L2 tunnel offload control API 2020-11-03 23:35:06 +01:00
tools doc: remove reference to make from tools guide 2020-10-22 22:54:05 +02:00
vdpadevs vdpa/mlx5: handle hardware error 2020-11-03 23:35:05 +01:00
windows_gsg doc: reword ABI policy for Windows 2020-07-08 12:28:21 +02:00
conf.py doc: make sphinx errors more visible 2020-10-16 15:01:54 +02:00
custom.css doc: improve HTML spacing in release notes 2018-02-14 00:23:25 +01:00
index.rst regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
meson.build doc: make sphinx comply with meson werror option 2020-10-05 23:52:02 +02:00