static inline int channel_is_active(struct channel *c)
{ return (c->channel_state == CS_START) || (c->channel_state == CS_UP); }
+static inline int channel_reloadable(struct channel *c)
+{ return c->proto->reload_routes && c->reloadable; }
+
static inline void
channel_log_state_change(struct channel *c)
{
if ((f == FILTER_ACCEPT) || (f == FILTER_REJECT))
return;
+ /* No automatic reload for non-reloadable channels */
+ if (dir && !channel_reloadable(c))
+ valid = 0;
+
/* No automatic reload for BGP channels without in_table / out_table */
if (c->channel == &channel_bgp)
valid = dir ? !!c->in_table : !!c->out_table;
channel_log_state_change(c);
}
-static inline int
-channel_reloadable(struct channel *c)
-{
- return c->proto->reload_routes && c->reloadable;
-}
-
static void
channel_request_reload(struct channel *c)
{