aboutgitcodebugslistschat
path: root/passt.h
diff options
context:
space:
mode:
Diffstat (limited to 'passt.h')
-rw-r--r--passt.h35
1 files changed, 20 insertions, 15 deletions
diff --git a/passt.h b/passt.h
index 714e7e5..009cedb 100644
--- a/passt.h
+++ b/passt.h
@@ -20,20 +20,23 @@ struct tap_msg {
/**
* struct ctx - Execution context
- * @epollfd: file descriptor for epoll instance
- * @fd_unix: AF_UNIX socket for tap file descriptor
- * @v4: Enable IPv4 transport
- * @mac: Host MAC address
- * @mac_guest: Guest MAC address
- * @addr4: IPv4 address for external, routable interface
- * @mask4: IPv4 netmask, network order
- * @gw4: Default IPv4 gateway, network order
- * @dns4: IPv4 DNS address, network order
- * @v6: Enable IPv6 transport
- * @addr6: IPv6 address for external, routable interface
- * @gw6: Default IPv6 gateway
- * @dns4: IPv6 DNS address
- * @ifn: Name of routable interface
+ * @epollfd: file descriptor for epoll instance
+ * @fd_unix: AF_UNIX socket for tap file descriptor
+ * @v4: Enable IPv4 transport
+ * @mac: Host MAC address
+ * @mac_guest: Guest MAC address
+ * @addr4: IPv4 address for external, routable interface
+ * @addr4_seen: Latest IPv4 address seen as source from tap
+ * @mask4: IPv4 netmask, network order
+ * @gw4: Default IPv4 gateway, network order
+ * @dns4: IPv4 DNS address, network order
+ * @v6: Enable IPv6 transport
+ * @addr6: IPv6 address for external, routable interface
+ * @addr6_seen: Latest IPv6 global/site address seen as source from tap
+ * @addr6_ll_seen: Latest IPv6 link-local address seen as source from tap
+ * @gw6: Default IPv6 gateway
+ * @dns4: IPv6 DNS address
+ * @ifn: Name of routable interface
*/
struct ctx {
int epollfd;
@@ -43,13 +46,15 @@ struct ctx {
int v4;
uint32_t addr4;
+ uint32_t addr4_seen;
uint32_t mask4;
uint32_t gw4;
uint32_t dns4;
int v6;
struct in6_addr addr6;
- struct in6_addr addr6_guest;
+ struct in6_addr addr6_seen;
+ struct in6_addr addr6_ll_seen;
struct in6_addr gw6;
struct in6_addr dns6;