aboutgitcodebugslistschat
path: root/tcp_internal.h
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-07-18 15:26:35 +1000
committerStefano Brivio <sbrivio@redhat.com>2024-07-19 18:32:59 +0200
commitacca4235c46f0b2ecceb991d75a09616309afb3c (patch)
tree92fb7375f3481b958f96c8124db6f5b7dd469874 /tcp_internal.h
parent163a339214dd34696ce485930f35ed21c86057f0 (diff)
downloadpasst-acca4235c46f0b2ecceb991d75a09616309afb3c.tar
passt-acca4235c46f0b2ecceb991d75a09616309afb3c.tar.gz
passt-acca4235c46f0b2ecceb991d75a09616309afb3c.tar.bz2
passt-acca4235c46f0b2ecceb991d75a09616309afb3c.tar.lz
passt-acca4235c46f0b2ecceb991d75a09616309afb3c.tar.xz
passt-acca4235c46f0b2ecceb991d75a09616309afb3c.tar.zst
passt-acca4235c46f0b2ecceb991d75a09616309afb3c.zip
flow, tcp: Generalise TCP hash table to general flow hash table
Move the data structures and helper functions for the TCP hash table to flow.c, making it a general hash table indexing sides of flows. This is largely code motion and straightforward renames. There are two semantic changes: * flow_lookup_af() now needs to verify that the entry has a matching protocol and interface as well as matching addresses and ports. * We double the size of the hash table, because it's now at least theoretically possible for both sides of each flow to be hashed. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tcp_internal.h')
-rw-r--r--tcp_internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/tcp_internal.h b/tcp_internal.h
index ac6d4b2..8b60aab 100644
--- a/tcp_internal.h
+++ b/tcp_internal.h
@@ -42,6 +42,7 @@
#define TAPSIDE(conn_) ((conn_)->f.pif[1] == PIF_TAP)
#define TAPFLOW(conn_) (&((conn_)->f.side[TAPSIDE(conn_)]))
+#define TAP_SIDX(conn_) (FLOW_SIDX((conn_), TAPSIDE(conn_)))
#define CONN_V4(conn) (!!inany_v4(&TAPFLOW(conn)->faddr))
#define CONN_V6(conn) (!CONN_V4(conn))