Use generic GTP PSC header definition in raw handler. Fixes: 9213c50e36fa ("app/testpmd: support GTP PSC option in raw sets")
cc: sta...@dpdk.org Signed-off-by: Gregory Etelson <getel...@nvidia.com> Reviewed-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> --- app/test-pmd/cmdline_flow.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index cfd55c598d..f6b39f6332 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -11029,19 +11029,15 @@ cmd_set_raw_parsed(const struct buffer *in) } else { const struct rte_flow_item_gtp_psc *opt = item->spec; - struct { - uint8_t len; - uint8_t pdu_type:4; - uint8_t qfi:6; - uint8_t next; - } psc; - psc.len = sizeof(psc) / 4; - psc.pdu_type = opt->hdr.type; - psc.qfi = opt->hdr.qfi; - psc.next = 0; - *total_size += sizeof(psc); + struct rte_gtp_psc_generic_hdr hdr; + size_t hdr_size = + RTE_ALIGN(sizeof(hdr), sizeof(int32_t)); + + rte_memcpy(&hdr, &opt->hdr, sizeof(hdr)); + hdr.ext_hdr_len = 1; + *total_size += hdr_size; rte_memcpy(data_tail - (*total_size), - &psc, sizeof(psc)); + &hdr, hdr_size); gtp_psc = i; size = 0; } -- 2.34.1