DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR
@ 2015-07-07  7:58 Jingjing Wu
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 1/3] ethdev: change the input set of sctp flow Jingjing Wu
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Jingjing Wu @ 2015-07-07  7:58 UTC (permalink / raw)
  To: dev

This patch set fixes the issue SCTP flow cannot be matched by FVL's flow
director. The issue's root cause is that due to the NIC's firmware update,
the input set of sctp flow are changed to source IP, destination IP,
source port, destination port and Verification-Tag, which are source IP,
destination IP and Verification-Tag previously.
And because this fix will affect the struct rte_eth_fdir_flow, use
RTE_NEXT_ABI to avoid ABI breaking.

Jingjing Wu (3):
  ethdev: change the input set of sctp flow
  i40e: make sport and dport of sctp flow involved in match
  testpmd: add sport and dport configuration for sctp flow

 app/test-pmd/cmdline.c          | 12 ++++++++++++
 drivers/net/i40e/i40e_fdir.c    | 18 ++++++++++++++++++
 lib/librte_ether/rte_eth_ctrl.h |  8 ++++++++
 3 files changed, 38 insertions(+)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH 1/3] ethdev: change the input set of sctp flow
  2015-07-07  7:58 [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Jingjing Wu
@ 2015-07-07  7:58 ` Jingjing Wu
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 2/3] i40e: make sport and dport of sctp flow involved in match Jingjing Wu
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Jingjing Wu @ 2015-07-07  7:58 UTC (permalink / raw)
  To: dev

add sport and dport into the input set of sctp flow.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 lib/librte_ether/rte_eth_ctrl.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index 9187d6d..60e9aa6 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -328,6 +328,10 @@ struct rte_eth_tcpv4_flow {
  */
 struct rte_eth_sctpv4_flow {
 	struct rte_eth_ipv4_flow ip; /**< IPv4 fields to match. */
+#ifdef RTE_NEXT_ABI
+	uint16_t src_port;           /**< SCTP source port to match. */
+	uint16_t dst_port;           /**< SCTP destination port to match. */
+#endif
 	uint32_t verify_tag;         /**< Verify tag to match */
 };
 
@@ -362,6 +366,10 @@ struct rte_eth_tcpv6_flow {
  */
 struct rte_eth_sctpv6_flow {
 	struct rte_eth_ipv6_flow ip; /**< IPv6 fields to match. */
+#ifdef RTE_NEXT_ABI
+	uint16_t src_port;           /**< SCTP source port to match. */
+	uint16_t dst_port;           /**< SCTP destination port to match. */
+#endif
 	uint32_t verify_tag;         /**< Verify tag to match */
 };
 
-- 
1.9.3

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH 2/3] i40e: make sport and dport of sctp flow involved in match
  2015-07-07  7:58 [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Jingjing Wu
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 1/3] ethdev: change the input set of sctp flow Jingjing Wu
@ 2015-07-07  7:58 ` Jingjing Wu
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 3/3] testpmd: add sport and dport configuration for sctp flow Jingjing Wu
  2015-07-07  9:04 ` [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Liu, Yong
  3 siblings, 0 replies; 6+ messages in thread
From: Jingjing Wu @ 2015-07-07  7:58 UTC (permalink / raw)
  To: dev

Due to the NIC's firmware update, the input set of sctp flow is changed
to source IP, destination IP, source port, destination port and
Verification-Tag. This patch adds the sport and dport in the programming
packet of flow director.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 drivers/net/i40e/i40e_fdir.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index 4bf98d0..9c6c57f 100644
--- a/drivers/net/i40e/i40e_fdir.c
+++ b/drivers/net/i40e/i40e_fdir.c
@@ -815,6 +815,15 @@ i40e_fdir_construct_pkt(struct i40e_pf *pf,
 		sctp = (struct sctp_hdr *)(raw_pkt + sizeof(struct ether_hdr) +
 					   sizeof(struct ipv4_hdr));
 		payload = (unsigned char *)sctp + sizeof(struct sctp_hdr);
+#ifdef RTE_NEXT_ABI
+		/*
+		 * The source and destination fields in the transmitted packet
+		 * need to be presented in a reversed order with respect
+		 * to the expected received packets.
+		 */
+		sctp->src_port = fdir_input->flow.sctp4_flow.dst_port;
+		sctp->dst_port = fdir_input->flow.sctp4_flow.src_port;
+#endif
 		sctp->tag = fdir_input->flow.sctp4_flow.verify_tag;
 		break;
 
@@ -857,6 +866,15 @@ i40e_fdir_construct_pkt(struct i40e_pf *pf,
 		sctp = (struct sctp_hdr *)(raw_pkt + sizeof(struct ether_hdr) +
 					   sizeof(struct ipv6_hdr));
 		payload = (unsigned char *)sctp + sizeof(struct sctp_hdr);
+#ifdef RTE_NEXT_ABI
+		/*
+		 * The source and destination fields in the transmitted packet
+		 * need to be presented in a reversed order with respect
+		 * to the expected received packets.
+		 */
+		sctp->src_port = fdir_input->flow.sctp6_flow.dst_port;
+		sctp->dst_port = fdir_input->flow.sctp6_flow.src_port;
+#endif
 		sctp->tag = fdir_input->flow.sctp6_flow.verify_tag;
 		break;
 
-- 
1.9.3

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH 3/3] testpmd: add sport and dport configuration for sctp flow
  2015-07-07  7:58 [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Jingjing Wu
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 1/3] ethdev: change the input set of sctp flow Jingjing Wu
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 2/3] i40e: make sport and dport of sctp flow involved in match Jingjing Wu
@ 2015-07-07  7:58 ` Jingjing Wu
  2015-07-07  9:04 ` [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Liu, Yong
  3 siblings, 0 replies; 6+ messages in thread
From: Jingjing Wu @ 2015-07-07  7:58 UTC (permalink / raw)
  To: dev

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 app/test-pmd/cmdline.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 8142910..45a5da0 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -7812,6 +7812,12 @@ cmd_flow_director_filter_parsed(void *parsed_result,
 		IPV4_ADDR_TO_UINT(res->ip_src,
 			entry.input.flow.sctp4_flow.ip.src_ip);
 		/* need convert to big endian. */
+#ifdef RTE_NEXT_ABI
+		entry.input.flow.sctp4_flow.dst_port =
+				rte_cpu_to_be_16(res->port_dst);
+		entry.input.flow.sctp4_flow.src_port =
+				rte_cpu_to_be_16(res->port_src);
+#endif
 		entry.input.flow.sctp4_flow.verify_tag =
 				rte_cpu_to_be_32(res->verify_tag_value);
 		break;
@@ -7835,6 +7841,12 @@ cmd_flow_director_filter_parsed(void *parsed_result,
 		IPV6_ADDR_TO_ARRAY(res->ip_src,
 			entry.input.flow.sctp6_flow.ip.src_ip);
 		/* need convert to big endian. */
+#ifdef RTE_NEXT_ABI
+		entry.input.flow.sctp6_flow.dst_port =
+				rte_cpu_to_be_16(res->port_dst);
+		entry.input.flow.sctp6_flow.src_port =
+				rte_cpu_to_be_16(res->port_src);
+#endif
 		entry.input.flow.sctp6_flow.verify_tag =
 				rte_cpu_to_be_32(res->verify_tag_value);
 		break;
-- 
1.9.3

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR
  2015-07-07  7:58 [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Jingjing Wu
                   ` (2 preceding siblings ...)
  2015-07-07  7:58 ` [dpdk-dev] [PATCH 3/3] testpmd: add sport and dport configuration for sctp flow Jingjing Wu
@ 2015-07-07  9:04 ` Liu, Yong
  2015-07-19 22:54   ` Thomas Monjalon
  3 siblings, 1 reply; 6+ messages in thread
From: Liu, Yong @ 2015-07-07  9:04 UTC (permalink / raw)
  To: Wu, Jingjing, dev

Hi,
> -----Original Message-----
> From: Wu, Jingjing
> Sent: Tuesday, July 07, 2015 3:58 PM
> To: dev@dpdk.org
> Cc: Wu, Jingjing; Liu, Yong; Xu, HuilongX
> Subject: [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR
> 
> This patch set fixes the issue SCTP flow cannot be matched by FVL's flow
> director. The issue's root cause is that due to the NIC's firmware update,
> the input set of sctp flow are changed to source IP, destination IP,
> source port, destination port and Verification-Tag, which are source IP,
> destination IP and Verification-Tag previously.
> And because this fix will affect the struct rte_eth_fdir_flow, use
> RTE_NEXT_ABI to avoid ABI breaking.
> 
> Jingjing Wu (3):
>   ethdev: change the input set of sctp flow
>   i40e: make sport and dport of sctp flow involved in match
>   testpmd: add sport and dport configuration for sctp flow
> 
>  app/test-pmd/cmdline.c          | 12 ++++++++++++
>  drivers/net/i40e/i40e_fdir.c    | 18 ++++++++++++++++++
>  lib/librte_ether/rte_eth_ctrl.h |  8 ++++++++
>  3 files changed, 38 insertions(+)
> 
> --
> 1.9.3

Tested-by: Marvin Liu <yong.liu@intel.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR
  2015-07-07  9:04 ` [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Liu, Yong
@ 2015-07-19 22:54   ` Thomas Monjalon
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2015-07-19 22:54 UTC (permalink / raw)
  To: Wu, Jingjing; +Cc: dev

> > This patch set fixes the issue SCTP flow cannot be matched by FVL's flow
> > director. The issue's root cause is that due to the NIC's firmware update,
> > the input set of sctp flow are changed to source IP, destination IP,
> > source port, destination port and Verification-Tag, which are source IP,
> > destination IP and Verification-Tag previously.
> > And because this fix will affect the struct rte_eth_fdir_flow, use
> > RTE_NEXT_ABI to avoid ABI breaking.
> > 
> > Jingjing Wu (3):
> >   ethdev: change the input set of sctp flow
> >   i40e: make sport and dport of sctp flow involved in match
> >   testpmd: add sport and dport configuration for sctp flow
> 
> Tested-by: Marvin Liu <yong.liu@intel.com>

Applied, thanks

An ABI deprecation announce must be sent.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-07-19 22:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-07  7:58 [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Jingjing Wu
2015-07-07  7:58 ` [dpdk-dev] [PATCH 1/3] ethdev: change the input set of sctp flow Jingjing Wu
2015-07-07  7:58 ` [dpdk-dev] [PATCH 2/3] i40e: make sport and dport of sctp flow involved in match Jingjing Wu
2015-07-07  7:58 ` [dpdk-dev] [PATCH 3/3] testpmd: add sport and dport configuration for sctp flow Jingjing Wu
2015-07-07  9:04 ` [dpdk-dev] [PATCH 0/3] fix the issue sctp flow cannot be matched in FVL FDIR Liu, Yong
2015-07-19 22:54   ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).