From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EF0AFA0542; Sat, 24 Sep 2022 16:20:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9EF9B400D5; Sat, 24 Sep 2022 16:20:02 +0200 (CEST) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by mails.dpdk.org (Postfix) with ESMTP id B4938400D4 for ; Sat, 24 Sep 2022 16:20:01 +0200 (CEST) Received: by mail-ej1-f50.google.com with SMTP id y3so5965044ejc.1 for ; Sat, 24 Sep 2022 07:20:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=emumba-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=kOYqIsmGSxsqqwjE5yRi8BPt7Js6v+Hy1jQHBZdVSSw=; b=QnpF+dufB9ZAI8C/chscxr3OwRTtJbbgcR4mmitCxRB6hP3sx8TheAEi7e+CqnxbDb L8b70eY2IcVGzTbhXK5PAQ+hoLRd41Oy/OHD3bKTlKUKrIw83HRio/hoFnkwNSFf9t+p xE6UFgZPwUpXwtvxBPHThabFBULCtXwqoFRRlAb/2KkQL0OfgVOKsyhihWNqdI4OKXFy Dux/PhrYoHb+3K9OLHvqTMAOXY9ZgXu6ZKMwLPhnnNKlVBFVdELRj6xt75lp3FnvrOJG /TY6G+iUR5Fcmpk4Xq3n1Dhx80KGeQJ0udDsEyFo0ZosZSuih8CqbN71KVy6NhyczZbK GDSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=kOYqIsmGSxsqqwjE5yRi8BPt7Js6v+Hy1jQHBZdVSSw=; b=lmoLUJ7qCeROgHA4UW/iKPEjrfcnScvCJ3aBycfT+thfLK1s9dNbMNZEVI0ztSRJpX T5SGCB7oS8iexUay7DNtrLReYuh4NgKgpIVUC/sS0EBU6wIrPSKhn07qt648aW75R/HI YIUoyVnrXGOKaUqUlqFlfAZKPCAdE+3wN7ALGmHxKt1+ks8W5bqTKBsUxCSkHJOIE/CO hsnW8V/s6+JSK2YHsO9yH4/kcjQH3r0dykUbWX1WWzR5RTC3gqPscnds2wZkk7sROJdc YXi+fwWiM6bpJqrN7t0bFvj1e5TQQnYTW8vRD+EoZMwj07thc+6G1s3Pn2b3ShSEI6Bb 1Lzw== X-Gm-Message-State: ACrzQf369YhZnMcIKn4O0/H1YZ3H/hoF6QecKsa01XtcWjXqCey6spEa teIlbIqhf2hadhjqs++fJMc1Jw== X-Google-Smtp-Source: AMsMyM7K5P2oXe7BGXiuSWrKj3v4HG1uWA+w2jGlVzp5QYuU1bfIrt6vikG4P3y4otTa+jfQDT+deA== X-Received: by 2002:a17:906:846b:b0:77a:6e22:7311 with SMTP id hx11-20020a170906846b00b0077a6e227311mr11009476ejc.524.1664029201425; Sat, 24 Sep 2022 07:20:01 -0700 (PDT) Received: from localhost.localdomain ([119.160.69.65]) by smtp.gmail.com with ESMTPSA id d21-20020a170906345500b0073c8d4c9f38sm5611801ejb.177.2022.09.24.07.19.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Sep 2022 07:20:01 -0700 (PDT) From: Usman Tanveer To: chas3@att.com, humin29@huawei.com Cc: dev@dpdk.org, Usman Tanveer Subject: [PATCH] net/bonding: fix error in bonding mode 4 with dedicated queues enabled Date: Sat, 24 Sep 2022 19:19:53 +0500 Message-Id: <20220924141953.273290-1-usman.tanveer@emumba.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org when dedicated queues are enable with bonding mode 4 (mlx5), the application sets the flow, which cannot be set if the device is not started. This fixed the issue by starting the device just before setting the flow. Because device should be started to set the flow. Also it does not effect other driver codes (I have tried on ixgbe). Bugzilla ID: 759 Signed-off-by: Usman Tanveer --- drivers/net/bonding/rte_eth_bond_pmd.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 73e6972035..2dfb613ea6 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1829,6 +1829,13 @@ slave_start(struct rte_eth_dev *bonded_eth_dev, slave_eth_dev->data->port_id, errval); } + errval = rte_eth_dev_start(slave_eth_dev->data->port_id); + if (errval != 0) { + RTE_BOND_LOG(ERR, "rte_eth_dev_start: port=%u, err (%d)", + slave_eth_dev->data->port_id, errval); + return -1; + } + errval = bond_ethdev_8023ad_flow_set(bonded_eth_dev, slave_eth_dev->data->port_id); if (errval != 0) { @@ -1840,11 +1847,13 @@ slave_start(struct rte_eth_dev *bonded_eth_dev, } /* Start device */ - errval = rte_eth_dev_start(slave_eth_dev->data->port_id); - if (errval != 0) { - RTE_BOND_LOG(ERR, "rte_eth_dev_start: port=%u, err (%d)", - slave_eth_dev->data->port_id, errval); - return -1; + if (!slave_eth_dev->data->dev_started) { + errval = rte_eth_dev_start(slave_eth_dev->data->port_id); + if (errval != 0) { + RTE_BOND_LOG(ERR, "rte_eth_dev_start: port=%u, err (%d)", + slave_eth_dev->data->port_id, errval); + return -1; + } } /* If RSS is enabled for bonding, synchronize RETA */ -- 2.25.1