Noticed the other day, when the RDE dies the session engine may log the "Can't send message %u to RDE, ctl pipe closed" multiple times because the queue is still processed.
Since this error only happens after a "SE: Lost connection to RDE" error it does not anything to the crash log. This is why this should just be ignored. -- :wq Claudio Index: session.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/session.c,v retrieving revision 1.430 diff -u -p -r1.430 session.c --- session.c 27 Jun 2022 13:26:51 -0000 1.430 +++ session.c 13 Jul 2022 14:48:47 -0000 @@ -3506,11 +3506,9 @@ imsg_ctl_parent(int type, uint32_t peeri int imsg_ctl_rde(int type, pid_t pid, void *data, uint16_t datalen) { - if (ibuf_rde_ctl == NULL) { - log_warnx("Can't send message %u to RDE, ctl pipe closed", - type); + if (ibuf_rde_ctl == NULL) return (0); - } + /* * Use control socket to talk to RDE to bypass the queue of the * regular imsg socket. @@ -3521,10 +3519,8 @@ imsg_ctl_rde(int type, pid_t pid, void * int imsg_rde(int type, uint32_t peerid, void *data, uint16_t datalen) { - if (ibuf_rde == NULL) { - log_warnx("Can't send message %u to RDE, pipe closed", type); + if (ibuf_rde == NULL) return (0); - } return (imsg_compose(ibuf_rde, type, peerid, 0, -1, data, datalen)); }