DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Regarding bond and slave driver configuration in DPDK 19.11
@ 2020-08-31 19:02 Nandini Rangaswamy
       [not found] ` <E5190ED0-1CB3-4C62-BC6F-A6761DAD2D4E@juniper.net>
  0 siblings, 1 reply; 2+ messages in thread
From: Nandini Rangaswamy @ 2020-08-31 19:02 UTC (permalink / raw)
  To: dev

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] Regarding bond and slave driver configuration in DPDK 19.11
       [not found] ` <E5190ED0-1CB3-4C62-BC6F-A6761DAD2D4E@juniper.net>
@ 2020-09-29  0:12   ` Robin Fahy
  0 siblings, 0 replies; 2+ messages in thread
From: Robin Fahy @ 2020-09-29  0:12 UTC (permalink / raw)
  To: chas3, dev; +Cc: Kiran KN, Sachchidanand Vaidya, Nandini Rangaswamy

Hi Chas & DPDK team,


One of our engineers at Juniper Networks is blocked on an issue related to a mismatch between dev_conf and dev_info when attempting to configure a bond and slave driver using DPDK 19.11.

Are there any similar known issues with this configuration, or knowledge resources on hand to help us troubleshoot?

Let us know if anything leaps to mind!


Thank you,
Robin


PS: Details included below.



From: Nandini Rangaswamy <nrangaswamy@juniper.net>
Date: Friday, September 11, 2020 at 10:23 AM
To: "chas3@att.com" <chas3@att.com>
Cc: Kiran KN <kirankn@juniper.net>, Sachchidanand Vaidya <vaidyasd@juniper.net>, Robin Fahy <rfahy@juniper.net>
Subject: FW: Regarding bond and slave driver configuration in DPDK 19.11

Hi Chas,
I had emailed dev@dpdk.org<mailto:dev@dpdk.org> with a question about configuring bond and slave interfaces in DPDK application using DPDK 19.11 library.
I have not received any response yet. Since your email id was listed in the maintainers list for the bonding driver, I am forwarding this question to you.
It would be great if you could take a look at the question below and provide some inputs on how it can be resolved.
Thanks and Regards,
Nandini

From: Nandini Rangaswamy <nrangaswamy@juniper.net>
Date: Monday, August 31, 2020 at 12:02 PM
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: Regarding bond and slave driver configuration in DPDK 19.11

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


Juniper Business Use Only

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-09-30 22:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-31 19:02 [dpdk-dev] Regarding bond and slave driver configuration in DPDK 19.11 Nandini Rangaswamy
     [not found] ` <E5190ED0-1CB3-4C62-BC6F-A6761DAD2D4E@juniper.net>
2020-09-29  0:12   ` Robin Fahy

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