[1/6] net/null: fix secondary burst function selection

Message ID 20200302173646.54984-1-ferruh.yigit@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series [1/6] net/null: fix secondary burst function selection |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance fail Performance Testing issues
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Ferruh Yigit March 2, 2020, 5:36 p.m. UTC
  Secondary process uses the primary process device and while setting the
Rx/Tx functions it uses the device arguments from the secondary process
instead of the primary ones.

This may cause primary and secondary process use different Rx/Tx
functions unintentionally.

Fixes: bccc77a6a74a ("net/null: fix multi-process Rx and Tx")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
Cc: yasufum.o@gmail.com
---
 drivers/net/null/rte_eth_null.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit April 7, 2020, 8:38 a.m. UTC | #1
On 3/2/2020 5:36 PM, Ferruh Yigit wrote:
> Secondary process uses the primary process device and while setting the
> Rx/Tx functions it uses the device arguments from the secondary process
> instead of the primary ones.
> 
> This may cause primary and secondary process use different Rx/Tx
> functions unintentionally.
> 
> Fixes: bccc77a6a74a ("net/null: fix multi-process Rx and Tx")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Is there any review on this set? If there is no objection I will merge it soon.
  
Ferruh Yigit April 10, 2020, 8:33 a.m. UTC | #2
On 4/7/2020 9:38 AM, Ferruh Yigit wrote:
> On 3/2/2020 5:36 PM, Ferruh Yigit wrote:
>> Secondary process uses the primary process device and while setting the
>> Rx/Tx functions it uses the device arguments from the secondary process
>> instead of the primary ones.
>>
>> This may cause primary and secondary process use different Rx/Tx
>> functions unintentionally.
>>
>> Fixes: bccc77a6a74a ("net/null: fix multi-process Rx and Tx")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Is there any review on this set? If there is no objection I will merge it soon.
> 

Series applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 025b73acb..87a29b853 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -584,6 +584,7 @@  rte_pmd_null_probe(struct rte_vdev_device *dev)
 	PMD_LOG(INFO, "Initializing pmd_null for %s", name);
 
 	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
+		struct pmd_internals *internals;
 		eth_dev = rte_eth_dev_attach_secondary(name);
 		if (!eth_dev) {
 			PMD_LOG(ERR, "Failed to probe %s", name);
@@ -592,7 +593,8 @@  rte_pmd_null_probe(struct rte_vdev_device *dev)
 		/* TODO: request info from primary to set up Rx and Tx */
 		eth_dev->dev_ops = &ops;
 		eth_dev->device = &dev->device;
-		if (packet_copy) {
+		internals = eth_dev->data->dev_private;
+		if (internals->packet_copy) {
 			eth_dev->rx_pkt_burst = eth_null_copy_rx;
 			eth_dev->tx_pkt_burst = eth_null_copy_tx;
 		} else {