[v2] net/iavf: fix gtpu extension flow error
Checks
Commit Message
From: Wenxuan Wu <wenxuanx.wu@intel.com>
Due to the change of struct rte_gtp_psc_generic_hdr, kernel driver can
not handle gtp_psc properly, we introduce a new structure to fix this
gap between kernel driver and struct rte_gtp_psc_generic_hdr.
Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")
Cc: simei.su@intel.com
Cc: stable@dpdk.com
Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
---
v2: refine commit log and doc.
---
drivers/net/iavf/iavf_fdir.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
Comments
> -----Original Message-----
> From: wenxuanx.wu@intel.com <wenxuanx.wu@intel.com>
> Sent: Wednesday, July 6, 2022 10:56 AM
> To: qiz.zhang@intel.com; Xing, Beilei <beilei.xing@intel.com>; dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> <yidingx.zhou@intel.com>; Wu, WenxuanX <wenxuanx.wu@intel.com>; Su,
> Simei <simei.su@intel.com>; stable@dpdk.com
> Subject: [PATCH v2] net/iavf: fix gtpu extension flow error
>
> From: Wenxuan Wu <wenxuanx.wu@intel.com>
>
> Due to the change of struct rte_gtp_psc_generic_hdr, kernel driver can not
> handle gtp_psc properly, we introduce a new structure to fix this gap between
> kernel driver and struct rte_gtp_psc_generic_hdr.
>
> Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")
> Cc: simei.su@intel.com
> Cc: stable@dpdk.com
>
> Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
>
Tested-by: Zhimin Huang <zhiminx.huang@intel.com >
Hi,
> -----Original Message-----
> From: Wu, WenxuanX <wenxuanx.wu@intel.com>
> Sent: Wednesday, July 6, 2022 10:56
> To: qiz.zhang@intel.com; Xing, Beilei <beilei.xing@intel.com>; dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> <yidingx.zhou@intel.com>; Wu, WenxuanX <wenxuanx.wu@intel.com>; Su,
> Simei <simei.su@intel.com>; stable@dpdk.com
> Subject: [PATCH v2] net/iavf: fix gtpu extension flow error
>
> From: Wenxuan Wu <wenxuanx.wu@intel.com>
>
> Due to the change of struct rte_gtp_psc_generic_hdr, kernel driver can not
> handle gtp_psc properly, we introduce a new structure to fix this gap between
> kernel driver and struct rte_gtp_psc_generic_hdr.
>
> Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")
> Cc: simei.su@intel.com
This line should be delete before patch sent.
> Cc: stable@dpdk.com
>
> Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
>
> ---
> v2: refine commit log and doc.
> ---
> drivers/net/iavf/iavf_fdir.c | 18 ++++++++++++++++--
> 1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c index
> f236260502..4789d46ab2 100644
> --- a/drivers/net/iavf/iavf_fdir.c
> +++ b/drivers/net/iavf/iavf_fdir.c
> @@ -1300,8 +1300,22 @@ iavf_fdir_parse_pattern(__rte_unused struct
> iavf_adapter *ad,
>
> GTPU_DWN, QFI);
> }
>
> - rte_memcpy(hdr->buffer, gtp_psc_spec,
> - sizeof(*gtp_psc_spec));
> + /*
> + * New structure to fix gap between kernel
> driver and
> + * rte_gtp_psc_generic_hdr.
> + */
> + struct iavf_gtp_psc_spec_hdr {
> + uint8_t len;
> + uint8_t qfi:6;
> + uint8_t type:4;
> + uint8_t next;
> + } psc;
> + psc.len = gtp_psc_spec->hdr.ext_hdr_len;
> + psc.qfi = gtp_psc_spec->hdr.qfi;
> + psc.type = gtp_psc_spec->hdr.type;
> + psc.next = 0;
> + rte_memcpy(hdr->buffer, &psc,
> + sizeof(struct iavf_gtp_psc_spec_hdr));
> }
>
> hdrs->count = ++layer;
> --
> 2.25.1
Acked-by: Qiming Yang <Qiming.yang@intel.com>
> -----Original Message-----
> From: Yang, Qiming <qiming.yang@intel.com>
> Sent: Thursday, July 7, 2022 2:58 PM
> To: Wu, WenxuanX <wenxuanx.wu@intel.com>; qiz.zhang@intel.com; Xing,
> Beilei <beilei.xing@intel.com>; dev@dpdk.org
> Cc: Zhou, YidingX <yidingx.zhou@intel.com>; Su, Simei <simei.su@intel.com>;
> stable@dpdk.com
> Subject: RE: [PATCH v2] net/iavf: fix gtpu extension flow error
>
> Hi,
>
> > -----Original Message-----
> > From: Wu, WenxuanX <wenxuanx.wu@intel.com>
> > Sent: Wednesday, July 6, 2022 10:56
> > To: qiz.zhang@intel.com; Xing, Beilei <beilei.xing@intel.com>;
> > dev@dpdk.org
> > Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> > <yidingx.zhou@intel.com>; Wu, WenxuanX <wenxuanx.wu@intel.com>; Su,
> > Simei <simei.su@intel.com>; stable@dpdk.com
> > Subject: [PATCH v2] net/iavf: fix gtpu extension flow error
> >
> > From: Wenxuan Wu <wenxuanx.wu@intel.com>
> >
> > Due to the change of struct rte_gtp_psc_generic_hdr, kernel driver can
> > not handle gtp_psc properly, we introduce a new structure to fix this
> > gap between kernel driver and struct rte_gtp_psc_generic_hdr.
> >
> > Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")
> > Cc: simei.su@intel.com
>
> This line should be delete before patch sent.
>
> > Cc: stable@dpdk.com
> >
> > Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
> >
> > ---
> > v2: refine commit log and doc.
> > ---
> > drivers/net/iavf/iavf_fdir.c | 18 ++++++++++++++++--
> > 1 file changed, 16 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/iavf/iavf_fdir.c
> > b/drivers/net/iavf/iavf_fdir.c index
> > f236260502..4789d46ab2 100644
> > --- a/drivers/net/iavf/iavf_fdir.c
> > +++ b/drivers/net/iavf/iavf_fdir.c
> > @@ -1300,8 +1300,22 @@ iavf_fdir_parse_pattern(__rte_unused struct
> > iavf_adapter *ad,
> >
> > GTPU_DWN, QFI);
> > }
> >
> > - rte_memcpy(hdr->buffer, gtp_psc_spec,
> > - sizeof(*gtp_psc_spec));
> > + /*
> > + * New structure to fix gap between kernel
> > driver and
> > + * rte_gtp_psc_generic_hdr.
> > + */
> > + struct iavf_gtp_psc_spec_hdr {
> > + uint8_t len;
> > + uint8_t qfi:6;
> > + uint8_t type:4;
> > + uint8_t next;
> > + } psc;
> > + psc.len = gtp_psc_spec->hdr.ext_hdr_len;
> > + psc.qfi = gtp_psc_spec->hdr.qfi;
> > + psc.type = gtp_psc_spec->hdr.type;
> > + psc.next = 0;
> > + rte_memcpy(hdr->buffer, &psc,
> > + sizeof(struct iavf_gtp_psc_spec_hdr));
> > }
> >
> > hdrs->count = ++layer;
> > --
> > 2.25.1
>
> Acked-by: Qiming Yang <Qiming.yang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
07/07/2022 09:13, Zhang, Qi Z:
> From: Yang, Qiming <qiming.yang@intel.com>
> > From: Wu, WenxuanX <wenxuanx.wu@intel.com>
> > > From: Wenxuan Wu <wenxuanx.wu@intel.com>
> > >
> > > Due to the change of struct rte_gtp_psc_generic_hdr, kernel driver can
> > > not handle gtp_psc properly, we introduce a new structure to fix this
> > > gap between kernel driver and struct rte_gtp_psc_generic_hdr.
> > >
> > > Fixes: d5eb3e600d9e ("net/iavf: support flow director basic rule")
> > > Cc: simei.su@intel.com
> >
> > This line should be delete before patch sent.
> >
> > > Cc: stable@dpdk.com
it is dpdk.org!
> > >
> > > Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
> >
> > Acked-by: Qiming Yang <Qiming.yang@intel.com>
no uppercase or double space in emails please
>
> Applied to dpdk-next-net-intel.
>
> Thanks
> Qi
@@ -1300,8 +1300,22 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
GTPU_DWN, QFI);
}
- rte_memcpy(hdr->buffer, gtp_psc_spec,
- sizeof(*gtp_psc_spec));
+ /*
+ * New structure to fix gap between kernel driver and
+ * rte_gtp_psc_generic_hdr.
+ */
+ struct iavf_gtp_psc_spec_hdr {
+ uint8_t len;
+ uint8_t qfi:6;
+ uint8_t type:4;
+ uint8_t next;
+ } psc;
+ psc.len = gtp_psc_spec->hdr.ext_hdr_len;
+ psc.qfi = gtp_psc_spec->hdr.qfi;
+ psc.type = gtp_psc_spec->hdr.type;
+ psc.next = 0;
+ rte_memcpy(hdr->buffer, &psc,
+ sizeof(struct iavf_gtp_psc_spec_hdr));
}
hdrs->count = ++layer;