unsigned int udppacket: 1; /* 1 if the most recently received packet was UDP */
unsigned int validkey_in: 1; /* 1 if we have sent a valid key to him */
unsigned int has_address: 1; /* 1 if we know an external address for this node */
- unsigned int unused: 20;
+ unsigned int ping_sent: 1; /* 1 if we sent a UDP probe but haven't received the reply yet */
+ unsigned int unused: 19;
} node_status_t;
typedef struct node_t {
struct timeval udp_reply_sent; /* Last time a (gratuitous) UDP probe reply was sent */
struct timeval udp_ping_sent; /* Last time a UDP probe was sent */
- long int udp_ping_rtt; /* Round trip time of UDP ping (in microseconds) */
+ int udp_ping_rtt; /* Round trip time of UDP ping (in microseconds; or -1 if !status.udp_confirmed) */
timeout_t udp_ping_timeout; /* Ping timeout event */
struct timeval mtu_ping_sent; /* Last time a MTU probe was sent */