[v2] ethdev: add IPv6 DSCP option for modify field action

Message ID 20210126151335.17663-1-akozyrev@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series [v2] ethdev: add IPv6 DSCP option for modify field action |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing warning Testing issues

Commit Message

Alexander Kozyrev Jan. 26, 2021, 3:13 p.m. UTC
  IPv6 DSCP field ID is missing from the original list of Field IDs
for MODIFY_FIELD action. Add it to support IPv6 header fully.
Add ipv6_dscp option for the corresponding header field in testpmd.

Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

---
v1: https://patchwork.dpdk.org/patch/87271/
v2: Squashed with testpmd patch:
https://patchwork.dpdk.org/patch/87273/
---
 app/test-pmd/cmdline_flow.c  | 2 +-
 lib/librte_ethdev/rte_flow.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit Jan. 27, 2021, 11:52 a.m. UTC | #1
On 1/26/2021 3:13 PM, Alexander Kozyrev wrote:
> IPv6 DSCP field ID is missing from the original list of Field IDs
> for MODIFY_FIELD action. Add it to support IPv6 header fully.
> Add ipv6_dscp option for the corresponding header field in testpmd.
> 
> Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
> 
> Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> 

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk-next-net/main, thanks.
  

Patch

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 0618611ab1..fb1cba932b 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -592,7 +592,7 @@  static const char *const modify_field_ids[] = {
 	"start", "mac_dst", "mac_src",
 	"vlan_type", "vlan_id", "mac_type",
 	"ipv4_dscp", "ipv4_ttl", "ipv4_src", "ipv4_dst",
-	"ipv6_hoplimit", "ipv6_src", "ipv6_dst",
+	"ipv6_dscp", "ipv6_hoplimit", "ipv6_src", "ipv6_dst",
 	"tcp_port_src", "tcp_port_dst",
 	"tcp_seq_num", "tcp_ack_num", "tcp_flags",
 	"udp_port_src", "udp_port_dst",
diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
index 46e8ee70ab..68c68cdd6c 100644
--- a/lib/librte_ethdev/rte_flow.h
+++ b/lib/librte_ethdev/rte_flow.h
@@ -2842,6 +2842,7 @@  enum rte_flow_field_id {
 	RTE_FLOW_FIELD_IPV4_TTL,
 	RTE_FLOW_FIELD_IPV4_SRC,
 	RTE_FLOW_FIELD_IPV4_DST,
+	RTE_FLOW_FIELD_IPV6_DSCP,
 	RTE_FLOW_FIELD_IPV6_HOPLIMIT,
 	RTE_FLOW_FIELD_IPV6_SRC,
 	RTE_FLOW_FIELD_IPV6_DST,