DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] drivers/net/mlx5: fix representor interrupts handler
@ 2020-10-28  9:59 Gregory Etelson
  2020-10-28  9:59 ` [dpdk-dev] [PATCH 2/2] examples/l3fwd-power: fix check_ptype query Gregory Etelson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Gregory Etelson @ 2020-10-28  9:59 UTC (permalink / raw)
  To: dev
  Cc: getelson, matan, rasland, Viacheslav Ovsiienko, Shahaf Shuler,
	Adrien Mazarguil, Xueming Li

Representor is a port in DPDK that is connected to a VF in such a way
that assuming there are no offload flows, each packet that is sent
from the VF will be received by the corresponding representor. While
each packet that is sent to a representor will be received by the VF.
This is very useful in case of SRIOV mode, where the first packet that
is sent by the VF will be received by the DPDK application which will
decide if this flow should be offloaded to the E-Switch.

Representor shares interrupts handler with host PF over the PCI
address. Therefore after PF completes it's interrupts handler
initialization no additional actions required for representor.

Fixes: 26c08b979d26 ("net/mlx5: add port representor awareness")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 8d05315e61..df8542f7db 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -902,6 +902,11 @@ mlx5_rx_intr_vec_enable(struct rte_eth_dev *dev)
 	unsigned int count = 0;
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
+	/**
+	 * representor shares dev->intr_handle with PF
+	 */
+	if (priv->representor)
+		return 0;
 	if (!dev->data->dev_conf.intr_conf.rxq)
 		return 0;
 	mlx5_rx_intr_vec_disable(dev);
@@ -982,6 +987,11 @@ mlx5_rx_intr_vec_disable(struct rte_eth_dev *dev)
 	unsigned int rxqs_n = priv->rxqs_n;
 	unsigned int n = RTE_MIN(rxqs_n, (uint32_t)RTE_MAX_RXTX_INTR_VEC_ID);
 
+	/**
+	 * representor shares dev->intr_handle with PF
+	 */
+	if (priv->representor)
+		return;
 	if (!dev->data->dev_conf.intr_conf.rxq)
 		return;
 	if (!intr_handle->intr_vec)
-- 
2.28.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-11-22 17:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-28  9:59 [dpdk-dev] [PATCH 1/2] drivers/net/mlx5: fix representor interrupts handler Gregory Etelson
2020-10-28  9:59 ` [dpdk-dev] [PATCH 2/2] examples/l3fwd-power: fix check_ptype query Gregory Etelson
2020-11-04 18:25 ` [dpdk-dev] [PATCH 1/2] drivers/net/mlx5: fix representor interrupts handler Thomas Monjalon
2020-11-17 18:49 ` [dpdk-dev] [PATCH v2 1/2] examples/l3fwd-power: fix check_ptype query Gregory Etelson
2020-11-17 18:49   ` [dpdk-dev] [PATCH v2 2/2] drivers/net/mlx5: fix representor interrupts handler Gregory Etelson
2020-11-22 17:05     ` Thomas Monjalon
2020-11-22 17:03   ` [dpdk-dev] [PATCH v2 1/2] examples/l3fwd-power: fix check_ptype query Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git