summaryrefslogtreecommitdiffstats
path: root/src/babel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/babel.h')
-rw-r--r--src/babel.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/babel.h b/src/babel.h
index 3e9b3fd..52abfd5 100644
--- a/src/babel.h
+++ b/src/babel.h
@@ -41,6 +41,8 @@
#define GP_BABEL_HELLO_TIMEOUT(interval) (16*(interval))
#define GP_BABEL_IHU_TIMEOUT(interval) ((interval)*7/2)
+#define GP_BABEL_UPDATE_TIMEOUT(interval) ((interval)*7/2) /* 3.5 intervals */
+#define GP_BABEL_UPDATE_REQUEST_TIMEOUT(interval) ((interval)*13/4) /* 3.25 intervals */
#define GP_BABEL_MAINTENANCE_INTERVAL GP_BABEL_HELLO_INTERVAL
@@ -169,9 +171,11 @@ void gp_babel_send_update(gmrf_t *gmrf, gmrf_context_t *ctx, gp_babel_iface_t *i
gp_babel_announce_t* gp_babel_announce_new(gmrf_t *gmrf, gmrf_context_t *ctx);
gp_babel_announce_t* gp_babel_announce_find(gmrf_t *gmrf, gmrf_context_t *ctx, const gp_babel_node_id_t *node, uint16_t type, uint16_t key);
gp_babel_announce_t* gp_babel_announce_get(gmrf_t *gmrf, gmrf_context_t *ctx, const gp_babel_node_id_t *node, uint16_t type, uint16_t key);
+void gp_babel_announce_update(gmrf_t *gmrf, gp_babel_announce_t *announce);
void gp_babel_announce_free(gmrf_t *gmrf, gmrf_context_t *ctx, gp_babel_announce_t *announce);
gp_babel_nexthop_t* gp_babel_announce_nexthop_new(gp_babel_announce_t *announce, gp_babel_neigh_t *neigh);
gp_babel_nexthop_t* gp_babel_announce_nexthop_find(const gp_babel_announce_t *announce, gp_babel_neigh_t *neigh);
+void gp_babel_announce_update_nexthop(gmrf_t *gmrf, gp_babel_announce_t *announce, gp_babel_nexthop_t *nexthop, gp_babel_metric_seqno_t ms, uint16_t interval);
#endif /* _GMRF_PROTO_BABEL_BABEL_H_ */