Nest: No automatic ROA reload on non-reloadable channels
This commit is contained in:
parent
d3782c72b9
commit
211fe69c98
1 changed files with 7 additions and 6 deletions
13
nest/proto.c
13
nest/proto.c
|
@ -62,6 +62,9 @@ static inline int proto_is_done(struct proto *p)
|
||||||
static inline int channel_is_active(struct channel *c)
|
static inline int channel_is_active(struct channel *c)
|
||||||
{ return (c->channel_state == CS_START) || (c->channel_state == CS_UP); }
|
{ 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
|
static inline void
|
||||||
channel_log_state_change(struct channel *c)
|
channel_log_state_change(struct channel *c)
|
||||||
{
|
{
|
||||||
|
@ -389,6 +392,10 @@ channel_roa_subscribe_filter(struct channel *c, int dir)
|
||||||
if ((f == FILTER_ACCEPT) || (f == FILTER_REJECT))
|
if ((f == FILTER_ACCEPT) || (f == FILTER_REJECT))
|
||||||
return;
|
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 */
|
/* No automatic reload for BGP channels without in_table / out_table */
|
||||||
if (c->channel == &channel_bgp)
|
if (c->channel == &channel_bgp)
|
||||||
valid = dir ? !!c->in_table : !!c->out_table;
|
valid = dir ? !!c->in_table : !!c->out_table;
|
||||||
|
@ -717,12 +724,6 @@ channel_request_feeding(struct channel *c)
|
||||||
channel_log_state_change(c);
|
channel_log_state_change(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
|
||||||
channel_reloadable(struct channel *c)
|
|
||||||
{
|
|
||||||
return c->proto->reload_routes && c->reloadable;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
channel_request_reload(struct channel *c)
|
channel_request_reload(struct channel *c)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue