diff options
Diffstat (limited to 'ffd/ffd.h')
-rw-r--r-- | ffd/ffd.h | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -39,7 +39,7 @@ #define FFD_HELLO_INTERVAL 400 #define FFD_IHU_INTERVAL (3*FFD_HELLO_INTERVAL) -#define FFD_UPDATE_INTERVAL 6000 +#define FFD_UPDATE_INTERVAL 3000 #define FFD_HELLO_TIMEOUT(interval) (16*(interval)) #define FFD_IHU_TIMEOUT(interval) ((interval)*7/2) @@ -195,5 +195,13 @@ void ffd_send_hellos(void); void ffd_send_update(ffd_iface_t *iface, ffd_neigh_t *neigh, ffd_announce_t *announce, bool with_data); void ffd_send_retract(ffd_neigh_t *neigh, ffd_node_id_t node, uint16_t type, uint16_t key); void ffd_send_announce_request(ffd_iface_t *iface, ffd_neigh_t *neigh, ffd_node_id_t node, uint16_t type, uint16_t key, bool with_data); +void ffd_send_seqno_request(ffd_neigh_t *neigh, ffd_announce_t *announce, uint16_t seqno); + +static inline void ffd_send_seqno_request_for(ffd_neigh_t *neigh, ffd_announce_t *announce) { + if (FFD_IS_INFINITY(announce->feasibility_distance)) + return; + + ffd_send_seqno_request(neigh, announce, announce->feasibility_distance.seqno+1); +} #endif /* _FFD_FFD_H_ */ |