[2/2] net/i40e: correct offload not supported mask
Checks
Commit Message
Just as the name I40E_TX_OFFLOAD_NOTSUP_MASK indicates, it should be the
mask of unsupported features (either not in PKT_TX_OFFLOAD_MASK or in
I40E_TX_OFFLOAD_MASK), however, xor will not get desired result here,
assume bit 0 of PKT_TX_OFFLOAD_MASK and I40E_TX_OFFLOAD_MAKS are 0 which
means corresponding feature is not supported in both sides, then we get
value of bit 0 of I40E_TX_OFFLOAD_NOTSUP_MASK which is 0 via xor, it
implies that it is supported which doesn't meet our expectation.
Correct it by a NOT-AND operation.
Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation")
Cc: tomaszx.kulasek@intel.com
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
drivers/net/i40e/i40e_rxtx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: Ye, Xiaolong
> Sent: Friday, October 26, 2018 1:33 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Ye, Xiaolong <xiaolong.ye@intel.com>; Kulasek, TomaszX
> <tomaszx.kulasek@intel.com>
> Subject: [PATCH 2/2] net/i40e: correct offload not supported mask
>
> Just as the name I40E_TX_OFFLOAD_NOTSUP_MASK indicates, it should be
> the mask of unsupported features (either not in PKT_TX_OFFLOAD_MASK or
> in I40E_TX_OFFLOAD_MASK), however, xor will not get desired result here,
> assume bit 0 of PKT_TX_OFFLOAD_MASK and I40E_TX_OFFLOAD_MAKS are
> 0 which means corresponding feature is not supported in both sides, then we
> get value of bit 0 of I40E_TX_OFFLOAD_NOTSUP_MASK which is 0 via xor, it
> implies that it is supported which doesn't meet our expectation.
>
> Correct it by a NOT-AND operation.
>
> Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation")
>
> Cc: tomaszx.kulasek@intel.com
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -69,7 +69,7 @@
I40E_TX_IEEE1588_TMST)
#define I40E_TX_OFFLOAD_NOTSUP_MASK \
- (PKT_TX_OFFLOAD_MASK ^ I40E_TX_OFFLOAD_MASK)
+ ~(PKT_TX_OFFLOAD_MASK & I40E_TX_OFFLOAD_MASK)
static inline void
i40e_rxd_to_vlan_tci(struct rte_mbuf *mb, volatile union i40e_rx_desc *rxdp)