1
0
mirror of https://passt.top/passt synced 2024-07-01 23:42:41 +00:00
passt/passt.h
Stefano Brivio cd14bff5ea tcp: Add struct for TCP execution context, move hash_secret to it
We don't need to keep small data as static variables, move the only
small variable we have so far to the new struct.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2021-03-17 10:57:41 +01:00

44 lines
1019 B
C

#define UNIX_SOCK_PATH "/tmp/passt.socket"
#include "tcp.h"
/**
* 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
*/
struct ctx {
int epollfd;
int fd_unix;
unsigned char mac[ETH_ALEN];
unsigned char mac_guest[ETH_ALEN];
int v4;
unsigned long addr4;
unsigned long mask4;
unsigned long gw4;
unsigned long dns4;
int v6;
struct in6_addr addr6;
struct in6_addr addr6_guest;
struct in6_addr gw6;
struct in6_addr dns6;
char ifn[IF_NAMESIZE];
struct tcp_ctx tcp;
};