[PATCH v3 08/23] gro: include headers directly

Stephen Hemminger <[email protected]>
Newsgroups org.dpdk.dev
Message-ID <[email protected]>
The gro library was getting headers such as VXLAN implicitly
via rte_ethdev.h.
This will change, so include the needed headers directly.
Use iwyu to make sure all headers are covered.

Signed-off-by: Stephen Hemminger <[email protected]>
---
 lib/gro/gro_tcp4.c       |  9 ++++++++-
 lib/gro/gro_tcp6.c       |  9 ++++++++-
 lib/gro/gro_vxlan_tcp4.c | 10 +++++++++-
 lib/gro/gro_vxlan_udp4.c |  9 ++++++++-
 lib/gro/rte_gro.c        |  9 ++++++++-
 5 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/lib/gro/gro_tcp4.c b/lib/gro/gro_tcp4.c
index 855cc7a71d..3997fb8bf1 100644
--- a/lib/gro/gro_tcp4.c
+++ b/lib/gro/gro_tcp4.c
@@ -2,9 +2,16 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
+#include <stddef.h>
+
+#include <rte_branch_prediction.h>
+#include <rte_byteorder.h>
+#include <rte_common.h>
+#include <rte_ether.h>
 #include <rte_malloc.h>
 #include <rte_mbuf.h>
-#include <rte_ethdev.h>
+#include <rte_ip.h>
+#include <rte_tcp.h>
 
 #include "gro_tcp4.h"
 #include "gro_tcp_internal.h"
diff --git a/lib/gro/gro_tcp6.c b/lib/gro/gro_tcp6.c
index ab4cd6c68b..4e1ae596b7 100644
--- a/lib/gro/gro_tcp6.c
+++ b/lib/gro/gro_tcp6.c
@@ -2,9 +2,16 @@
  * Copyright(c) 2023 Intel Corporation
  */
 
+#include <stdbool.h>
+
+#include <rte_branch_prediction.h>
+#include <rte_byteorder.h>
+#include <rte_common.h>
+#include <rte_ether.h>
 #include <rte_malloc.h>
 #include <rte_mbuf.h>
-#include <rte_ethdev.h>
+#include <rte_ip.h>
+#include <rte_tcp.h>
 
 #include "gro_tcp6.h"
 #include "gro_tcp_internal.h"
diff --git a/lib/gro/gro_vxlan_tcp4.c b/lib/gro/gro_vxlan_tcp4.c
index 29d4a2e13d..650d02eb74 100644
--- a/lib/gro/gro_vxlan_tcp4.c
+++ b/lib/gro/gro_vxlan_tcp4.c
@@ -2,9 +2,17 @@
  * Copyright(c) 2018 Intel Corporation
  */
 
+#include <stddef.h>
+
+#include <rte_branch_prediction.h>
+#include <rte_byteorder.h>
+#include <rte_common.h>
 #include <rte_malloc.h>
 #include <rte_mbuf.h>
-#include <rte_ethdev.h>
+#include <rte_ether.h>
+#include <rte_vxlan.h>
+#include <rte_ip.h>
+#include <rte_tcp.h>
 #include <rte_udp.h>
 
 #include "gro_vxlan_tcp4.h"
diff --git a/lib/gro/gro_vxlan_udp4.c b/lib/gro/gro_vxlan_udp4.c
index ca8cee270d..bdfa8d6d20 100644
--- a/lib/gro/gro_vxlan_udp4.c
+++ b/lib/gro/gro_vxlan_udp4.c
@@ -2,9 +2,16 @@
  * Copyright(c) 2020 Inspur Corporation
  */
 
+#include <stddef.h>
+
+#include <rte_branch_prediction.h>
+#include <rte_byteorder.h>
+#include <rte_common.h>
 #include <rte_malloc.h>
 #include <rte_mbuf.h>
-#include <rte_ethdev.h>
+#include <rte_ether.h>
+#include <rte_vxlan.h>
+#include <rte_ip.h>
 #include <rte_udp.h>
 
 #include "gro_vxlan_udp4.h"
diff --git a/lib/gro/rte_gro.c b/lib/gro/rte_gro.c
index 578cc9b801..5bccd3cbac 100644
--- a/lib/gro/rte_gro.c
+++ b/lib/gro/rte_gro.c
@@ -2,12 +2,19 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
+#include <stddef.h>
+
 #include <eal_export.h>
+#include <rte_branch_prediction.h>
+#include <rte_common.h>
 #include <rte_malloc.h>
+#include <rte_mbuf.h>
 #include <rte_cycles.h>
-#include <rte_ethdev.h>
+#include <rte_ether.h>
+#include <rte_vxlan.h>
 
 #include "rte_gro.h"
+#include "gro_tcp.h"
 #include "gro_tcp4.h"
 #include "gro_tcp6.h"
 #include "gro_udp4.h"
-- 
2.53.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.