FW: [PATCH] librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h

Message ID 98CBD80474FA8B44BF855DF32C47DC35B42838@smartserver.smartshare.dk (mailing list archive)
State Not Applicable, archived
Headers
Series FW: [PATCH] librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Morten Brørup May 10, 2019, 7:01 a.m. UTC
  Hi Olivier,

I submitted the below patch about a month ago, and nothing happened. The patch is simple and obvious. Is something wrong with it, or did I not follow the submission process correctly?


Med venlig hilsen / kind regards

Morten Brørup
CTO


SmartShare Systems A/S
Tonsbakken 16-18
DK-2740 Skovlunde
Denmark

Office      +45 70 20 00 93
Direct      +45 89 93 50 22
Mobile     +45 25 40 82 12

mb@smartsharesystems.com
www.smartsharesystems.com
-----Original Message-----
From: Morten Brørup [mailto:mb@smartsharesystems.com] 
Sent: Friday, April 5, 2019 11:55 AM
To: olivier.matz@6wind.com; thomas@monjalon.net; ferruh.yigit@intel.com; arybchenko@solarflare.com
Cc: dev@dpdk.org; Morten Brørup
Subject: [PATCH] librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
 app/test-pmd/cmdline.c           |    4 ++--
 drivers/net/e1000/igb_ethdev.c   |    8 ++++----
 lib/librte_ethdev/rte_eth_ctrl.h |    8 +-------
 lib/librte_net/rte_tcp.h         |   13 +++++++++++++
 4 files changed, 20 insertions(+), 13 deletions(-)
  

Comments

Ferruh Yigit May 10, 2019, 9:40 a.m. UTC | #1
On 5/10/2019 8:01 AM, Morten Brørup wrote:
> Hi Olivier,
> 
> I submitted the below patch about a month ago, and nothing happened. The patch is simple and obvious. Is something wrong with it, or did I not follow the submission process correctly?

Hi Morten,

I don't see this mail in mail list (and list archive), or in my inbox (it looks
like I am in cc in original mail).

Something may be went wrong in your side while sending, can you please send the
patch again?

> 
> 
> Med venlig hilsen / kind regards
> 
> Morten Brørup
> CTO
> 
> 
> SmartShare Systems A/S
> Tonsbakken 16-18
> DK-2740 Skovlunde
> Denmark
> 
> Office      +45 70 20 00 93
> Direct      +45 89 93 50 22
> Mobile     +45 25 40 82 12
> 
> mb@smartsharesystems.com
> www.smartsharesystems.com
> -----Original Message-----
> From: Morten Brørup [mailto:mb@smartsharesystems.com] 
> Sent: Friday, April 5, 2019 11:55 AM
> To: olivier.matz@6wind.com; thomas@monjalon.net; ferruh.yigit@intel.com; arybchenko@solarflare.com
> Cc: dev@dpdk.org; Morten Brørup
> Subject: [PATCH] librte_net: define TCP flags in rte_tcp.h instead of in rte_eth_ctrl.h
> 
> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>

<...>
  
Morten Brørup May 10, 2019, 1:46 p.m. UTC | #2
Hi Ferruh,

Thanks for the detailed feedback. There seems to be a problem with my mail configuration on our development server. I will fix and send again.

Sorry about the inconvenience.


Med venlig hilsen / kind regards
- Morten Brørup

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Friday, May 10, 2019 11:41 AM
> To: Morten Brørup; Olivier Matz
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] FW: [PATCH] librte_net: define TCP flags in
> rte_tcp.h instead of in rte_eth_ctrl.h
> 
> On 5/10/2019 8:01 AM, Morten Brørup wrote:
> > Hi Olivier,
> >
> > I submitted the below patch about a month ago, and nothing happened.
> The patch is simple and obvious. Is something wrong with it, or did I
> not follow the submission process correctly?
> 
> Hi Morten,
> 
> I don't see this mail in mail list (and list archive), or in my inbox
> (it looks
> like I am in cc in original mail).
> 
> Something may be went wrong in your side while sending, can you please
> send the
> patch again?
> 
> >
> >
> > Med venlig hilsen / kind regards
> >
> > Morten Brørup
> > CTO
> >
> >
> > SmartShare Systems A/S
> > Tonsbakken 16-18
> > DK-2740 Skovlunde
> > Denmark
> >
> > Office      +45 70 20 00 93
> > Direct      +45 89 93 50 22
> > Mobile     +45 25 40 82 12
> >
> > mb@smartsharesystems.com
> > www.smartsharesystems.com
> > -----Original Message-----
> > From: Morten Brørup [mailto:mb@smartsharesystems.com]
> > Sent: Friday, April 5, 2019 11:55 AM
> > To: olivier.matz@6wind.com; thomas@monjalon.net;
> ferruh.yigit@intel.com; arybchenko@solarflare.com
> > Cc: dev@dpdk.org; Morten Brørup
> > Subject: [PATCH] librte_net: define TCP flags in rte_tcp.h instead of
> in rte_eth_ctrl.h
> >
> > Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> 
> <...>
>
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index ee50e45..59a45c1 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -9983,7 +9983,7 @@  cmd_2tuple_filter_parsed(void *parsed_result,
 			" when protocol is TCP.\n");
 		return;
 	}
-	if (res->tcp_flags_value > TCP_FLAG_ALL) {
+	if (res->tcp_flags_value > RTE_NTUPLE_TCP_FLAGS_MASK) {
 		printf("invalid TCP flags.\n");
 		return;
 	}
@@ -10141,7 +10141,7 @@  cmd_5tuple_filter_parsed(void *parsed_result,
 			" when protocol is TCP.\n");
 		return;
 	}
-	if (res->tcp_flags_value > TCP_FLAG_ALL) {
+	if (res->tcp_flags_value > RTE_NTUPLE_TCP_FLAGS_MASK) {
 		printf("invalid TCP flags.\n");
 		return;
 	}
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index b897e8a..c2fe19a 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -3702,7 +3702,7 @@  ntuple_filter_to_2tuple(struct rte_eth_ntuple_filter *filter,
 		return -EINVAL;
 	if (filter->priority > E1000_2TUPLE_MAX_PRI)
 		return -EINVAL;  /* filter index is out of range. */
-	if (filter->tcp_flags > TCP_FLAG_ALL)
+	if (filter->tcp_flags > RTE_NTUPLE_TCP_FLAGS_MASK)
 		return -EINVAL;  /* flags is invalid. */
 
 	switch (filter->dst_port_mask) {
@@ -3782,7 +3782,7 @@  igb_inject_2uple_filter(struct rte_eth_dev *dev,
 		ttqf &= ~E1000_TTQF_MASK_ENABLE;
 
 	/* tcp flags bits setting. */
-	if (filter->filter_info.tcp_flags & TCP_FLAG_ALL) {
+	if (filter->filter_info.tcp_flags & RTE_NTUPLE_TCP_FLAGS_MASK) {
 		if (filter->filter_info.tcp_flags & TCP_URG_FLAG)
 			imir_ext |= E1000_IMIREXT_CTRL_URG;
 		if (filter->filter_info.tcp_flags & TCP_ACK_FLAG)
@@ -4188,7 +4188,7 @@  ntuple_filter_to_5tuple_82576(struct rte_eth_ntuple_filter *filter,
 		return -EINVAL;
 	if (filter->priority > E1000_2TUPLE_MAX_PRI)
 		return -EINVAL;  /* filter index is out of range. */
-	if (filter->tcp_flags > TCP_FLAG_ALL)
+	if (filter->tcp_flags > RTE_NTUPLE_TCP_FLAGS_MASK)
 		return -EINVAL;  /* flags is invalid. */
 
 	switch (filter->dst_ip_mask) {
@@ -4318,7 +4318,7 @@  igb_inject_5tuple_filter_82576(struct rte_eth_dev *dev,
 	imir |= filter->filter_info.priority << E1000_IMIR_PRIORITY_SHIFT;
 
 	/* tcp flags bits setting. */
-	if (filter->filter_info.tcp_flags & TCP_FLAG_ALL) {
+	if (filter->filter_info.tcp_flags & RTE_NTUPLE_TCP_FLAGS_MASK) {
 		if (filter->filter_info.tcp_flags & TCP_URG_FLAG)
 			imir_ext |= E1000_IMIREXT_CTRL_URG;
 		if (filter->filter_info.tcp_flags & TCP_ACK_FLAG)
diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
index 5ea8ae2..f21e84b 100644
--- a/lib/librte_ethdev/rte_eth_ctrl.h
+++ b/lib/librte_ethdev/rte_eth_ctrl.h
@@ -184,13 +184,7 @@  struct rte_eth_syn_filter {
 		RTE_NTUPLE_FLAGS_DST_PORT | \
 		RTE_NTUPLE_FLAGS_PROTO)
 
-#define TCP_URG_FLAG 0x20
-#define TCP_ACK_FLAG 0x10
-#define TCP_PSH_FLAG 0x08
-#define TCP_RST_FLAG 0x04
-#define TCP_SYN_FLAG 0x02
-#define TCP_FIN_FLAG 0x01
-#define TCP_FLAG_ALL 0x3F
+#define RTE_NTUPLE_TCP_FLAGS_MASK 0x3F /**< TCP flags filter can match. */
 
 /**
  * A structure used to define the ntuple filter entry
diff --git a/lib/librte_net/rte_tcp.h b/lib/librte_net/rte_tcp.h
index 91f5898..2e89b5e 100644
--- a/lib/librte_net/rte_tcp.h
+++ b/lib/librte_net/rte_tcp.h
@@ -2,6 +2,7 @@ 
  * Copyright(c) 1982, 1986, 1990, 1993
  *      The Regents of the University of California.
  * Copyright(c) 2010-2014 Intel Corporation.
+ * Copyright(c) 2019 SmartShare Systems.
  * All rights reserved.
  */
 
@@ -35,6 +36,18 @@  struct tcp_hdr {
 	uint16_t tcp_urp;   /**< TCP urgent pointer, if any. */
 } __attribute__((__packed__));
 
+/**
+ * TCP Flags
+ */
+#define TCP_CWR_FLAG 0x80 /**< Congestion Window Reduced */
+#define TCP_ECE_FLAG 0x40 /**< ECN-Echo */
+#define TCP_URG_FLAG 0x20 /**< Urgent Pointer field significant */
+#define TCP_ACK_FLAG 0x10 /**< Acknowledgment field significant */
+#define TCP_PSH_FLAG 0x08 /**< Push Function */
+#define TCP_RST_FLAG 0x04 /**< Reset the connection */
+#define TCP_SYN_FLAG 0x02 /**< Synchronize sequence numbers */
+#define TCP_FIN_FLAG 0x01 /**< No more data from sender */
+
 #ifdef __cplusplus
 }
 #endif