[PATCH v1] app/testpmd: set srv6 header without any TLV

Rongwei Liu rongweil at nvidia.com
Tue Mar 28 11:36:32 CEST 2023


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



More information about the dev mailing list