Move PMTU discovery code into the TX path.
[tinc] / src / node.h
index b6db18b..08e6017 100644 (file)
@@ -57,11 +57,13 @@ typedef struct node_t {
        ecdsa_t *ecdsa;                         /* His public ECDSA key */
        sptps_t sptps;
 
+#ifndef DISABLE_LEGACY
        cipher_t *incipher;                     /* Cipher for UDP packets */
        digest_t *indigest;                     /* Digest for UDP packets */
 
        cipher_t *outcipher;                    /* Cipher for UDP packets */
        digest_t *outdigest;                    /* Digest for UDP packets */
+#endif
 
        int incompression;                      /* Compressionlevel, 0 = no compression */
        int outcompression;                     /* Compressionlevel, 0 = no compression */
@@ -85,11 +87,14 @@ typedef struct node_t {
        uint32_t farfuture;                     /* Packets in a row that have arrived from the far future */
        unsigned char* late;                    /* Bitfield marking late packets */
 
+       struct timeval udp_ping_sent;           /* Last time a ping probe was sent */
+       timeout_t udp_ping_timeout;             /* Ping timeout event */
+
        length_t mtu;                           /* Maximum size of packets to send to this node */
        length_t minmtu;                        /* Probed minimum MTU */
        length_t maxmtu;                        /* Probed maximum MTU */
        int mtuprobes;                          /* Number of probes */
-       timeout_t mtutimeout;                   /* Probe event */
+       struct timeval probe_sent_time;         /* Time the last probe was sent */
        struct timeval probe_time;              /* Time the last probe was sent or received */
        int probe_counter;                      /* Number of probes received since last burst was sent */
        float rtt;                              /* Last measured round trip time */