Message ID | 20230228164613.1360409-3-aleksander.lobakin@intel.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | iavf: fix double-broken HW hash report | expand |
From: Alexander Lobakin <aleksander.lobakin@intel.com> Date: Tue, 28 Feb 2023 17:46:13 +0100 > [PATCH net v2 2/2] iavf: fix non-tunneled IPv6 UDP packet type and hashing > v2 How this got here ._. Lemme know if I should resend (it's probably okay for Git, but may broke Patchwork, dunno). > Currently, IAVF's decode_rx_desc_ptype() correctly reports payload type > of L4 for IPv4 UDP packets and IPv{4,6} TCP, but only L3 for IPv6 UDP. > Originally, i40e, ice and iavf were affected. > Commit 73df8c9e3e3d ("i40e: Correct UDP packet header for non_tunnel-ipv6") > fixed that in i40e, then > commit 638a0c8c8861 ("ice: fix incorrect payload indicator on PTYPE") > fixed that for ice. > IPv6 UDP is L4 obviously. Fix it and make iavf report correct L4 hash > type for such packets, so that the stack won't calculate it on CPU when > needs it. > > Fixes: 206812b5fccb ("i40e/i40evf: i40e implementation for skb_set_hash") > Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com> > Reviewed-by: Michal Kubiak <michal.kubiak@intel.com> > Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com> > --- > drivers/net/ethernet/intel/iavf/iavf_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/intel/iavf/iavf_common.c b/drivers/net/ethernet/intel/iavf/iavf_common.c > index 16c490965b61..dd11dbbd5551 100644 > --- a/drivers/net/ethernet/intel/iavf/iavf_common.c > +++ b/drivers/net/ethernet/intel/iavf/iavf_common.c > @@ -661,7 +661,7 @@ struct iavf_rx_ptype_decoded iavf_ptype_lookup[BIT(8)] = { > /* Non Tunneled IPv6 */ > IAVF_PTT(88, IP, IPV6, FRG, NONE, NONE, NOF, NONE, PAY3), > IAVF_PTT(89, IP, IPV6, NOF, NONE, NONE, NOF, NONE, PAY3), > - IAVF_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP, PAY3), > + IAVF_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP, PAY4), > IAVF_PTT_UNUSED_ENTRY(91), > IAVF_PTT(92, IP, IPV6, NOF, NONE, NONE, NOF, TCP, PAY4), > IAVF_PTT(93, IP, IPV6, NOF, NONE, NONE, NOF, SCTP, PAY4), Thanks, Olek
On Tue, 28 Feb 2023 17:52:56 +0100 Alexander Lobakin wrote: > > [PATCH net v2 2/2] iavf: fix non-tunneled IPv6 UDP packet type and hashing > > v2 > > How this got here ._. > Lemme know if I should resend (it's probably okay for Git, but may broke > Patchwork, dunno). Also patch 1 is not versioned and patch 2 is v2 :S I think repost would be good, and please put on the To: line the person/group who you expect to apply the patch - either netdev maintainers or Tony.
diff --git a/drivers/net/ethernet/intel/iavf/iavf_common.c b/drivers/net/ethernet/intel/iavf/iavf_common.c index 16c490965b61..dd11dbbd5551 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_common.c +++ b/drivers/net/ethernet/intel/iavf/iavf_common.c @@ -661,7 +661,7 @@ struct iavf_rx_ptype_decoded iavf_ptype_lookup[BIT(8)] = { /* Non Tunneled IPv6 */ IAVF_PTT(88, IP, IPV6, FRG, NONE, NONE, NOF, NONE, PAY3), IAVF_PTT(89, IP, IPV6, NOF, NONE, NONE, NOF, NONE, PAY3), - IAVF_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP, PAY3), + IAVF_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP, PAY4), IAVF_PTT_UNUSED_ENTRY(91), IAVF_PTT(92, IP, IPV6, NOF, NONE, NONE, NOF, TCP, PAY4), IAVF_PTT(93, IP, IPV6, NOF, NONE, NONE, NOF, SCTP, PAY4),