Commit a297a4f0 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Nest: Fix crash in route reload when some channels are not up.

Only channels that are up can be reloaded.
parent b7d7599c
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1952,7 +1952,7 @@ proto_cmd_reload(struct proto *p, uintptr_t dir, int cnt UNUSED)
  /* All channels must support reload */
  if (dir != CMD_RELOAD_OUT)
    WALK_LIST(c, p->channels)
      if (!channel_reloadable(c))
      if ((c->channel_state == CS_UP) && !channel_reloadable(c))
      {
	cli_msg(-8006, "%s: reload failed", p->name);
	return;
@@ -1963,11 +1963,13 @@ proto_cmd_reload(struct proto *p, uintptr_t dir, int cnt UNUSED)
  /* re-importing routes */
  if (dir != CMD_RELOAD_OUT)
    WALK_LIST(c, p->channels)
      if (c->channel_state == CS_UP)
	channel_request_reload(c);

  /* re-exporting routes */
  if (dir != CMD_RELOAD_IN)
    WALK_LIST(c, p->channels)
      if (c->channel_state == CS_UP)
	channel_request_feeding(c);

  cli_msg(-15, "%s: reloading", p->name);