net: add definition for dscp and ecn masks

Message ID 1561989544-12806-1-git-send-email-mb@smartsharesystems.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net: add definition for dscp and ecn masks |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Morten Brørup July 1, 2019, 1:59 p.m. UTC
  Added definitions of DSCP and ECN masks.

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/librte_net/rte_ip.h |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
  

Comments

Olivier Matz July 2, 2019, 9:32 a.m. UTC | #1
On Mon, Jul 01, 2019 at 03:59:04PM +0200, Morten Brørup wrote:
> Added definitions of DSCP and ECN masks.
> 
> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>

Acked-by: Olivier Matz <olivier.matz@6wind.com>

Thanks!
  
Ferruh Yigit July 2, 2019, 7:30 p.m. UTC | #2
On 7/2/2019 10:32 AM, Olivier Matz wrote:
> On Mon, Jul 01, 2019 at 03:59:04PM +0200, Morten Brørup wrote:
>> Added definitions of DSCP and ECN masks.
>>
>> Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
> 
> Acked-by: Olivier Matz <olivier.matz@6wind.com>
> 

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

Patch

diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index 059ec80..e69b863 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -58,6 +58,10 @@  struct rte_ipv4_hdr {
  */
 #define RTE_IPV4_IHL_MULTIPLIER	(4)
 
+/* Type of Service fields */
+#define RTE_IPV4_HDR_DSCP_MASK	(0xfc)
+#define RTE_IPV4_HDR_ECN_MASK	(0x03)
+
 /* Fragment Offset * Flags. */
 #define	RTE_IPV4_HDR_DF_SHIFT	14
 #define	RTE_IPV4_HDR_MF_SHIFT	13
@@ -354,8 +358,10 @@  struct rte_ipv6_hdr {
 /* IPv6 vtc_flow: IPv / TC / flow_label */
 #define RTE_IPV6_HDR_FL_SHIFT 0
 #define RTE_IPV6_HDR_TC_SHIFT 20
-#define RTE_IPV6_HDR_FL_MASK ((1u << RTE_IPV6_HDR_TC_SHIFT) - 1)
-#define RTE_IPV6_HDR_TC_MASK (0xff << RTE_IPV6_HDR_TC_SHIFT)
+#define RTE_IPV6_HDR_FL_MASK	((1u << RTE_IPV6_HDR_TC_SHIFT) - 1)
+#define RTE_IPV6_HDR_TC_MASK	(0xff << RTE_IPV6_HDR_TC_SHIFT)
+#define RTE_IPV6_HDR_DSCP_MASK	(0xfc << RTE_IPV6_HDR_TC_SHIFT)
+#define RTE_IPV6_HDR_ECN_MASK	(0x03 << RTE_IPV6_HDR_TC_SHIFT)
 
 /**
  * Process the pseudo-header checksum of an IPv6 header.