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> --- v2: fix raw GTP PSC object creation. --- app/test-pmd/cmdline_flow.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index cfd55c598d..6cb1173385 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -11029,19 +11029,13 @@ 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); - rte_memcpy(data_tail - (*total_size), - &psc, sizeof(psc)); + struct rte_gtp_psc_generic_hdr *hdr; + + *total_size += RTE_ALIGN(sizeof(hdr), + sizeof(int32_t)); + hdr = (typeof(hdr))(data_tail - (*total_size)); + *hdr = opt->hdr; + hdr->ext_hdr_len = 1; gtp_psc = i; size = 0; } -- 2.34.1