When the type field of the IPv6 routing extension is 4, it means segment routing header.
In this case, set the last_entry to be segment_left minus 1 if the user doesn't specify the header length explicitly. Signed-off-by: Rongwei Liu <rongw...@nvidia.com> --- app/test-pmd/cmdline_flow.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 5fbc450849..64549c037d 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -12817,6 +12817,9 @@ cmd_set_raw_parsed(const struct buffer *in) size = sizeof(struct rte_ipv6_routing_ext) + (ext->hdr.segments_left << 4); ext->hdr.hdr_len = ext->hdr.segments_left << 1; + /* Srv6 without TLV. */ + if (ext->hdr.type == 4) + ext->hdr.last_entry = ext->hdr.segments_left - 1; } else { size = sizeof(struct rte_ipv6_routing_ext) + (ext->hdr.hdr_len << 3); -- 2.27.0