[dpdk-dev,v2] i40e: fix of compile error

Message ID 1417569207-30139-1-git-send-email-helin.zhang@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Zhang, Helin Dec. 3, 2014, 1:13 a.m. UTC
  The compile error will occur as below when set 'RTE_LIBRTE_I40E_16BYTE_RX_DESC=y'.
'fd_id' should be used to replace 'fd', as 'fd' is not defined in that structure
at all. In addition, local variable of 'flexbl' and 'flexbh' must be used only if
32 bytes RX descriptor is selected.

error logs:
lib/librte_pmd_i40e/i40e_rxtx.c: In function i40e_rxd_build_fdir:
lib/librte_pmd_i40e/i40e_rxtx.c:431:28: error: volatile union <anonymous> has no member named fd
lib/librte_pmd_i40e/i40e_rxtx.c:427:19: error: unused variable flexbl [-Werror=unused-variable]
lib/librte_pmd_i40e/i40e_rxtx.c:427:11: error: unused variable flexbh [-Werror=unused-variable]

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
 lib/librte_pmd_i40e/i40e_rxtx.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

v2 changes:
* Removed the changes for code style fix, and kept it for compile error fix only.
* Re-word the commit logs.
  

Comments

Jingjing Wu Dec. 3, 2014, 7:47 a.m. UTC | #1
> -----Original Message-----
> From: Zhang, Helin
> Sent: Wednesday, December 03, 2014 9:13 AM
> To: dev@dpdk.org
> Cc: Cao, Waterman; Cao, Min; Wu, Jingjing; Zhang, Helin
> Subject: [PATCH v2] i40e: fix of compile error
> 
> The compile error will occur as below when set
> 'RTE_LIBRTE_I40E_16BYTE_RX_DESC=y'.
> 'fd_id' should be used to replace 'fd', as 'fd' is not defined in that structure at
> all. In addition, local variable of 'flexbl' and 'flexbh' must be used only if
> 32 bytes RX descriptor is selected.
> 
> error logs:
> lib/librte_pmd_i40e/i40e_rxtx.c: In function i40e_rxd_build_fdir:
> lib/librte_pmd_i40e/i40e_rxtx.c:431:28: error: volatile union <anonymous>
> has no member named fd
> lib/librte_pmd_i40e/i40e_rxtx.c:427:19: error: unused variable flexbl [-
> Werror=unused-variable]
> lib/librte_pmd_i40e/i40e_rxtx.c:427:11: error: unused variable flexbh [-
> Werror=unused-variable]
> 
> Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> ---
>  lib/librte_pmd_i40e/i40e_rxtx.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> v2 changes:
> * Removed the changes for code style fix, and kept it for compile error fix
> only.
> * Re-word the commit logs.
> 
> diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c b/lib/librte_pmd_i40e/i40e_rxtx.c
> index 2d2ef04..63c872d 100644
> --- a/lib/librte_pmd_i40e/i40e_rxtx.c
> +++ b/lib/librte_pmd_i40e/i40e_rxtx.c
> @@ -424,13 +424,9 @@ static inline uint64_t  i40e_rxd_build_fdir(volatile
> union i40e_rx_desc *rxdp, struct rte_mbuf *mb)  {
>  	uint64_t flags = 0;
> +#ifndef RTE_LIBRTE_I40E_16BYTE_RX_DESC
>  	uint16_t flexbh, flexbl;
> 
> -#ifdef RTE_LIBRTE_I40E_16BYTE_RX_DESC
> -	mb->hash.fdir.hi =
> -		rte_le_to_cpu_32(rxdp->wb.qword0.hi_dword.fd);
> -	flags |= PKT_RX_FDIR_ID;
> -#else
>  	flexbh = (rte_le_to_cpu_32(rxdp->wb.qword2.ext_status) >>
>  		I40E_RX_DESC_EXT_STATUS_FLEXBH_SHIFT) &
>  		I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK;
> @@ -453,6 +449,10 @@ i40e_rxd_build_fdir(volatile union i40e_rx_desc
> *rxdp, struct rte_mbuf *mb)
>  			rte_le_to_cpu_32(rxdp-
> >wb.qword3.lo_dword.flex_bytes_lo);
>  		flags |= PKT_RX_FDIR_FLX;
>  	}
> +#else
> +	mb->hash.fdir.hi =
> +		rte_le_to_cpu_32(rxdp->wb.qword0.hi_dword.fd_id);
> +	flags |= PKT_RX_FDIR_ID;
>  #endif
>  	return flags;
>  }
> --
> 1.9.3

Acked-by: Jingjing Wu <jingjing.wu@intel.com>
  
Thomas Monjalon Dec. 3, 2014, 10:03 a.m. UTC | #2
> > The compile error will occur as below when set
> > 'RTE_LIBRTE_I40E_16BYTE_RX_DESC=y'.
> > 'fd_id' should be used to replace 'fd', as 'fd' is not defined in that structure at
> > all. In addition, local variable of 'flexbl' and 'flexbh' must be used only if
> > 32 bytes RX descriptor is selected.
> > 
> > error logs:
> > lib/librte_pmd_i40e/i40e_rxtx.c: In function i40e_rxd_build_fdir:
> > lib/librte_pmd_i40e/i40e_rxtx.c:431:28: error: volatile union <anonymous>
> > has no member named fd
> > lib/librte_pmd_i40e/i40e_rxtx.c:427:19: error: unused variable flexbl [-
> > Werror=unused-variable]
> > lib/librte_pmd_i40e/i40e_rxtx.c:427:11: error: unused variable flexbh [-
> > Werror=unused-variable]
> > 
> > Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> 
> Acked-by: Jingjing Wu <jingjing.wu@intel.com>

Applied

Thanks
  

Patch

diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c b/lib/librte_pmd_i40e/i40e_rxtx.c
index 2d2ef04..63c872d 100644
--- a/lib/librte_pmd_i40e/i40e_rxtx.c
+++ b/lib/librte_pmd_i40e/i40e_rxtx.c
@@ -424,13 +424,9 @@  static inline uint64_t
 i40e_rxd_build_fdir(volatile union i40e_rx_desc *rxdp, struct rte_mbuf *mb)
 {
 	uint64_t flags = 0;
+#ifndef RTE_LIBRTE_I40E_16BYTE_RX_DESC
 	uint16_t flexbh, flexbl;
 
-#ifdef RTE_LIBRTE_I40E_16BYTE_RX_DESC
-	mb->hash.fdir.hi =
-		rte_le_to_cpu_32(rxdp->wb.qword0.hi_dword.fd);
-	flags |= PKT_RX_FDIR_ID;
-#else
 	flexbh = (rte_le_to_cpu_32(rxdp->wb.qword2.ext_status) >>
 		I40E_RX_DESC_EXT_STATUS_FLEXBH_SHIFT) &
 		I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK;
@@ -453,6 +449,10 @@  i40e_rxd_build_fdir(volatile union i40e_rx_desc *rxdp, struct rte_mbuf *mb)
 			rte_le_to_cpu_32(rxdp->wb.qword3.lo_dword.flex_bytes_lo);
 		flags |= PKT_RX_FDIR_FLX;
 	}
+#else
+	mb->hash.fdir.hi =
+		rte_le_to_cpu_32(rxdp->wb.qword0.hi_dword.fd_id);
+	flags |= PKT_RX_FDIR_ID;
 #endif
 	return flags;
 }