From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 2974BA05D3 for ; Mon, 22 Apr 2019 07:00:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BB8881B4A4; Mon, 22 Apr 2019 07:00:03 +0200 (CEST) Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) by dpdk.org (Postfix) with ESMTP id F07081B4A4 for ; Mon, 22 Apr 2019 07:00:01 +0200 (CEST) Received: by mail-lf1-f41.google.com with SMTP id h18so8073144lfj.11 for ; Sun, 21 Apr 2019 22:00:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=sBPSFrc+H4PR2ZJblHvvbXns7K9MzSfU1d7kCjAJ95Y=; b=mqla2gkUAm6ht9es5BIL6nnEbCYI/Y/IwPpS81Xm8/ldYtCkDAoFtXvEZELLZuwwCF Sc8DvPvPztYySpmBK4+VMwo6YD3W3YY9DzNDVLQSYuP5hOLH7Zing2tlj9EEeZzvC/c2 9npHc4DRJ0xkMhuMhgxp7j7MiYibuDQVrOCSDZ857uz10xJ3OQxkRXQ0snSKqt4XrFa4 byz3gmUvkqY7VA/+HAJ5yeE8n66aEwSNen3b2hHvKSgG7XS7TJJ37DX32gGRujwHWqVc TcHb0v1YG2JPyDFIH07pDBVbt+QvWeGAujjZDvDLwKJs531ySC+9ZHAod/APINPUMQmd YxuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=sBPSFrc+H4PR2ZJblHvvbXns7K9MzSfU1d7kCjAJ95Y=; b=MUrd5aBhRJAXvHuEQV8OCJKEPXFkn1mDpuQCf5xhlTlMTWi4KKnr+la4m5dtdKANLS QdHeIwTnYkYdLwTLQtipZf/xKykIlEMCRZtcOIwUEmtYzCL+eDNYB+oKMVaT58C2r82n MBpUij8VRym+PqZzNYSylmSWREJDhzGiJz1o1dZS43W359knBUvKBR+QO6UcyTNGW3eG KysOvI8tB5IpxpHFhTaszljfC+cbGLKJIfxv9QK0JDVh0BNZqefC9SwoAMp/hZuNeCAR KEfWXxB/0hfZ9r6NHIR2RzunHVDVHxq5hxuPIVZ54Jr2UDdYxUzdMsfNF0VnOoWSovkX 15yw== X-Gm-Message-State: APjAAAXjgRsZ8EPzkkmuaMJD3Xty/fbKMTAoTGhXmV4z0gPfCtFk3t8x mEJ2qp4FRTgwV0Db+GIoGuAR425e6iYQGZdfjP2txJnk X-Google-Smtp-Source: APXvYqwe2chFx01Ym7ZSsff1WfaTU/Ev9Z1W6agymmQhsXIN+QLlNGXVoUi3KlUXRYCfXDq56ZbU57ri6Yu6YsFQLAA= X-Received: by 2002:a19:1949:: with SMTP id 70mr1166661lfz.103.1555909201183; Sun, 21 Apr 2019 22:00:01 -0700 (PDT) MIME-Version: 1.0 From: Arvind Narayanan Date: Sun, 21 Apr 2019 23:59:49 -0500 Message-ID: To: users Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-users] Issue with mlx5_rxtx.c while calling rte_eth_tx_burst() in DPDK 18.11 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Sender: "users" I am running into a weird problem when using rte_eth_tx_burst() using mlx5 in dpdk 18.11, running on Ubuntu 18.04 LTS (using Mellanox Connect X5 100G EN). Here is a simplified snippet. ================== #define MAX_BATCHES 64 #define MAX_BURST_SIZE 64 struct batch { struct rte_mbuf *mbufs[MAX_BURST_SIZE]; // array of packets int num_mbufs; // num of mbufs int queue; // outgoing tx_queue int port; // outgoing port } struct batch * batches[MAX_BATCHES]; /* dequeue a number of batches */ int batch_count = rte_ring_sc_dequeue_bulk(some_rte_ring, (void **) &(batches), MAX_BATCHES, NULL); /* transmit out all pkts from every batch */ if (likely(batch_count > 0)) { for (i = 0; i < batch_count; i++) { ret = rte_eth_tx_burst(batches[i]->port, batches[i]->queue, (struct rte_mbuf **) batches[i]->mbufs, batches[i]->num_mbufs); } } ================== At rte_eth_tx_burst(), I keep getting an error saying: myapp: /home/arvind/dpdk/drivers/net/mlx5/mlx5_rxtx.c:1652: uint16_t txq_burst_empw(struct mlx5_txq_data *, struct rte_mbuf **, uint16_t): Assertion `length == DATA_LEN(buf)' failed. OR myapp: /home/arvind/dpdk/drivers/net/mlx5/mlx5_rxtx.c:1609: uint16_t txq_burst_empw(struct mlx5_txq_data *, struct rte_mbuf **, uint16_t): Assertion `length == DATA_LEN(buf)' failed. I have debugged and ensured all the mbuf counts (at least in my code) are good. All the memory references to the mbufs also look good. However, I am not sure why Mellanox driver would complain. I have also tried to play with mlx5_rxtx.c by changing above lines to something like assert(length == pkts_n); // pkts_n is an argument passed to the func. Didn't help. Any thoughts? Thanks, Arvind