Thanks Stuart and Claudio for your help, and thanks Claudio for your follow up fix :)
Much Obliged, Tom Smyth On Fri, 12 Sept 2025 at 12:44, Claudio Jeker <[email protected]> wrote: > > On Fri, Sep 12, 2025 at 11:04:08AM -0000, Stuart Henderson wrote: > > On 2025-09-11, Tom Smyth <[email protected]> wrote: > > > Folks, > > > has anyone come across an issue with 7.6 and 7.7 OpenBSD where bgpd > > > process (the one running as root is running at a high cpu load > > > > > > see top -S and ps-aux output below, and bgp summary ... > > > > > > the number of messages seem to be low > > > > > > there are no errors or unusal messages in /var/log/daemon > > > > > > load averages: 1.07, 1.02, 0.92 > > > ntu-gen4- 20:09:05 > > > 68 processes: 66 idle, 2 on processor > > > up 0 days > > > 00:38:54 > > > CPU0 states: 20.9% user, 0.0% nice, 35.2% sys, 2.4% spin, 0.0% > > > intr, 41.4% idle > > > CPU1 states: 14.9% user, 0.0% nice, 28.5% sys, 0.8% spin, 0.0% > > > intr, 55.8% idle > > > Memory: Real: 63M/336M act/tot Free: 3554M Cache: 162M Swap: 0K/0K > > > > > > PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU > > > COMMAND > > > 10792 root 64 0 1660K 1716K onproc/0 - 38:35 99.02% bgpd > > > > You might get clues from ktrace: > > > > ktrace -p 10792; sleep 1; ktrace -C > > kdump > somefile > > > > I suggested the same to Tom and he already provided me with the kdump. > The fix for this issue is on tech@ > https://marc.info/?l=openbsd-tech&m=175767683506055&w=2 > and below > > -- > :wq Claudio > > Index: pfkey.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/pfkey.c,v > diff -u -p -r1.72 pfkey.c > --- pfkey.c 27 Feb 2025 14:03:32 -0000 1.72 > +++ pfkey.c 12 Sep 2025 11:27:44 -0000 > @@ -453,13 +453,15 @@ pfkey_reply(int sd, uint32_t *spi) > > if (hdr.sadb_msg_errno != 0) { > errno = hdr.sadb_msg_errno; > + > + /* discard error message */ > + if (read(sd, &hdr, sizeof(hdr)) == -1) > + log_warn("pfkey read"); > + > if (errno == ESRCH) > return (0); > else { > log_warn("pfkey"); > - /* discard error message */ > - if (read(sd, &hdr, sizeof(hdr)) == -1) > - log_warn("pfkey read"); > return (-1); > } > } > -- Kindest regards, Tom Smyth.

