[dpdk-dev,v2] ethernet api: Document rte_eth_vmdq_rx_conf

Message ID 20170705135944.20655-1-tom.barbette@ulg.ac.be (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Tom Barbette July 5, 2017, 1:59 p.m. UTC
  From documentation it is very unclear how VMDq configuration can be
tweaked, and online search offer very poor results.

This patch will ultimately spawn an online documentation page
for the rte_eth_vmdq_rx_conf struct which will eventually add a bit of
documentation about the rx_mode tag and how to allow e.g. VMDq pools
to receive packets without VLAN tags.

Signed-off-by: Tom Barbette <tom.barbette@ulg.ac.be>
---
 lib/librte_ether/rte_ethdev.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
  

Comments

John McNamara July 6, 2017, 8:29 a.m. UTC | #1
> -----Original Message-----
> From: Tom Barbette [mailto:tom.barbette@ulg.ac.be]
> Sent: Wednesday, July 5, 2017 3:00 PM
> To: dev@dpdk.org
> Cc: Thomas Monjalon <thomas@monjalon.net>; Mcnamara, John
> <john.mcnamara@intel.com>; Tom Barbette <tom.barbette@ulg.ac.be>
> Subject: [PATCH v2] ethernet api: Document rte_eth_vmdq_rx_conf
> 
> From documentation it is very unclear how VMDq configuration can be
> tweaked, and online search offer very poor results.
> 
> This patch will ultimately spawn an online documentation page for the
> rte_eth_vmdq_rx_conf struct which will eventually add a bit of
> documentation about the rx_mode tag and how to allow e.g. VMDq pools to
> receive packets without VLAN tags.
> 
> Signed-off-by: Tom Barbette <tom.barbette@ulg.ac.be>

Hi Tom,

Thanks for that. One minor, non-blocking, thing for future reference. The
subject line should be lowercase apart from acronyms. The maintainer
should be able to make that change when then apply the patch. This is just
for future reference.

If there is any other missing documentation that you would care to add
then please do. :-)

Acked-by: John McNamara <john.mcnamara@intel.com>
  
Thomas Monjalon July 9, 2017, 8:22 p.m. UTC | #2
06/07/2017 10:29, Mcnamara, John:
> From: Tom Barbette [mailto:tom.barbette@ulg.ac.be]
> > 
> > From documentation it is very unclear how VMDq configuration can be
> > tweaked, and online search offer very poor results.
> > 
> > This patch will ultimately spawn an online documentation page for the
> > rte_eth_vmdq_rx_conf struct which will eventually add a bit of
> > documentation about the rx_mode tag and how to allow e.g. VMDq pools to
> > receive packets without VLAN tags.
> > 
> > Signed-off-by: Tom Barbette <tom.barbette@ulg.ac.be>
> 
> Hi Tom,
> 
> Thanks for that. One minor, non-blocking, thing for future reference. The
> subject line should be lowercase apart from acronyms. The maintainer
> should be able to make that change when then apply the patch. This is just
> for future reference.

New title:
ethdev: document VMDq Rx configuration

> If there is any other missing documentation that you would care to add
> then please do. :-)
> 
> Acked-by: John McNamara <john.mcnamara@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 1446540..98f18d7 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -629,6 +629,24 @@  struct rte_eth_vmdq_dcb_conf {
 	/**< Selects a queue in a pool */
 };
 
+/**
+ * A structure used to configure the VMDQ feature of an Ethernet port when
+ * not combined with the DCB feature.
+ *
+ * Using this feature, packets are routed to a pool of queues. By default,
+ * the pool selection is based on the MAC address, the vlan id in the
+ * vlan tag as specified in the pool_map array.
+ * Passing the ETH_VMDQ_ACCEPT_UNTAG in the rx_mode field allows pool
+ * selection using only the MAC address. MAC address to pool mapping is done
+ * using the rte_eth_dev_mac_addr_add function, with the pool parameter
+ * corresponding to the pool id.
+ *
+ * Queue selection within the selected pool will be done using RSS when
+ * it is enabled or revert to the first queue of the pool if not.
+ *
+ * A default pool may be used, if desired, to route all traffic which
+ * does not match the vlan filter rules or any pool MAC address.
+ */
 struct rte_eth_vmdq_rx_conf {
 	enum rte_eth_nb_pools nb_queue_pools; /**< VMDq only mode, 8 or 64 pools */
 	uint8_t enable_default_pool; /**< If non-zero, use a default pool */