aboutgitcodebugslistschat
path: root/tcp_splice.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-11-17 16:58:55 +1100
committerStefano Brivio <sbrivio@redhat.com>2022-11-25 01:35:32 +0100
commitca69c3f1964846b27f8333cd06f7594289cbf53b (patch)
treeea289d1244c82646134ee280b650b7dc73a509d2 /tcp_splice.c
parentb65d603e23d7f05c4974dcf22f3244d2ae987482 (diff)
downloadpasst-ca69c3f1964846b27f8333cd06f7594289cbf53b.tar
passt-ca69c3f1964846b27f8333cd06f7594289cbf53b.tar.gz
passt-ca69c3f1964846b27f8333cd06f7594289cbf53b.tar.bz2
passt-ca69c3f1964846b27f8333cd06f7594289cbf53b.tar.lz
passt-ca69c3f1964846b27f8333cd06f7594289cbf53b.tar.xz
passt-ca69c3f1964846b27f8333cd06f7594289cbf53b.tar.zst
passt-ca69c3f1964846b27f8333cd06f7594289cbf53b.zip
inany: Helper functions for handling addresses which could be IPv4 or IPv6
struct tcp_conn stores an address which could be IPv6 or IPv4 using a union. We can do this without an additional tag by encoding IPv4 addresses as IPv4-mapped IPv6 addresses. This approach is useful wider than the specific place in tcp_conn, so expose a new 'union inany_addr' like this from a new inany.h. Along with that create a number of helper functions to make working with these "inany" addresses easier. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tcp_splice.c')
-rw-r--r--tcp_splice.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/tcp_splice.c b/tcp_splice.c
index bfcf63d..2be9b77 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -52,6 +52,7 @@
#include "passt.h"
#include "log.h"
#include "tcp_splice.h"
+#include "inany.h"
#include "tcp_conn.h"