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>
This commit is contained in:
David Gibson 2024-01-16 11:50:31 +11:00 committed by Stefano Brivio
parent 00c6eb6b68
commit 17bbab1c97
4 changed files with 2 additions and 3 deletions

1
flow.c
View file

@ -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[] = {

View file

@ -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

1
tcp.c
View file

@ -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 */

View file

@ -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)