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 7D259A0C43; Fri, 16 Apr 2021 13:13:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3E245141C7B; Fri, 16 Apr 2021 13:13:14 +0200 (CEST) Received: from szxga07-in.huawei.com (szxga07-in.huawei.com [45.249.212.35]) by mails.dpdk.org (Postfix) with ESMTP id 71C41141C78 for ; Fri, 16 Apr 2021 13:13:13 +0200 (CEST) Received: from DGGEMS403-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4FMD624HyszB1jq; Fri, 16 Apr 2021 19:10:50 +0800 (CST) Received: from [10.67.103.128] (10.67.103.128) by DGGEMS403-HUB.china.huawei.com (10.3.19.203) with Microsoft SMTP Server id 14.3.498.0; Fri, 16 Apr 2021 19:12:59 +0800 To: Chengchang Tang , CC: , , References: <1618571071-5927-1-git-send-email-tangchengchang@huawei.com> From: "Min Hu (Connor)" Message-ID: <89cb282e-dd01-62c0-a1ac-a945e952f042@huawei.com> Date: Fri, 16 Apr 2021 19:12:59 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1 MIME-Version: 1.0 In-Reply-To: <1618571071-5927-1-git-send-email-tangchengchang@huawei.com> Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.103.128] X-CFilter-Loop: Reflected Subject: Re: [dpdk-dev] [RFC 0/2] add Tx prepare support for bonding device 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 Sender: "dev" Looks good to me. ÔÚ 2021/4/16 19:04, Chengchang Tang дµÀ: > This patch add Tx prepare for bonding device. > > Currently, the bonding driver has not implemented the callback of > rte_eth_tx_prepare function. Therefore, the TX prepare function of the > slave devices will never be invoked. When hardware offloading such as > CKSUM and TSO are enabled for some drivers, tx_prepare needs to be used > to adjust packets (for example, set correct pseudo packet headers). > Otherwise, related offloading fails and even packets are sent > incorrectly. Due to this limitation, the bonded device cannot use these > HW offloading in the Tx direction. > > Because packet sending algorithms are numerous and complex in bond PMD, > it is hard to design the callback for rte_eth_tx_prepare. In this patch, > the tx_prepare callback of bonding PMD is not implemented. Instead, > rte_eth_tx_prepare has been called in tx_burst callback. And a global > variable is introduced to control whether the bonded device need call > the rte_eth_tx_prepare. If upper-layer users need to use some TX > offloading that depend on tx_prepare , they should enable the preparation > function. In this way, the bonded device will call the rte_eth_tx_prepare > for the fast path packets in the tx_burst callback. > > Chengchang Tang (2): > net/bonding: add Tx prepare for bonding > app/testpmd: add cmd for bonding Tx prepare > > app/test-pmd/cmdline.c | 66 +++++++++++++++++++++++++++++ > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 9 ++++ > drivers/net/bonding/eth_bond_private.h | 1 + > drivers/net/bonding/rte_eth_bond.h | 29 +++++++++++++ > drivers/net/bonding/rte_eth_bond_api.c | 28 ++++++++++++ > drivers/net/bonding/rte_eth_bond_pmd.c | 33 +++++++++++++-- > drivers/net/bonding/version.map | 5 +++ > 7 files changed, 167 insertions(+), 4 deletions(-) > > -- > 2.7.4 > > . >