DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] net/iavf: fix gtpu extension flow error
@ 2022-07-05 10:09 wenxuanx.wu
  2022-07-05 11:52 ` Zhang, Qi Z
  2022-07-06  2:56 ` [PATCH v2] " wenxuanx.wu
  0 siblings, 2 replies; 8+ messages in thread
From: wenxuanx.wu @ 2022-07-05 10:09 UTC (permalink / raw)
  To: jingjing.wu, beilei.xing, dev
  Cc: qiming.yang, yidingx.zhou, wenxuanx.wu, simei.su, stable

From: Wenxuan Wu <wenxuanx.wu@intel.com>

Due to the change of struct rte_gtp_psc_generic_hdr, firmware can
not handle gtp_psc properly, we induce a new structure to fix this
gap between firmware 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>
---
 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..5ac4e88728 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 firmware 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


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH v2] net/iavf: fix gtpu extension flow error
@ 2022-07-06  2:45 wenxuanx.wu
  0 siblings, 0 replies; 8+ messages in thread
From: wenxuanx.wu @ 2022-07-06  2:45 UTC (permalink / raw)
  To: qiz.zhang, beilei.xing, dev
  Cc: qiming.yang, yidingx.zhou, wenxuanx.wu, simei.su, stable

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 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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-07-11 15:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-05 10:09 [PATCH] net/iavf: fix gtpu extension flow error wenxuanx.wu
2022-07-05 11:52 ` Zhang, Qi Z
2022-07-06  2:56 ` [PATCH v2] " wenxuanx.wu
2022-07-07  6:11   ` Huang, ZhiminX
2022-07-07  6:57   ` Yang, Qiming
2022-07-07  7:13     ` Zhang, Qi Z
2022-07-11 15:18       ` Thomas Monjalon
2022-07-06  2:45 wenxuanx.wu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).