summaryrefslogtreecommitdiffstats
path: root/ffd/ffd.h
diff options
context:
space:
mode:
Diffstat (limited to 'ffd/ffd.h')
-rw-r--r--ffd/ffd.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/ffd/ffd.h b/ffd/ffd.h
index 83c4ecb..e7c48d7 100644
--- a/ffd/ffd.h
+++ b/ffd/ffd.h
@@ -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_ */