On 03/05, Shougang Wang wrote: >Stopping lldp is necessary for DPDK, but it will cause DCB init failed. >For kernel shared code, the prerequisite for successful initialization >of DCB is that LLDP is enabled. This patch starts lldp before DCB init >and stops it when finish init. > >Fixes: a8e84b22bd55 ("net/i40e/base: support persistent LLDP") >Cc: sta...@dpdk.org > >Signed-off-by: Shougang Wang <shougangx.w...@intel.com> >Acked-by: Qi Zhang <qi.z.zh...@intel.com> >--- > drivers/net/i40e/i40e_ethdev.c | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > >diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c >index 9fbda1c34..9459b520c 100644 >--- a/drivers/net/i40e/i40e_ethdev.c >+++ b/drivers/net/i40e/i40e_ethdev.c >@@ -11669,11 +11669,15 @@ i40e_dcb_init_configure(struct rte_eth_dev *dev, >bool sw_dcb) > * LLDP MIB change event. > */ > if (sw_dcb == TRUE) { >- if (i40e_need_stop_lldp(dev)) { >- ret = i40e_aq_stop_lldp(hw, TRUE, TRUE, NULL); >- if (ret != I40E_SUCCESS) >- PMD_INIT_LOG(DEBUG, "Failed to stop lldp"); >- } >+ /* Stopping lldp is necessary for DPDK, but it will cause >+ * DCB init failed. For i40e_init_dcb(), the prerequisite >+ * for successful initialization of DCB is that LLDP is >+ * enabled. So it is needed to start lldp before DCB init >+ * and stop it after initialization. >+ */ >+ ret = i40e_aq_start_lldp(hw, true, NULL); >+ if (ret != I40E_SUCCESS) >+ PMD_INIT_LOG(DEBUG, "Failed to start lldp"); > > ret = i40e_init_dcb(hw, true); > /* If lldp agent is stopped, the return value from >@@ -11718,6 +11722,12 @@ i40e_dcb_init_configure(struct rte_eth_dev *dev, bool >sw_dcb) > ret, hw->aq.asq_last_status); > return -ENOTSUP; > } >+ >+ if (i40e_need_stop_lldp(dev)) { >+ ret = i40e_aq_stop_lldp(hw, true, true, NULL); >+ if (ret != I40E_SUCCESS) >+ PMD_INIT_LOG(DEBUG, "Failed to stop lldp"); >+ } > } else { > ret = i40e_aq_start_lldp(hw, true, NULL); > if (ret != I40E_SUCCESS) >-- >2.17.1 >
Acked-by: Xiaolong Ye <xiaolong...@intel.com> Applied to dpdk-next-net-intel, Thanks.