DPDK patches and discussions
 help / color / mirror / Atom feed
From: Nandini Rangaswamy <nrangaswamy@juniper.net>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: [dpdk-dev] Regarding bond and slave driver configuration in DPDK 19.11
Date: Mon, 31 Aug 2020 19:02:10 +0000	[thread overview]
Message-ID: <79ED1BA3-63F1-4EC8-A563-F1338212FE7F@juniper.net> (raw)

Hi ,
I am attempting to setup/configure bond and slave interfaces in DPDK application and it fails in DPDK 19.11.
DPDK daemon is started with the following command line arguments:
--no-daemon --socket-mem 1024 1024 --vdev eth_bond_bond0,mode=4,xmit_policy=l34,socket_id=1,mac=ac:1f:6b:8d:d7:c6,lacp_rate=1,slave=0000:81:00.0,slave=0000:81:00.1


  1.  DPDK application initializes the bond interface first . It sets rx and tx offloads in dev_conf structure as (DEV_RX_OFFLOAD_CHECKSUM | DEV_RX_OFFLOAD_JUMBO_FRAME )

and (DEV_TX_OFFLOAD_UDP_CKSUM | DEV_TX_OFFLOAD_TCP_CKSUM | DEV_TX_OFFLOAD_IPV4_CKSUM) respectively.
Then the application invokes rte_eth_dev_configure to setup bond. This causes some conditions such as below to fail In DPDK 19.11 :

        if ((dev_conf->rxmode.offloads & dev_info.rx_offload_capa) !=
             dev_conf->rxmode.offloads) {
                RTE_ETHDEV_LOG(ERR,
                        "Ethdev port_id=%u requested
                        Rx offloads 0x%"PRIx64" doesn't match Rx     offloads "
                        "capabilities 0x%"PRIx64" in %s()\n",
                        port_id, dev_conf->rxmode.offloads,
                        dev_info.rx_offload_capa,
                        __func__);
            Return -EINVAL;
        }
        if ((dev_conf->txmode.offloads & dev_info.tx_offload_capa) !=
             dev_conf->txmode.offloads) {
                RTE_ETHDEV_LOG(ERR,
                        "Ethdev port_id=%u requested Tx offloads
                       0x%"PRIx64" doesn't match Tx offloads "
                        "capabilities 0x%"PRIx64" in %s()\n",
                        port_id, dev_conf->txmode.offloads,
                        dev_info.tx_offload_capa,
                        __func__);
             Return -EINVAL;
        }
       Since no slaves are configured yet, the offloads in dev_info structure of bond are set to 0.Hence there is a mismatch between dev_conf structure whose offloads are set in DPDK
       application and dev_info structure in which all the values 0.

         Finally this causes bond and slave driver setup to fail. How can this issue be fixed ?

Thanks and Regards,
Nandini




Juniper Business Use Only

             reply	other threads:[~2020-09-01 12:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-31 19:02 Nandini Rangaswamy [this message]
     [not found] ` <E5190ED0-1CB3-4C62-BC6F-A6761DAD2D4E@juniper.net>
2020-09-29  0:12   ` Robin Fahy

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=79ED1BA3-63F1-4EC8-A563-F1338212FE7F@juniper.net \
    --to=nrangaswamy@juniper.net \
    --cc=dev@dpdk.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).