net/i40e: revert fix offload not supported mask

Message ID 20181211172501.31467-1-didier.pallard@6wind.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series net/i40e: revert fix offload not supported mask |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Didier Pallard Dec. 11, 2018, 5:25 p.m. UTC
  This reverts
commit 09a62d75691f ("net/i40e: fix offload not supported mask")

Contrary to what is said in above patch commit log,
I40E_TX_OFFLOAD_NOTSUP_MASK is the mask of Tx offload bits that are part
of PKT_TX_OFFLOAD_MASK but not included in I40E_TX_OFFLOAD_MASK.
Above patch erroneously includes all PKT_RX_OFFLOAD_ bits in the
I40E_TX_OFFLOAD_NOTSUP_MASK, this is not what is expected.
Restore the initial xor that gives the expected result.

Fixes: 09a62d75691f ("net/i40e: fix offload not supported mask")
Cc: stable@dpdk.org
Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
---
 drivers/net/i40e/i40e_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Ferruh Yigit Dec. 11, 2018, 10:01 p.m. UTC | #1
On 12/11/2018 5:25 PM, Didier Pallard wrote:
> This reverts
> commit 09a62d75691f ("net/i40e: fix offload not supported mask")
> 
> Contrary to what is said in above patch commit log,
> I40E_TX_OFFLOAD_NOTSUP_MASK is the mask of Tx offload bits that are part
> of PKT_TX_OFFLOAD_MASK but not included in I40E_TX_OFFLOAD_MASK.
> Above patch erroneously includes all PKT_RX_OFFLOAD_ bits in the
> I40E_TX_OFFLOAD_NOTSUP_MASK, this is not what is expected.

Argh, yes it does set Rx offload bits, +1 to revert.
cc'ed author and maintainers of the PMD.

> Restore the initial xor that gives the expected result.
> 
> Fixes: 09a62d75691f ("net/i40e: fix offload not supported mask")
> Cc: stable@dpdk.org
> Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
> ---
>  drivers/net/i40e/i40e_rxtx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index e1152ff0ea58..ab74a488f88b 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -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)
>
  
Qi Zhang Dec. 12, 2018, 3:03 a.m. UTC | #2
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Wednesday, December 12, 2018 6:01 AM
> To: Didier Pallard <didier.pallard@6wind.com>; dev@dpdk.org
> Cc: stable@dpdk.org; Ye, Xiaolong <xiaolong.ye@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Subject: Re: [dpdk-stable] [PATCH] net/i40e: revert fix offload not supported
> mask
> 
> On 12/11/2018 5:25 PM, Didier Pallard wrote:
> > This reverts
> > commit 09a62d75691f ("net/i40e: fix offload not supported mask")
> >
> > Contrary to what is said in above patch commit log,
> > I40E_TX_OFFLOAD_NOTSUP_MASK is the mask of Tx offload bits that are
> > part of PKT_TX_OFFLOAD_MASK but not included in I40E_TX_OFFLOAD_MASK.
> > Above patch erroneously includes all PKT_RX_OFFLOAD_ bits in the
> > I40E_TX_OFFLOAD_NOTSUP_MASK, this is not what is expected.
> 
> Argh, yes it does set Rx offload bits, +1 to revert.
> cc'ed author and maintainers of the PMD.

I think this revert make sense to me, I didn't notice Tx offload and Rx offload shared the same 64 bits previously 

> 
> > Restore the initial xor that gives the expected result.
> >
> > Fixes: 09a62d75691f ("net/i40e: fix offload not supported mask")
> > Cc: stable@dpdk.org
> > Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
> > ---
> >  drivers/net/i40e/i40e_rxtx.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/i40e/i40e_rxtx.c
> > b/drivers/net/i40e/i40e_rxtx.c index e1152ff0ea58..ab74a488f88b 100644
> > --- a/drivers/net/i40e/i40e_rxtx.c
> > +++ b/drivers/net/i40e/i40e_rxtx.c
> > @@ -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)
> >
  
Xiaolong Ye Dec. 12, 2018, 6:17 a.m. UTC | #3
On 12/11, Ferruh Yigit wrote:
>On 12/11/2018 5:25 PM, Didier Pallard wrote:
>> This reverts
>> commit 09a62d75691f ("net/i40e: fix offload not supported mask")
>> 
>> Contrary to what is said in above patch commit log,
>> I40E_TX_OFFLOAD_NOTSUP_MASK is the mask of Tx offload bits that are part
>> of PKT_TX_OFFLOAD_MASK but not included in I40E_TX_OFFLOAD_MASK.
>> Above patch erroneously includes all PKT_RX_OFFLOAD_ bits in the
>> I40E_TX_OFFLOAD_NOTSUP_MASK, this is not what is expected.
>
>Argh, yes it does set Rx offload bits, +1 to revert.
>cc'ed author and maintainers of the PMD.
>

Thanks for catching it and sorry for my unthoughtful patch.

Thanks,
Xiaolong

>> Restore the initial xor that gives the expected result.
>> 
>> Fixes: 09a62d75691f ("net/i40e: fix offload not supported mask")
>> Cc: stable@dpdk.org
>> Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
>> ---
>>  drivers/net/i40e/i40e_rxtx.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
>> index e1152ff0ea58..ab74a488f88b 100644
>> --- a/drivers/net/i40e/i40e_rxtx.c
>> +++ b/drivers/net/i40e/i40e_rxtx.c
>> @@ -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)
>> 
>
  
Qi Zhang Dec. 13, 2018, 9:47 a.m. UTC | #4
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Didier Pallard
> Sent: Wednesday, December 12, 2018 1:25 AM
> To: dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/i40e: revert fix offload not supported mask
> 
> This reverts
> commit 09a62d75691f ("net/i40e: fix offload not supported mask")
> 
> Contrary to what is said in above patch commit log,
> I40E_TX_OFFLOAD_NOTSUP_MASK is the mask of Tx offload bits that are part of
> PKT_TX_OFFLOAD_MASK but not included in I40E_TX_OFFLOAD_MASK.
> Above patch erroneously includes all PKT_RX_OFFLOAD_ bits in the
> I40E_TX_OFFLOAD_NOTSUP_MASK, this is not what is expected.
> Restore the initial xor that gives the expected result.
> 
> Fixes: 09a62d75691f ("net/i40e: fix offload not supported mask")
> Cc: stable@dpdk.org
> Signed-off-by: Didier Pallard <didier.pallard@6wind.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel

Thanks
Qi
  

Patch

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index e1152ff0ea58..ab74a488f88b 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -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)