diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2012-10-08 06:08:11 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2012-10-08 06:08:11 +0200 |
commit | e912f0374016bb4f21f6f4259c0d488738d98997 (patch) | |
tree | d3d63399c1d834eb0a1b6bda64febc207a469bfa /ffd/ffd.h | |
parent | ec21d1874e54cfb4ce2f0e91ba0310b378b60a4b (diff) | |
download | ffd-e912f0374016bb4f21f6f4259c0d488738d98997.tar ffd-e912f0374016bb4f21f6f4259c0d488738d98997.zip |
Send and handle seqno requests
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_ */ |