[dpdk-dev] [dpdk-stable] [PATCH 6/8] net/qede: correct offload not supported mask
Shaikh, Shahed
Shahed.Shaikh at cavium.com
Mon Nov 5 07:52:47 CET 2018
> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Ferruh Yigit
> Sent: Saturday, November 3, 2018 1:32 AM
> To: Patil, Harish <Harish.Patil at cavium.com>
> Cc: Xiaolong Ye <xiaolong.ye at intel.com>; Qi Zhang <qi.z.zhang at intel.com>;
> Beilei Xing <beilei.xing at intel.com>; dev at dpdk.org; stable at dpdk.org
> Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH 6/8] net/qede: correct offload not
> supported mask
>
>
> On 10/27/2018 11:40 AM, Xiaolong Ye wrote:
> > Previously XXX_TX_OFFLOAD_NOTSUP_MASK is obtained via xor which would
> lead
> > to unexpected result, correct it by using a NOT-AND operation.
> >
> > Fixes: 29540be7efce ("net/qede: support LRO/TSO offloads")
> >
> > Cc: harish.patil at qlogic.com
> > Cc: stable at dpdk.org
> > Signed-off-by: Xiaolong Ye <xiaolong.ye at intel.com>
> > ---
> > drivers/net/qede/qede_rxtx.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
> > index d3a41e92e..9da059564 100644
> > --- a/drivers/net/qede/qede_rxtx.h
> > +++ b/drivers/net/qede/qede_rxtx.h
> > @@ -159,7 +159,7 @@
> > PKT_TX_TUNNEL_GRE)
> >
> > #define QEDE_TX_OFFLOAD_NOTSUP_MASK \
> > - (PKT_TX_OFFLOAD_MASK ^ QEDE_TX_OFFLOAD_MASK)
> > + ~(PKT_TX_OFFLOAD_MASK & QEDE_TX_OFFLOAD_MASK)
>
> Hi Harish,
>
> The qede usage can be problematic, because of how QEDE_TX_OFFLOAD_MASK
> set:
>
> #define QEDE_TX_OFFLOAD_MASK (QEDE_TX_CSUM_OFFLOAD_MASK | \
> PKT_TX_VLAN_PKT | \
> PKT_TX_TUNNEL_VXLAN | \
> PKT_TX_TUNNEL_GENEVE | \
> PKT_TX_TUNNEL_MPLSINUDP | \
> PKT_TX_TUNNEL_GRE)
>
> I am not sure if OFFLOAD_NOTSUP_MASK works fine with multi-bit values, I
> think
> you should set `PKT_TX_TUNNEL_MASK` here.
>
> But please double check in case I am missing something.
Hi Ferruh,
You are right. Tunnel types are multi bit values. Qede PMD does not support all tunneling protocol offloads which fall under PKT_TX_TUNNEL_MASK.
Not sure how to handle unsupported tunneling protocols in OFFLOAD_NOTSUP_MASK.
One way would be to set TX_TUNNEL_MASK in QEDE_TX_OFFLOAD_MASK and then check for unsupported tunnel protocols in tx_pkt_prepare().
Thanks,
Shahed
More information about the dev
mailing list