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

Zhang, Qi Z qi.z.zhang at intel.com
Wed Aug 1 15:59:47 CEST 2018


Hi Williams:

> -----Original Message-----
> From: Chas Williams [mailto:3chas3 at gmail.com]
> Sent: Wednesday, August 1, 2018 12:07 PM
> To: dev at dpdk.org
> Cc: Xing, Beilei <beilei.xing at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>;
> Charles (Chas) Williams <chas3 at att.com>
> Subject: [PATCH] net/i40e: stop lldp before setting local lldp MIB
> 
> 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);

I40e_aq_stop_lldp is intended to be removed with below two patches.

commit c6431c891d9e9691e3205fe5c5350071cbaeb852
commit fcbd40d4327b36725c4de9f33f57809edc359f4a

Regards.
Qi


>  		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