From: Nobuhiro MIKI <nmiki@yahoo-corp.jp> To: keith.wiles@intel.com Cc: dev@dpdk.org, i.maximets@ovn.org, dmarchan@redhat.com, Nobuhiro MIKI <nmiki@yahoo-corp.jp> Subject: [PATCH v2 1/1] net/tap: add a check that Rx/Tx have the same num of queues Date: Wed, 12 Jan 2022 16:23:24 +0900 Message-ID: <20220112072324.30601-1-nmiki@yahoo-corp.jp> (raw) Users can create the desired number of RxQ and TxQ in DPDK. For example, if the number of RxQ = 2 and the number of TxQ = 5, a total of 8 file descriptors will be created for a tap device, including RxQ, TxQ, and one for keepalive. The RxQ and TxQ with the same ID are paired by dup(2). In this scenario, Kernel will have 3 RxQ where packets are incoming but not read. The reason for this is that there are only 2 RxQ that are polled by DPDK, while there are 5 queues in Kernel. This patch add a checking if DPDK has appropriate numbers of queues to avoid unexpected packet drop. Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp> --- v2: fix commit message I had first discussed this issue in OVS [1], but changed my mind that a fix in DPDK would be more appropriate. [1]: https://mail.openvswitch.org/pipermail/ovs-dev/2021-November/389690.html --- drivers/net/tap/rte_eth_tap.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index 5bb472f1a6..02eb311e09 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -940,6 +940,14 @@ tap_dev_configure(struct rte_eth_dev *dev) RTE_PMD_TAP_MAX_QUEUES); return -1; } + if (dev->data->nb_rx_queues != dev->data->nb_tx_queues) { + TAP_LOG(ERR, + "%s: number of rx queues %d must be equal to number of tx queues %d", + dev->device->name, + dev->data->nb_rx_queues, + dev->data->nb_tx_queues); + return -1; + } TAP_LOG(INFO, "%s: %s: TX configured queues number: %u", dev->device->name, pmd->name, dev->data->nb_tx_queues); -- 2.24.4
next reply other threads:[~2022-01-12 7:23 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-12 7:23 Nobuhiro MIKI [this message] 2022-01-18 12:31 ` Ferruh Yigit 2022-01-19 7:49 ` Nobuhiro MIKI
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220112072324.30601-1-nmiki@yahoo-corp.jp \ --to=nmiki@yahoo-corp.jp \ --cc=dev@dpdk.org \ --cc=dmarchan@redhat.com \ --cc=i.maximets@ovn.org \ --cc=keith.wiles@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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