CF_DECLS
-CF_KEYWORDS(PIPE, PEER, TABLE)
+CF_KEYWORDS(PIPE, PEER, TABLE, DELAY)
CF_GRAMMAR
| pipe_proto proto_item ';'
| pipe_proto channel_item ';'
| pipe_proto PEER TABLE rtable ';' { PIPE_CFG->peer = $4; }
+ | pipe_proto DELAY expr_us ';' { PIPE_CFG->delay = $3; }
;
CF_CODE
P->preexport = pipe_preexport;
P->reload_routes = pipe_reload_routes;
+ p->delay = cf->delay;
pipe_configure_channels(p, cf);
return P;
struct pipe_proto *p = (void *) P;
struct pipe_config *cf = (void *) CF;
+ if (p->delay != cf->delay)
+ return 0;
+
return pipe_configure_channels(p, cf);
}
struct pipe_config {
struct proto_config c;
struct rtable_config *peer; /* Table we're connected to */
+ btime delay;
};
struct pipe_proto {
struct proto p;
struct channel *pri;
struct channel *sec;
+ btime delay;
};
#endif