drivers/net/mlx5: fix representor interrupts handler
PATCH 1/2 drivers/net/mlx5: fix representor interrupts handler
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.
--- drivers/net/mlx5/mlx5_rxq.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
drivers/net/mlx5/mlx5_rxq.c +10 -0
@@ -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)
Signature · 1 line
2.28.0
PATCH 2/2 examples/l3fwd-power: fix check_ptype query
l3fwd-power uses `--parse-ptype' parameter to query egress packets type. Before that feature is eanbled l3fwd-power verifies PMD ability to advertise supporrtred packet types with rte_eth_dev_get_supported_ptypes().
The patch updates code for PMDs that register supported types after dev_start.
--- examples/l3fwd-power/main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
examples/l3fwd-power/main.c +6 -3
@@ -2702,9 +2702,7 @@ main(int argc, char **argv)if (add_cb_parse_ptype (portid, queueid) <0 )rte_exit (EXIT_FAILURE ,"Fail to add ptype cb\n" ); - }else if (!check_ptype (portid)) -rte_exit (EXIT_FAILURE , -"PMD can not provide needed ptypes\n" ); + } } }
@@ -2735,6 +2733,11 @@ main(int argc, char **argv) }/* initialize spinlock for each port */ rte_spinlock_init (&(locks[portid])); + +if (!parse_ptype) +if (!check_ptype (portid)) +rte_exit (EXIT_FAILURE , +"PMD can not provide needed ptypes\n" ); }check_all_ports_link_status (enabled_port_mask);
Signature · 1 line
2.28.0
28/10/2020 10:59, Gregory Etelson:
Quoted 10 lines
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
it's -> its
Quoted 1 line
initialization no additional actions required for representor.
comma missing after "initialization"
drivers/net/mlx5/mlx5_rxq.c mlx5_rx_intr_vec_enable(struct rte_eth_dev *dev) · line 907
Quoted 10 lines
Fixes 26c08b979d26 ("net/mlx5: add port representor awareness")Signed-off-by Gregory Etelson <[email protected]>---
drivers/net/mlx5/mlx5_rxq.c +3
-0+/** +* representor shares dev->intr_handle with PF +*/
The style in mlx5 is to start comments with a capital letter and to end with a period.
Moreover, it does not have to be a doxygen-style comment, and can be on one line.
Matan, Slava, please check such details in reviews.
PATCH v2 1/2 examples/l3fwd-power: fix check_ptype query
In reply to Gregory Etelsonl3fwd-power uses `--parse-ptype' parameter to query egress packets type. Before that feature is eanbled l3fwd-power verifies PMD ability to advertise supporrtred packet types with rte_eth_dev_get_supported_ptypes().
The patch updates code for PMDs that register supported types after dev_start.
--- examples/l3fwd-power/main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
examples/l3fwd-power/main.c +6 -3
@@ -2707,9 +2707,7 @@ main(int argc, char **argv)if (add_cb_parse_ptype (portid, queueid) <0 )rte_exit (EXIT_FAILURE ,"Fail to add ptype cb\n" ); - }else if (!check_ptype (portid)) -rte_exit (EXIT_FAILURE , -"PMD can not provide needed ptypes\n" ); + } } }
@@ -2740,6 +2738,11 @@ main(int argc, char **argv) }/* initialize spinlock for each port */ rte_spinlock_init (&(locks[portid])); + +if (!parse_ptype) +if (!check_ptype (portid)) +rte_exit (EXIT_FAILURE , +"PMD can not provide needed ptypes\n" ); }check_all_ports_link_status (enabled_port_mask);
Signature · 1 line
2.29.2
PATCH v2 2/2 drivers/net/mlx5: fix representor interrupts handler
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 its interrupts handler initialization, no additional actions required for representor.
--- drivers/net/mlx5/mlx5_rxq.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/net/mlx5/mlx5_rxq.c +6 -0
@@ -902,6 +902,9 @@ 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 +985,9 @@ 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)
Signature · 1 line
2.29.2
Thomas Monjalon
Applied17/11/2020 19:49, Gregory Etelson:
Quoted 12 lines
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 its interrupts handler initialization, no additional actions required for representor.
Quoted 6 lines
Fixes 26c08b979d26 ("net/mlx5: add port representor awareness")Signed-off-by Gregory Etelson <[email protected]>--- drivers/net/mlx5/mlx5_rxq.c | 6 ++++++
I don't understand why this patch was in the same series as the l3fwd-power fix.
So the whole series is delegated to me and I merge both.
Applied
Thomas Monjalon
AppliedRe: [dpdk-dev] [PATCH v2 1/2] examples/l3fwd-power: fix check_ptype query
In reply to Gregory EtelsonI was expecting a review from David Hunt.
Let's proceed.
17/11/2020 19:49, Gregory Etelson:
Quoted 2 lines
l3fwd-power uses `--parse-ptype' parameter to query egress packets type. Before that feature is eanbled l3fwd-power verifies PMD ability
typo: eanbled -> enabled
Quoted 1 line
to advertise supporrtred packet types with
double typo: supporrtred -> supported
Quoted 1 line
rte_eth_dev_get_supported_ptypes().
Adding the note from ethdev API description:
"
Better to invoke this API after the device is already started or rx burst function is decided, to obtain correct supported ptypes.
"
Quoted 6 lines
The patch updates code for PMDs that register supported types after
dev_start.Fixes 82bea4661626 ("examples/l3fwd-power: add --parse-ptype option")Signed-off-by Gregory Etelson <[email protected]>
Applied, thanks