net/i40e: fix offload flag checking in simple Tx datapath
Checks
Commit Message
For Tx packets, if no other offload flag except
'PKT_TX_OUTER_IPV6, PKT_TX_OUTER_IPV4, PKT_TX_IPV6, PKT_TX_IPV4' is
set, the hardware doesn't need to do offloads for these packets.
This patch removes those previously indicated flags from the offload
flag checking in simple Tx datapath.
Fixes: 146ffa81d05e ("net/i40e: add Tx preparation for simple Tx datapath")
Cc: stable@dpdk.org
Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
---
drivers/net/i40e/i40e_rxtx.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Alvin Zhang
> Sent: Tuesday, April 27, 2021 4:59 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/i40e: fix offload flag checking in simple Tx datapath
Tested-by: Jun, Zhou <junx.w.zhou@intel.com>
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Alvin Zhang
> Sent: Tuesday, April 27, 2021 4:59 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zhang@intel.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/i40e: fix offload flag checking in simple Tx
> datapath
>
> For Tx packets, if no other offload flag except 'PKT_TX_OUTER_IPV6,
> PKT_TX_OUTER_IPV4, PKT_TX_IPV6, PKT_TX_IPV4' is set, the hardware doesn't
> need to do offloads for these packets.
>
> This patch removes those previously indicated flags from the offload flag
> checking in simple Tx datapath.
>
> Fixes: 146ffa81d05e ("net/i40e: add Tx preparation for simple Tx datapath")
> Cc: stable@dpdk.org
>
> Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
> ---
> drivers/net/i40e/i40e_rxtx.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index
> 86a9eae..48d0582 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -1501,7 +1501,9 @@
> return i;
> }
>
> - if (ol_flags & PKT_TX_OFFLOAD_MASK) {
> + if (ol_flags & PKT_TX_OFFLOAD_MASK &
> + ~(PKT_TX_OUTER_IPV6 | PKT_TX_OUTER_IPV4 |
> + PKT_TX_IPV6 | PKT_TX_IPV4)) {
Hi Alvin,
Could we define a new macro like I40E_SIMPLE_TX_OFFLOAD_NOTSUP_MASK as what I40E_TX_OFFLOAD_NOTSUP_MASK did.
That would have nice readability. Thanks!
> rte_errno = ENOTSUP;
> return i;
> }
> --
> 1.8.3.1
@@ -1501,7 +1501,9 @@
return i;
}
- if (ol_flags & PKT_TX_OFFLOAD_MASK) {
+ if (ol_flags & PKT_TX_OFFLOAD_MASK &
+ ~(PKT_TX_OUTER_IPV6 | PKT_TX_OUTER_IPV4 |
+ PKT_TX_IPV6 | PKT_TX_IPV4)) {
rte_errno = ENOTSUP;
return i;
}