path: root/doc
diff options
authorBeilei Xing <>2018-11-05 11:18:12 +0800
committerQi Zhang <>2018-11-05 16:50:14 +0100
commit054d1be48cc114c5d3bf87c7ebdf46703876e8d5 (patch)
tree5f9a2d6ee0cf44bad860de7692a6d60968ed3005 /doc
parent37cf9ea83dc27be4917dbd01aaae182df9800c7f (diff)
net/i40e: fix Rx instability with vector mode
Previously, there is instability during vector Rx if descriptor number is not power of 2, e.g. process hang and some Rx packets are unexpectedly empty. That's because vector Rx mode assumes Rx descriptor number is power of 2 when doing bit mask. This patch allows vector mode only when the number of Rx descriptor is power of 2. Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage") Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup") Cc: Signed-off-by: Beilei Xing <> Acked-by: Konstantin Ananyev <>
Diffstat (limited to 'doc')
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index ab3928a..bfacbd1 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -172,6 +172,13 @@ Runtime Config Options
-w 84:00.0,use-latest-supported-vec=1
+Vector RX Pre-conditions
+For Vector RX it is assumed that the number of descriptor rings will be a power
+of 2. With this pre-condition, the ring pointer can easily scroll back to the
+head after hitting the tail without a conditional check. In addition Vector RX
+can use this assumption to do a bit mask using ``ring_size - 1``.
Driver compilation and testing