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: stable@dpdk.org
Signed-off-by: Wenxuan Wu <wenxuanx.wu@intel.com>
Tested-by: Zhimin Huang <zhiminx.huang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
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;