From: Maria Matejka Date: Mon, 10 Feb 2025 11:29:51 +0000 (+0100) Subject: Fix channel restart sequence X-Git-Tag: v3.0.2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9cf5417b017f71cf59b568978cecc7f12adbadbb;p=thirdparty%2Fbird.git Fix channel restart sequence If channel goes start -> pause -> start, the original code crashed but it's a valid sequence for protocol half-restart, going from UP to START and then back UP. --- diff --git a/nest/proto.c b/nest/proto.c index caf99829b..64c41dcc5 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -956,7 +956,7 @@ channel_set_state(struct channel *c, uint state) break; case CS_UP: - ASSERT(cs == CS_DOWN || cs == CS_START); + ASSERT(cs == CS_DOWN || cs == CS_START || cs == CS_PAUSE); if (cs == CS_DOWN) channel_do_start(c);