[dpdk-dev] [PATCH] net/i40e: stop lldp before setting local lldp MIB

Chas Williams 3chas3 at gmail.com
Wed Aug 1 06:07:12 CEST 2018


From: "Charles (Chas) Williams" <chas3 at att.com>

>From the Intel Ethernet Controller X710/XXV710/XL710 Specifiction
Update:

    Starting from NVM 5.02, if the Set Local LLDP MIB command is
    received while the DCBx specific agent is stopped, the command
    returns an EPERM error. If the command is received while the
    LLDP agent is stopped, it sets the local MIB without exchanging
    LLDP with peer, and returns SUCCESS.

This results in the harmless, but annoying, diagnostic:

    default dcb config fails. err = -53, aq_err = 1.

So, always stop the lldp daemon when we are in software mode before
we attempt to call i40e_set_dcb_config.

Signed-off-by: Chas Williams <chas3 at att.com>
---
 drivers/net/i40e/i40e_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index a340540ef..03bedf5c1 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -11237,6 +11237,7 @@ i40e_dcb_init_configure(struct rte_eth_dev *dev, bool sw_dcb)
 		 * i40e_init_dcb we expect is failure with I40E_AQ_RC_EPERM
 		 * adminq status. Otherwise, it should return success.
 		 */
+		i40e_aq_stop_lldp(hw, TRUE, NULL);
 		if ((ret == I40E_SUCCESS) || (ret != I40E_SUCCESS &&
 		    hw->aq.asq_last_status == I40E_AQ_RC_EPERM)) {
 			memset(&hw->local_dcbx_config, 0,
-- 
2.14.4



More information about the dev mailing list