Re: bgpd less chatter on rde exit

2022-07-18 Thread Theo Buehler
On Mon, Jul 18, 2022 at 03:46:05PM +0200, Claudio Jeker wrote:
> 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.

ok

> 
> -- 
> :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 -  1.430
> +++ session.c 13 Jul 2022 14:48:47 -
> @@ -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));
>  }
> 



bgpd less chatter on rde exit

2022-07-18 Thread Claudio Jeker
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 -  1.430
+++ session.c   13 Jul 2022 14:48:47 -
@@ -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));
 }