numam-dpdk/doc/guides/nics
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
..
features doc: mark Armv8 as supported by ena PMD 2020-11-03 23:35:06 +01:00
img net/ice: add DCF hardware initialization 2020-04-21 13:57:05 +02:00
af_packet.rst doc: fix spelling reported by aspell in guides 2019-05-03 00:37:13 +02:00
af_xdp.rst net/af_xdp: forbid umem sharing for xsks with same context 2020-10-16 19:48:17 +02:00
ark.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
atlantic.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
avp.rst doc: fix copyright notice in AVP guide 2019-11-28 03:12:55 +01:00
axgbe.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
bnx2x.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
bnxt.rst net/bnxt: set thread safe flow ops flag 2020-11-03 23:35:03 +01:00
build_and_test.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
cxgbe.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
dpaa2.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
dpaa.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
e1000em.rst doc: convert Intel license headers to SPDX tags 2018-02-06 23:27:08 +01:00
ena.rst net/ena: change name of supported PCI device IDs 2020-11-03 23:35:06 +01:00
enetc.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
enic.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
fail_safe.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
features.rst ethdev: remove L2 tunnel offload control API 2020-11-03 23:35:06 +01:00
fm10k.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
hinic.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
hns3.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
i40e.rst ethdev: remove legacy FDIR filter type support 2020-11-03 23:35:05 +01:00
ice.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
igb.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
igc.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
index.rst net/txgbe: add build and doc infrastructure 2020-11-03 23:24:26 +01:00
intel_vf.rst net/iavf: support flex desc metadata extraction 2020-11-03 23:35:06 +01:00
ionic.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
ipn3ke.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
ixgbe.rst net/ixgbe: remove vector config 2020-01-17 19:59:18 +01:00
kni.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
liquidio.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
memif.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
mlx4.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
mlx5.rst net/mlx5: remove shared context lock 2020-11-03 23:35:05 +01:00
mvneta.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
mvpp2.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
netvsc.rst net/netvsc: control use of external mbuf on Rx 2020-11-03 23:35:07 +01:00
nfb.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
nfp.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
null.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
octeontx2.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
octeontx.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
overview.rst use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
pcap_ring.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
pfe.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
qede.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
sfc_efx.rst net/sfc: support encap flow items in transfer rules 2020-11-03 23:24:25 +01:00
softnic.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
szedata2.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
tap.rst doc: fix tap guide 2019-11-26 18:05:15 +01:00
thunderx.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
txgbe.rst net/txgbe: support PTP 2020-11-03 23:24:27 +01:00
vdev_netvsc.rst doc: fix driver names 2020-11-03 16:23:03 +01:00
vhost.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
virtio.rst doc: remove references to make from NICs guide 2020-10-22 22:54:05 +02:00
vmxnet3.rst doc: convert Intel license headers to SPDX tags 2018-02-06 23:27:08 +01:00