summaryrefslogtreecommitdiffstats
path: root/ffd/ffd.h
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2012-10-08 06:08:11 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2012-10-08 06:08:11 +0200
commite912f0374016bb4f21f6f4259c0d488738d98997 (patch)
treed3d63399c1d834eb0a1b6bda64febc207a469bfa /ffd/ffd.h
parentec21d1874e54cfb4ce2f0e91ba0310b378b60a4b (diff)
downloadffd-e912f0374016bb4f21f6f4259c0d488738d98997.tar
ffd-e912f0374016bb4f21f6f4259c0d488738d98997.zip
Send and handle seqno requests
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_ */