aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-01-16 11:50:31 +1100
committerStefano Brivio <sbrivio@redhat.com>2024-01-22 23:34:55 +0100
commit17bbab1c97516048fdcc6c2e6c8efc524e56e71e (patch)
tree97129289111d1a0991c6a268cc8084d0f96d9837
parent00c6eb6b68d9bc5abeabcd167882f5ef17f28143 (diff)
downloadpasst-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.tar
passt-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.tar.gz
passt-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.tar.bz2
passt-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.tar.lz
passt-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.tar.xz
passt-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.tar.zst
passt-17bbab1c97516048fdcc6c2e6c8efc524e56e71e.zip
flow: Make flow_table.h #include the protocol specific headers it needs
flow_table.h, the lower level flow header relies on having the struct definitions for every protocol specific flow type - so far that means tcp_conn.h. It doesn't include it itself, so tcp_conn.h must be included before flow_table.h. That's ok for now, but as we use the flow table for more things, flow_table.h will need the structs for all of them, which means the protocol specific .c files would need to include tcp_conn.h _and_ the equivalents for every other flow type before flow_table.h every time, which is weird. So, although we *mostly* lean towards the include style where .c files need to handle the include dependencies, in this case it makes more sense to have flow_table.h include all the protocol specific headers it needs. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--flow.c1
-rw-r--r--flow_table.h2
-rw-r--r--tcp.c1
-rw-r--r--tcp_splice.c1
4 files changed, 2 insertions, 3 deletions
diff --git a/flow.c b/flow.c
index a8aeb15..c3f4886 100644
--- a/flow.c
+++ b/flow.c
@@ -15,7 +15,6 @@
#include "siphash.h"
#include "inany.h"
#include "flow.h"
-#include "tcp_conn.h"
#include "flow_table.h"
const char *flow_type_str[] = {
diff --git a/flow_table.h b/flow_table.h
index 0dee66f..e805f10 100644
--- a/flow_table.h
+++ b/flow_table.h
@@ -7,6 +7,8 @@
#ifndef FLOW_TABLE_H
#define FLOW_TABLE_H
+#include "tcp_conn.h"
+
/**
* union flow - Descriptor for a logical packet flow (e.g. connection)
* @f: Fields common between all variants
diff --git a/tcp.c b/tcp.c
index 5b37662..22c3a0e 100644
--- a/tcp.c
+++ b/tcp.c
@@ -298,7 +298,6 @@
#include "inany.h"
#include "flow.h"
-#include "tcp_conn.h"
#include "flow_table.h"
/* Sides of a flow as we use them in "tap" connections */
diff --git a/tcp_splice.c b/tcp_splice.c
index 0e2e04c..a91cb37 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -56,7 +56,6 @@
#include "inany.h"
#include "flow.h"
-#include "tcp_conn.h"
#include "flow_table.h"
#define MAX_PIPE_SIZE (8UL * 1024 * 1024)