aboutgitcodebugslistschat
path: root/flow.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2023-11-30 13:02:09 +1100
committerStefano Brivio <sbrivio@redhat.com>2023-12-04 09:51:02 +0100
commitf08ce92a134e83e7c36050f4482b140b937c8dbb (patch)
treecd0ab75fb606e95bac6dff4d747f2a4377941214 /flow.h
parent16ae03260800b8044efa541edcf43d4fb83b740d (diff)
downloadpasst-f08ce92a134e83e7c36050f4482b140b937c8dbb.tar
passt-f08ce92a134e83e7c36050f4482b140b937c8dbb.tar.gz
passt-f08ce92a134e83e7c36050f4482b140b937c8dbb.tar.bz2
passt-f08ce92a134e83e7c36050f4482b140b937c8dbb.tar.lz
passt-f08ce92a134e83e7c36050f4482b140b937c8dbb.tar.xz
passt-f08ce92a134e83e7c36050f4482b140b937c8dbb.tar.zst
passt-f08ce92a134e83e7c36050f4482b140b937c8dbb.zip
flow, tcp: Move TCP connection table to unified flow table
We want to generalise "connection" tracking to things other than true TCP connections. Continue implenenting this by renaming the TCP connection table to the "flow table" and moving it to flow.c. The definitions are split between flow.h and flow_table.h - we need this separation to avoid circular dependencies: the definitions in flow.h will be needed by many headers using the flow mechanism, but flow_table.h needs all those protocol specific headers in order to define the full flow table entry. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'flow.h')
-rw-r--r--flow.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/flow.h b/flow.h
index 351837d..3bf1f51 100644
--- a/flow.h
+++ b/flow.h
@@ -33,4 +33,12 @@ struct flow_common {
uint8_t type;
};
+#define FLOW_INDEX_BITS 17 /* 128k - 1 */
+#define FLOW_MAX MAX_FROM_BITS(FLOW_INDEX_BITS)
+
+#define FLOW_TABLE_PRESSURE 30 /* % of FLOW_MAX */
+#define FLOW_FILE_PRESSURE 30 /* % of c->nofile */
+
+union flow;
+
#endif /* FLOW_H */