aboutgitcodebugslistschat
path: root/icmp.h
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2021-03-17 10:57:44 +0100
committerStefano Brivio <sbrivio@redhat.com>2021-03-18 12:58:03 +0100
commit1d807fc720bda7ec446c683bbc1a5e32897ca04e (patch)
tree7dc59149a94817fa5eddc6aa6e132fa1a7335f19 /icmp.h
parentd32edee60a938c3ffdb227a94e1f3afac0e40177 (diff)
downloadpasst-1d807fc720bda7ec446c683bbc1a5e32897ca04e.tar
passt-1d807fc720bda7ec446c683bbc1a5e32897ca04e.tar.gz
passt-1d807fc720bda7ec446c683bbc1a5e32897ca04e.tar.bz2
passt-1d807fc720bda7ec446c683bbc1a5e32897ca04e.tar.lz
passt-1d807fc720bda7ec446c683bbc1a5e32897ca04e.tar.xz
passt-1d807fc720bda7ec446c683bbc1a5e32897ca04e.tar.zst
passt-1d807fc720bda7ec446c683bbc1a5e32897ca04e.zip
passt: Introduce ICMP echo proxy
It's nice to be able to confirm connectivity using ICMP or ICMPv6 echo requests, and "ping" sockets on Linux (IPPROTO_ICMP datagram) allow us to do that without any special capability. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'icmp.h')
-rw-r--r--icmp.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/icmp.h b/icmp.h
new file mode 100644
index 0000000..7820fbe
--- /dev/null
+++ b/icmp.h
@@ -0,0 +1,20 @@
+#ifndef ICMP_H
+#define ICMP_H
+
+struct ctx;
+
+void icmp_sock_handler(struct ctx *c, int s, uint32_t events);
+void icmp_tap_handler(struct ctx *c, int af, void *addr, char *in, size_t len);
+int icmp_sock_init(struct ctx *c);
+
+/**
+ * struct icmp_ctx - Execution context for ICMP routines
+ * @s4: ICMP socket number
+ * @s6: ICMPv6 socket number
+ */
+struct icmp_ctx {
+ int s4;
+ int s6;
+};
+
+#endif /* ICMP_H */