bgpd: cleanup optparamlen handling in session_open

2023-10-27 Thread Claudio Jeker
In the big ibuf API refactor I also broke the optparamlen handling by using one variable for two things. All the size handling in session_open() can be simplified since ibuf_size() is cheap to call. I think the result is cleaner than the code before. It is still somewhat funky because there are

bgpd fix holdtime in session_open

2023-10-27 Thread Claudio Jeker
While looking for something else I noticed this error. The holdtime is written into the buffer with ibuf_add_n16() so the htons() call is done in the ibuf add call. So there is no need for the htons() when assigning holdtime. -- :wq Claudio Index: session.c

Re: ibuf free fd on close

2023-10-24 Thread Claudio Jeker
On Tue, Oct 24, 2023 at 03:50:47PM +0200, Theo Buehler wrote: > On Tue, Oct 24, 2023 at 03:01:26PM +0200, Claudio Jeker wrote: > > When I added ibuf_get_fd() the idea was to make sure that ibuf_free() will > > close any fd still on the buffer. This way even if a fd is unexpect

ibuf free fd on close

2023-10-24 Thread Claudio Jeker
When I added ibuf_get_fd() the idea was to make sure that ibuf_free() will close any fd still on the buffer. This way even if a fd is unexpectedly passed nothing will happen. That code was disabled at start because userland was not fully ready. In particular rpki-client did not handle that well.

fix an error in flowspec_get_addr()

2023-10-23 Thread Claudio Jeker
So flowspec_get_addr() in the IPv6 case is utterly complicated. Since matching can be done on some sub-part of the prefix. So there is this shift_right() call that moves takes care of this special offset. Now the shift_right call uses *olen but should actually use xoff instead. *olen is set much

Re: 7.3: Squid 6.3 with multiple workers - net.unix.dgram.sendspace too low

2023-10-19 Thread Claudio Jeker
On Thu, Oct 19, 2023 at 03:09:08PM +0200, Silamael Darkomen wrote: > Hi, > > Today I upgraded to the brand new Squid version 6.3 from ports and noticed, > that Squid no longer starts properly if configured with multiple worker > processes. > > After some debugging the limit from

Re: bgpd convert rtr_proto.c to new ibuf API

2023-10-19 Thread Claudio Jeker
On Thu, Oct 19, 2023 at 12:59:17PM +0200, Theo Buehler wrote: > On Thu, Oct 19, 2023 at 10:41:07AM +0200, Claudio Jeker wrote: > > More ibuf cleanup. rtr_proto.c still uses ibuf_add() where it could use > > the new functions. > > > > Two bits I'm unsure about: > &

bgpd convert rtr_proto.c to new ibuf API

2023-10-19 Thread Claudio Jeker
More ibuf cleanup. rtr_proto.c still uses ibuf_add() where it could use the new functions. Two bits I'm unsure about: - I had to change some sizeof() to use native types (I especially dislike the sizeof(struct rtr_header). - ibuf_add_nXX() can fail if the value is too large. Which should be

bgpd session.c convert to new ibuf API

2023-10-18 Thread Claudio Jeker
This is a bit overdue. Convert session.c to also use the new ibuf API. This simplifies some code since there is no need for local variables. Also kill the struct msg_header and especially msg_open. The are of very little use. Regress passes so I think this should be fine :) -- :wq Claudio

Re: log.c use buffered IO

2023-10-18 Thread Claudio Jeker
On Tue, Oct 17, 2023 at 10:06:54AM +0200, Sebastian Benoit wrote: > Theo Buehler(t...@theobuehler.org) on 2023.10.17 09:13:15 +0200: > > On Mon, Oct 16, 2023 at 12:19:17PM +0200, Claudio Jeker wrote: > > > I dislike how log.c does all these asprintf() calls with dubious >

bgpd cleanup around mask2prefixlen

2023-10-17 Thread Claudio Jeker
Looking at fixing portable I realized that some bits around mask2prefixlen can be cleaned up. First in session.c the plen != 0xff check is not needed since it never can happen. 2nd the checks for sin_len and sin6_len == 0 are also impossible. A sockaddr can not have length 0. A default route

log.c use buffered IO

2023-10-16 Thread Claudio Jeker
I dislike how log.c does all these asprintf() calls with dubious workaround calls in case asprintf() fails. IMO it is easier to use the stdio provided buffers and fflush() to get "atomic" writes on stderr. At least from my understanding this is the reason to go all this lenght to do a single

Re: Improve IPv6 link-local support in bgpd

2023-10-16 Thread Claudio Jeker
On Mon, Oct 16, 2023 at 09:23:12AM +0200, Claudio Jeker wrote: > This diff fixes a few more things when establishing connections with > link-local IPv6 addresses. In get_alternate_addr() the interface scope > of the connection is recovered and then passed to the RDE. The RDE can &

Improve IPv6 link-local support in bgpd

2023-10-16 Thread Claudio Jeker
This diff fixes a few more things when establishing connections with link-local IPv6 addresses. In get_alternate_addr() the interface scope of the connection is recovered and then passed to the RDE. The RDE can then use this scope id to insert link-local addresses with the correct scope. I built

Re: l2vpn pseudowire and bridge type interface

2023-10-14 Thread Claudio Jeker
On Sat, Oct 14, 2023 at 11:07:11AM +0200, Wouter Prins wrote: > hello list, > > Was wondering if the veb interface is supported as a bridge for pseudowires? > The manpage doesn't mention anything about the type of > bridge interface required (bridge/veb)? I have not tried it but I think mpw(4)

Re: bgpd, fix log_peer_info() and friends

2023-10-14 Thread Claudio Jeker
On Fri, Oct 13, 2023 at 07:16:13PM +0200, Theo Buehler wrote: > On Fri, Oct 13, 2023 at 07:01:06PM +0200, Claudio Jeker wrote: > > Extending the format string with the peer info is a bad idea. > > The reason is DNS^WIPv6 and scoped addresses which add a % to the > > string ret

bgpd, fix log_peer_info() and friends

2023-10-13 Thread Claudio Jeker
Extending the format string with the peer info is a bad idea. The reason is DNS^WIPv6 and scoped addresses which add a % to the string returned by log_fmt_peer. So instead vasprintf() the emsg and then just use logit(). -- :wq Claudio Index: logmsg.c

OpenBGPD 8.3 released

2023-10-13 Thread Claudio Jeker
We have released OpenBGPD 8.3, which will be arriving in the OpenBGPD directory of your local OpenBSD mirror soon. This release includes the following changes to the previous release: * bgpd 8.1 and 8.2 could send a bad COMMUNITY attribute when non-transitive ext-communities are

bgpd: announce add-path send all can hit a fatal error

2023-10-12 Thread Claudio Jeker
I optimized "announce add-path send all" to not always re-evaluate all possible prefixes. While doing that I introduced a small bug. The problem is that the new prefix passed to up_generate_addpath_all() could be not eligible. This causes up_process_prefix() -> up_test_update() to error out. The

bgpd: fix handling of non-transitive ext communities

2023-10-10 Thread Claudio Jeker
See https://github.com/openbgpd-portable/openbgpd-portable/issues/64 The handling of non-transitive ext communities causes encoding errors in for regular communities. The problem is that the start and end points of the loop are calculated like this: for (l = 0; l < comm->nentries; l++) {

Re: wg destroy hangs

2023-10-08 Thread Claudio Jeker
On Wed, Oct 04, 2023 at 11:31:47PM +0200, Alexander Bluhm wrote: > On Wed, Oct 04, 2023 at 11:03:27PM +0300, Vitaliy Makkoveev wrote: > > On Wed, Oct 04, 2023 at 09:13:59PM +0200, Alexander Bluhm wrote: > > > On Wed, Oct 04, 2023 at 08:42:48PM +0200, Kirill Miazine wrote: > > > > > If it happns

OpenBGPD 8.2 released

2023-10-02 Thread Claudio Jeker
We have released OpenBGPD 8.2, which will be arriving in the OpenBGPD directory of your local OpenBSD mirror soon. This release includes the following changes to the previous release: * Update ASPA support to follow draft-ietf-sidrops-aspa-verification-16 and

Re: vscsi(4): make `vscsi_filtops' mpsafe

2023-09-28 Thread Claudio Jeker
On Thu, Sep 28, 2023 at 01:58:45PM +0300, Vitaliy Makkoveev wrote: > filt_vscsiread() checks `sc_ccb_i2t' protected by `sc_state_mtx' > mutex(9), so use it to protect `sc_klist' knotes list too. > > Tested with iscsid(8). Your diff removes a device_unref(>sc_dev) call in filt_vscsidetach() which

adjust example bgpd.conf GRACEFUL_SHUTDOWN rule

2023-09-27 Thread Claudio Jeker
Graceful Shutdown should only be done on eBGP sessions. If you alter the local-pref on ibgp sessions it is possible to produce loops or other network instabilities. Now if all iBGP routers apply the same rule it is fine but if not you can get into trouble. So better adjust our example and only

Re: rpki-client: refactor sbgp_assysnum() and sbgp_ipaddrblk()

2023-09-25 Thread Claudio Jeker
On Mon, Sep 25, 2023 at 05:02:06PM +0200, Theo Buehler wrote: > On Mon, Sep 25, 2023 at 04:43:31PM +0200, Claudio Jeker wrote: > > On Mon, Sep 25, 2023 at 04:38:48PM +0200, Theo Buehler wrote: > > > On Mon, Sep 25, 2023 at 02:47:37PM +0200, Claudio Jeker wrote: > > > &

Re: rpki-client: refactor sbgp_assysnum() and sbgp_ipaddrblk()

2023-09-25 Thread Claudio Jeker
On Mon, Sep 25, 2023 at 04:38:48PM +0200, Theo Buehler wrote: > On Mon, Sep 25, 2023 at 02:47:37PM +0200, Claudio Jeker wrote: > > On Sat, Sep 23, 2023 at 01:23:34PM +0200, Theo Buehler wrote: > > > This is a second chunk split out of the diff mentioned in my previous >

Re: rpki-client: refactor sbgp_assysnum() and sbgp_ipaddrblk()

2023-09-25 Thread Claudio Jeker
On Sat, Sep 23, 2023 at 01:23:34PM +0200, Theo Buehler wrote: > This is a second chunk split out of the diff mentioned in my previous > mail. It factors the parsing of ASIdentifiers and IPAddrBlocks out of > sbgp_assysnum() and sbgp_ipaddrblk() and makes the latter only extract > the info from the

Re: rpki-client: pass talid to callers of cert_parse_ee_cert()

2023-09-25 Thread Claudio Jeker
On Sat, Sep 23, 2023 at 12:59:48PM +0200, Theo Buehler wrote: > This is a boring mechanical diff that splits some of the noise out of a > larger diff that Job will send out and explain in detail soon. In itself > it changes nothing. For a given product we will need to know the > originating TA for

Re: update bsd.regress.mk(5)

2023-09-24 Thread Claudio Jeker
On Sun, Sep 24, 2023 at 04:22:30PM +0200, Theo Buehler wrote: > On Sun, Sep 24, 2023 at 03:17:11PM +0200, Claudio Jeker wrote: > > Try to document how REGRESS_LOG and REGRESS_FAIL_EARLY interact. > > We could make it fully precise with a few more words. > Done --

update bsd.regress.mk(5)

2023-09-24 Thread Claudio Jeker
Try to document how REGRESS_LOG and REGRESS_FAIL_EARLY interact. -- :wq Claudio Index: bsd.regress.mk.5 === RCS file: /cvs/src/share/man/man5/bsd.regress.mk.5,v retrieving revision 1.24 diff -u -p -r1.24 bsd.regress.mk.5 ---

Re: scheduler_start: move static timeout structs into callback functions

2023-09-17 Thread Claudio Jeker
On Sat, Sep 16, 2023 at 11:31:45AM -0500, Scott Cheloha wrote: > The schedcpu() and loadavg() timeout structures are already hidden > from the global namespace. We can further simplify scheduler_start() > by moving the structures into the callback functions and statically > initializing them with

Re: ps.1/kvm documentation

2023-09-11 Thread Claudio Jeker
On Mon, Sep 11, 2023 at 11:02:00AM +0200, Marc Espie wrote: > I was reading through ps.1, which has two slightly different options > -H Also display information about kernel visible threads. > -k Also display information about kernel threads. > > It's not at all obvious what

Re: btop++

2023-09-04 Thread Claudio Jeker
On Mon, Sep 04, 2023 at 11:13:01AM +0200, Jos Dehaes wrote: > Hi, > > I ported btop++ (a resource monitor program like top/htop) to macOS, > FreeBSD, and now OpenBSD (pull request: > https://github.com/aristocratos/btop/pull/607). > > I would appreciate if anyone could have a look and tell me

Re: sched_cpu_init: no need to NULL-check clockintr pointers

2023-08-31 Thread Claudio Jeker
On Thu, Aug 31, 2023 at 10:30:45AM -0500, Scott Cheloha wrote: > We don't actually need these NULL-checks, my mistake. > > sched_init_cpu() is only ever run once for a given cpu_info. > > ok? Yes please. OK claudio@ > Index: kern_sched.c >

introduce ctl_results CTL_RES_OPNOTSUPP for portable

2023-08-30 Thread Claudio Jeker
In portable some features are disabled and requests by bgpctl should result in an error that is reasonable. For example bgpctl show fib returns "permission denied" in kroute-disabled.c which is not great. So lets have an explicit error for unavailable features in -portable. -- :wq Claudio

Re: __predict_{true,false} is this right?

2023-08-22 Thread Claudio Jeker
On Tue, Aug 22, 2023 at 02:33:39PM +0200, Peter J. Philipp wrote: > Hi, > > I have an outstanding bug report that I send to deraadt and claudio, in > reading the code I came across these macros: > > https://github.com/openbsd/src/blame/master/sys/sys/cdefs.h > > lines 195 and 196. Now my

Re: EVFILT_TIMER add support for different timer precisions NOTE_{,U,N,M}SECONDS

2023-08-08 Thread Claudio Jeker
On Tue, Aug 08, 2023 at 10:40:06AM -0500, Scott Cheloha wrote: > On Sat, Aug 05, 2023 at 01:33:05AM -0400, A Tammy wrote: > > > > On 8/5/23 00:49, Scott Cheloha wrote: > > > On Sat, Aug 05, 2023 at 12:17:48AM -0400, aisha wrote: > > >> On 22/09/10 01:53PM, Visa Hankala wrote: > > >>> On Wed, Aug

bgpd, be more carefule with shutdown reason

2023-08-04 Thread Claudio Jeker
When copying the shutdown reason from ctl_neighbor into the peer struct the strlcpy needs a NUL terminated string input. This may not be the case so we should be more careful here. I see two ways to fix this. a) force in a NUL before callin strlcpy() as done below. b) use memcpy() and then force

Re: vmd: handle EAGAIN from imsg_flush

2023-08-04 Thread Claudio Jeker
On Thu, Aug 03, 2023 at 07:01:51PM -0400, Dave Voutila wrote: > > Claudio Jeker writes: > > > On Thu, Aug 03, 2023 at 04:20:47PM -0400, Dave Voutila wrote: > >> Found this while working on some virtio stuff. My original > >> implementation as part of the mul

Re: vmd: handle EAGAIN from imsg_flush

2023-08-03 Thread Claudio Jeker
On Thu, Aug 03, 2023 at 04:20:47PM -0400, Dave Voutila wrote: > Found this while working on some virtio stuff. My original > implementation as part of the multi-process redesign didn't handle if > imsg_flush failed due to resource shortages (EAGAIN), so adopt the > do/while idiom used by other

iked, ibuf_length vs ibuf_size

2023-08-03 Thread Claudio Jeker
iked has a special version of ibuf_size() called ibuf_length(). In the long run I want to remove this special case. The problem is that ibuf_length(NULL) returns 0 while ibuf_size() fails. Allowing the NULL pointer here results in bad code since it is no longer obvious if a buffer is initalised or

Re: uvm_loadav: don't recompute schedstate_percpu.spc_nrun

2023-08-03 Thread Claudio Jeker
On Thu, Aug 03, 2023 at 10:53:24AM +0200, Claudio Jeker wrote: > On Thu, Aug 03, 2023 at 10:13:57AM +0200, Martin Pieuchot wrote: > > On 02/08/23(Wed) 14:22, Claudio Jeker wrote: > > > On Mon, Jul 31, 2023 at 10:21:11AM -0500, Scott Cheloha wrote: > > > > On Fri, Ju

Re: uvm_loadav: don't recompute schedstate_percpu.spc_nrun

2023-08-03 Thread Claudio Jeker
On Thu, Aug 03, 2023 at 10:13:57AM +0200, Martin Pieuchot wrote: > On 02/08/23(Wed) 14:22, Claudio Jeker wrote: > > On Mon, Jul 31, 2023 at 10:21:11AM -0500, Scott Cheloha wrote: > > > On Fri, Jul 28, 2023 at 07:36:41PM -0500, Scott Cheloha wrote: > > > >

Re: [v2]: uvm_meter, schedcpu: make uvm_meter() an independent timeout

2023-08-02 Thread Claudio Jeker
On Wed, Aug 02, 2023 at 10:15:20AM -0500, Scott Cheloha wrote: > Now that the proc0 wakeup(9) is gone we can retry the other part of > the uvm_meter() patch. > > uvm_meter() is meant to run every 5 seconds, but for historical > reasons it is called from schedcpu() and it is scheduled against the

Re: uvm_loadav: don't recompute schedstate_percpu.spc_nrun

2023-08-02 Thread Claudio Jeker
On Mon, Jul 31, 2023 at 10:21:11AM -0500, Scott Cheloha wrote: > On Fri, Jul 28, 2023 at 07:36:41PM -0500, Scott Cheloha wrote: > > claudio@ notes that uvm_loadav() pointlessly walks the allproc list to > > recompute schedstate_percpu.spn_nrun for each CPU. > > > > We can just use the value

uvm_meter remove wakeup of swapper

2023-08-01 Thread Claudio Jeker
Now that the issue in inteldrm was resolved we can finally remove this old wakeup of the swapper. OK? -- :wq Claudio Index: uvm_meter.c === RCS file: /cvs/src/sys/uvm/uvm_meter.c,v retrieving revision 1.44 diff -u -p -r1.44

Re: uvm_meter: remove wakeup of proc0

2023-08-01 Thread Claudio Jeker
On Mon, Jul 31, 2023 at 08:31:41PM -0500, Scott Cheloha wrote: > On Mon, Jul 31, 2023 at 10:04:44PM +0200, Claudio Jeker wrote: > > On Mon, Jul 31, 2023 at 09:49:30PM +0200, Claudio Jeker wrote: > > > On Mon, Jul 31, 2023 at 08:03:41PM +0300, Vitaliy Makkoveev wrote: > >

Re: uvm_meter: remove wakeup of proc0

2023-07-31 Thread Claudio Jeker
On Mon, Jul 31, 2023 at 09:49:30PM +0200, Claudio Jeker wrote: > On Mon, Jul 31, 2023 at 08:03:41PM +0300, Vitaliy Makkoveev wrote: > > This is the culprit: > > > > schedule_timeout_uninterruptible(long timeout) > > { > > tsleep(curproc, PWAIT, "s

Re: uvm_meter: remove wakeup of proc0

2023-07-31 Thread Claudio Jeker
On Mon, Jul 31, 2023 at 08:03:41PM +0300, Vitaliy Makkoveev wrote: > This is the culprit: > > schedule_timeout_uninterruptible(long timeout) > { > tsleep(curproc, PWAIT, "schtou", timeout); > return 0; > } > Please give this a try. I think on initialization

Re: uvm_meter: remove wakeup of proc0

2023-07-31 Thread Claudio Jeker
On Mon, Jul 31, 2023 at 08:03:41PM +0300, Vitaliy Makkoveev wrote: > This is the culprit: > > schedule_timeout_uninterruptible(long timeout) > { > tsleep(curproc, PWAIT, "schtou", timeout); > return 0; > } Not really. The problem is lower in intel_dp_wait_source_oui(). Which

Re: uvm_meter: remove wakeup of proc0

2023-07-31 Thread Claudio Jeker
On Sat, Jul 29, 2023 at 03:00:59PM +0300, Vitaliy Makkoveev wrote: > On Sat, Jul 29, 2023 at 11:16:14AM +0200, Claudio Jeker wrote: > > proc0 aka the swapper does not do anything. So there is no need to wake it > > up. Now the problem is that last time this was tried some inteldrm

uvm_meter: remove wakeup of proc0

2023-07-29 Thread Claudio Jeker
proc0 aka the swapper does not do anything. So there is no need to wake it up. Now the problem is that last time this was tried some inteldrm systems did hang during bootup because the drm code unexpectedly depended on this wakeup. I think I fixed all possible cases of this in the drm stack and

iked: add print_hexbuf() to hexdump an ibuf

2023-07-28 Thread Claudio Jeker
As suggested by tb@ add print_hexbuf() to hexdump an ibuf. Use this in place where a full ibuf is dumped. In some cases print_hex() is still used because the length is not the full ibuf or an offset is used. -- :wq Claudio Index: iked.h

iked: more ibuf cleanup

2023-07-27 Thread Claudio Jeker
Use ibuf_data() instead of direct access to ibuf->buf. In some cases use ibuf_add_buf(). -- :wq Claudio Index: crypto.c === RCS file: /cvs/src/sbin/iked/crypto.c,v retrieving revision 1.44 diff -u -p -r1.44 crypto.c --- crypto.c

Re: inetd echo localhost

2023-07-21 Thread Claudio Jeker
On Fri, Jul 21, 2023 at 03:17:35PM +0300, Vitaliy Makkoveev wrote: > On Thu, Jul 20, 2023 at 09:57:00PM +0200, Alexander Bluhm wrote: > > Hi, > > > > I wonder why UDP echo does not work with inetd on 127.0.0.1. > > > > Note that it is default off. One of my regress machines has it > > enabled

Re: bgpd: adjust ctl_neighbor usage

2023-07-20 Thread Claudio Jeker
On Thu, Jul 20, 2023 at 05:22:25PM +0200, Theo Buehler wrote: > On Thu, Jul 20, 2023 at 05:06:00PM +0200, Claudio Jeker wrote: > > I think it is better to use a safe ideom when matching against a peer name > > instead of forcefully NUL terminate the string somewhere unrelated. >

bgpd: adjust ctl_neighbor usage

2023-07-20 Thread Claudio Jeker
I think it is better to use a safe ideom when matching against a peer name instead of forcefully NUL terminate the string somewhere unrelated. By default all these string buffers use the same size so strncmp() will not clip since the peer description is enforced by bgpd to be smaller. Another

bgpd, use right buffer in strlcpy

2023-07-20 Thread Claudio Jeker
Use the destination for the buffer len not the source. -- :wq Claudio Index: control.c === RCS file: /cvs/src/usr.sbin/bgpd/control.c,v retrieving revision 1.110 diff -u -p -r1.110 control.c --- control.c 20 Apr 2023 12:53:27

iked: s/ibuf_cat/ibuf_add_buf/

2023-07-18 Thread Claudio Jeker
ibuf_cat() is the same as ibuf_add_buf() so use the latter. -- :wq Claudio Index: eap.c === RCS file: /cvs/src/sbin/iked/eap.c,v retrieving revision 1.24 diff -u -p -r1.24 eap.c --- eap.c 23 May 2023 13:57:14 - 1.24

Re: vnode: drop comment, nonsensical where it is

2023-07-17 Thread Claudio Jeker
On Wed, Jul 12, 2023 at 12:25:19PM +0200, thib4711 wrote: > The line comment in struct vnode is fine; > > diff --git sys/sys/vnode.h sys/sys/vnode.h > index 30787afddd8..b2f0fa4b60c 100644 > --- sys/sys/vnode.h > +++ sys/sys/vnode.h > @@ -74,12 +74,7 @@ enum vtagtype { > "unused",

Re: vfs: drop a bunch of cast macros

2023-07-17 Thread Claudio Jeker
On Mon, Jul 17, 2023 at 11:05:03AM +0200, Sebastien Marie wrote: > On Wed, Jul 12, 2023 at 12:26:01PM +0200, thib4711 wrote: > > make it obvious in the vfsops assignment that an op isnt supported. > > I agree that it is more readable. > > ok semarie@ OK claudio@ as well. Semarie can you commit

iked: more ibuf cleanup

2023-07-16 Thread Claudio Jeker
Rename ibuf_get() to ibuf_getdata() by merging the two functions together. I want to use ibuf_get() as part of the ibuf API so this needs to move. Also use ibuf_add_zero() in a place of ibuf_reserve() and remove a check for buf->buf == NULL in ibuf_length() which has nothing to do there. -- :wq

Re: bgpd: cleanup mrt.c

2023-07-14 Thread Claudio Jeker
On Thu, Jul 13, 2023 at 11:36:22AM +0200, Theo Buehler wrote: > On Thu, Jul 13, 2023 at 10:04:33AM +0200, Claudio Jeker wrote: > > This is a follow-up to use more of the new ibuf API to write the mrt > > message. > > > > This removes all of the DUMP_X

bgpd: cleanup mrt.c

2023-07-13 Thread Claudio Jeker
This is a follow-up to use more of the new ibuf API to write the mrt message. This removes all of the DUMP_XYZ macros and replaces them with ibuf_add_nX() calls. Also unify the error handling by using goto fail; in all cases and use a more generic log_warn() there once. -- :wq Claudio Index:

OpenBGPD 8.1 released

2023-07-12 Thread Claudio Jeker
We have released OpenBGPD 8.1, which will be arriving in the OpenBGPD directory of your local OpenBSD mirror soon. This release includes the following changes to the previous release: * Include OpenBSD 7.3 errata 002: Avoid fatal errors in bgpd(8) due to incorrect refcounting and

Re: GPROF: sleep_state: disable _mcount() across suspend/resume

2023-07-09 Thread Claudio Jeker
On Sun, Jul 09, 2023 at 12:52:20PM -0500, Scott Cheloha wrote: > This patch fixes resume/unhibernate on GPROF kernels where kgmon(8) > has activated kernel profiling. > > I think the problem is that code called from cpu_hatch() does not play > nicely with _mcount(), so GPROF kernels crash during

Re: make mbstat smaller (was Re: make mstat smaller)

2023-07-09 Thread Claudio Jeker
On Sun, Jul 09, 2023 at 10:25:46AM +0300, YASUOKA Masahiko wrote: > On Sat, 08 Jul 2023 21:58:30 +0300 (EEST) > YASUOKA Masahiko wrote: > > The diff makes the mbstat be the same size which is actually used. > > Also revert the previous that the mbstat is located on the stack. > > The userland

Re: tcp timer wrap around, use 64 bit

2023-07-07 Thread Claudio Jeker
On Fri, Jul 07, 2023 at 11:38:58AM +0300, YASUOKA Masahiko wrote: > Hi, > > Does using 64 bit for timer in tcpcb require this? Not sure about this but one comment below. > ok? > > Index: sys/netinet/tcp.h > === > RCS file:

Re: validate vm.conf local prefixes in parser

2023-07-04 Thread Claudio Jeker
On Tue, Jul 04, 2023 at 11:39:19AM -0400, Dave Voutila wrote: > vmd's doing something close to shotgun parsing of the "local prefix" and > "local inet6 prefix" settings in vm.conf(5). The parser intermixes ipv4 > and ipv6 parsing even when we know which one is valid in the parsing > context. This

Re: ldpd: use new ibuf api

2023-07-03 Thread Claudio Jeker
On Mon, Jun 26, 2023 at 06:14:30PM +0200, Claudio Jeker wrote: > Adjust ldpd to follow the new ibuf API. > Diff is simple but as usual I could not test it out so please test. This is still open. I will commit this later today. > -- > :wq Claudio > &

eigrpd more ibuf cleanup

2023-07-03 Thread Claudio Jeker
Same change as done in other daemons, use ibuf_data() and ibuf_size(). -- :wq Claudio Index: packet.c === RCS file: /cvs/src/usr.sbin/eigrpd/packet.c,v retrieving revision 1.21 diff -u -p -r1.21 packet.c --- packet.c26 Jun 2023

ripd more ibuf cleanup

2023-07-03 Thread Claudio Jeker
Similar to the other daemons use ibuf_data() and ibuf_size() instead of direct access. -- :wq Claudio Index: message.c === RCS file: /cvs/src/usr.sbin/ripd/message.c,v retrieving revision 1.16 diff -u -p -r1.16 message.c ---

ospf6d ibuf cleanup

2023-07-03 Thread Claudio Jeker
Like ospfd use ibuf_data() consistently, also use ibuf_size() instead of ibuf->wpos and ibuf_left() to check if there is enough space left. -- :wq Claudio Index: lsreq.c === RCS file: /cvs/src/usr.sbin/ospf6d/lsreq.c,v retrieving

ospfd more ibuf cleanup

2023-07-03 Thread Claudio Jeker
Similar to the relayd diff use ibuf_data instead of ibuf->buf. -- :wq Claudio Index: auth.c === RCS file: /cvs/src/usr.sbin/ospfd/auth.c,v retrieving revision 1.21 diff -u -p -r1.21 auth.c --- auth.c 20 Jun 2023 15:19:55 -

more relayd ibuf cleanup

2023-07-03 Thread Claudio Jeker
This is just some additional ibuf cleanup in relayd. Mostly use ibuf_data() instead of direct access to ibuf->buf. -- :wq Claudio Index: check_tcp.c === RCS file: /cvs/src/usr.sbin/relayd/check_tcp.c,v retrieving revision 1.60 diff

Re: lo(4) loopback LRO and TSO

2023-07-02 Thread Claudio Jeker
On Sun, Jul 02, 2023 at 02:28:17PM +0200, Alexander Bluhm wrote: > anyone? Was not able to test yet but I like the diff. Right now this is a noop since LRO is not on by default for lo(4). Because of that OK claudio@ > On Fri, Jun 23, 2023 at 06:06:16PM +0200, Alexander Bluhm wrote: > > Hi, > >

Re: bgpd: rewrite code to send UPDATE messages

2023-06-29 Thread Claudio Jeker
On Thu, Jun 29, 2023 at 06:25:01PM +0200, Theo Buehler wrote: > On Tue, Jun 27, 2023 at 12:10:21PM +0200, Claudio Jeker wrote: > > Sorry this diff is a monster but it kind of turned into a all or nothing > > situation. > > Frankly, it's not that bad. > > > For a l

Re: rpki-client: fix aspa provider stats

2023-06-29 Thread Claudio Jeker
On Thu, Jun 29, 2023 at 04:16:32PM +0200, Theo Buehler wrote: > A thinko slipped through review in aspa.c which broke the ASPA counters. > Use only one counter and call it STYPE_PROVIDERS. > > Is it ok to switch from "both" to "valid" in output-ometric.c for > consistency with the other products

relayd: fix route handling for IPv6

2023-06-29 Thread Claudio Jeker
Once again struct sockaddr_in6 causes 64bit systems to cry. This time in relayd. You can not statically setup a route message and think it will work. All our routing daemons switched to iov for building the route message out of various components. This diff does the same for relayd. With this it

Re: rpki-client: retire log.c

2023-06-29 Thread Claudio Jeker
On Thu, Jun 29, 2023 at 09:12:06AM +, Job Snijders wrote: > On Thu, Jun 29, 2023 at 09:30:19AM +0200, Theo Buehler wrote: > > I wrote versions of this diff several times in the past but never sent > > it out. A question by claudio encouraged me... > > > > cryptowarnx() and cryptoerrx() fail

Re: btrace(8) allow to store kstack in a map

2023-06-27 Thread Claudio Jeker
On Mon, Jun 26, 2023 at 08:58:47PM +, Klemens Nanni wrote: > On Mon, Jun 26, 2023 at 10:52:20PM +0200, Claudio Jeker wrote: > > count() is strange since it only works on maps (at least from what I > > figured out). I need to double check how min() and max() work. Since the >

Re: Introduce M_IFGROUP type of memory allocation

2023-06-27 Thread Claudio Jeker
On Tue, Jun 27, 2023 at 11:09:32AM +, Klemens Nanni wrote: > On Tue, Jun 27, 2023 at 01:32:37PM +0300, Vitaliy Makkoveev wrote: > > M_TEMP seems unreasonable for interface groups data allocations. > > After claudio pointed out the wrong type, I thought of the same name, > no other malloc(9)

bgpd: rewrite code to send UPDATE messages

2023-06-27 Thread Claudio Jeker
Sorry this diff is a monster but it kind of turned into a all or nothing situation. For a long time bgpd used a static 4k buffer plus a len argument to build updates. The result was ok but was also very fragile. With the new ibuf API all of this can be rewritten and the result is IMO already a

Re: btrace(8) allow to store kstack in a map

2023-06-26 Thread Claudio Jeker
On Mon, Jun 26, 2023 at 04:53:45PM +, Klemens Nanni wrote: > On Mon, Jun 26, 2023 at 05:24:53PM +0200, Claudio Jeker wrote: > > I created this simple btrace script to help find malloc(9) leaks but > > it did not work. First step was adding kstack support to the map >

ldpd: use new ibuf api

2023-06-26 Thread Claudio Jeker
Adjust ldpd to follow the new ibuf API. Diff is simple but as usual I could not test it out so please test. -- :wq Claudio Index: hello.c === RCS file: /cvs/src/usr.sbin/ldpd/hello.c,v retrieving revision 1.58 diff -u -p -r1.58

btrace(8) allow to store kstack in a map

2023-06-26 Thread Claudio Jeker
I created this simple btrace script to help find malloc(9) leaks but it did not work. First step was adding kstack support to the map implementation. But then it still did not work because btrace did not enable the kstack reporting for the probe. This turned out to be an issue with the if ()

eigrpd: use new ibuf API

2023-06-26 Thread Claudio Jeker
This diff changes some parts of eigrpd to use the new ibuf API. There is one ibuf_seek() left in packet.c since the changes done to the header there are not as trivial as in any other daemon. So that part I left out for now. The suggested changes on the other hand are simple. Again if someone

ldapd better bufferevent error callback

2023-06-26 Thread Claudio Jeker
Noticed this since an ldapd ran out of memory and the error printed by the callback is just not helpful. So lets try to improve this. I think errno is not clobbered so log_warn() should work and then also add an indication if it is read or write. -- :wq Claudio Index: conn.c

dvrmpd refactor and ibuf API updates

2023-06-22 Thread Claudio Jeker
Here is a diff to refactor and update dvrmpd to use the new ibuf API. Instead of doing the checksum calculations in various places do it in send_packet() as a central place. Could people using dvrmpd test this diff, thanks -- :wq Claudio Index: ask_nbrs2.c

Re: update ripd to use new ibuf API

2023-06-22 Thread Claudio Jeker
On Thu, Jun 22, 2023 at 11:15:31AM +0200, Theo Buehler wrote: > On Thu, Jun 22, 2023 at 10:26:29AM +0200, Claudio Jeker wrote: > > Another ibuf_seek() -> ibuf_set_n16() conversions. > > While there also switch to ibuf_data() and ibuf_size(). > > Reads fine. ok. a test woul

update ripd to use new ibuf API

2023-06-22 Thread Claudio Jeker
Another ibuf_seek() -> ibuf_set_n16() conversions. While there also switch to ibuf_data() and ibuf_size(). Anyone still uses ripd that can test this? -- :wq Claudio Index: auth.c === RCS file: /cvs/src/usr.sbin/ripd/auth.c,v

Re: [s...@spacehopper.org: ospf6d fib reload [Re: bgpd fix for possible crash in SE]]

2023-06-21 Thread Claudio Jeker
On Tue, Jun 20, 2023 at 05:31:34PM +0100, Stuart Henderson wrote: > This hasn't blown up yet... any interest? Some comments to the kroute.c changes below. Everything else is fine. > - Forwarded message from Stuart Henderson - > > From: Stuart Henderson > Date: Fri, 26 May 2023

Re: ospfd use new ibuf functions

2023-06-20 Thread Claudio Jeker
On Tue, Jun 20, 2023 at 02:47:41PM +0200, Claudio Jeker wrote: > This diff updates ospfd to use the new ibuf API. > > It mainly removes the use of ibuf_seek() and replaces these calls with > ibuf_set(). > > Regress still passes with this diff in. Here the same diff for ospf6

Re: more relayd cleanup

2023-06-20 Thread Claudio Jeker
On Tue, Jun 20, 2023 at 03:35:11PM +0200, Theo Buehler wrote: > On Tue, Jun 20, 2023 at 02:17:06PM +0200, Claudio Jeker wrote: > > Ok, this went overboard. I just wanted to clean up a bit more in > > check_tcp.c but noticed check_send_expect and CHECK_BINSEND_EXPECT. > > >

Re: uvm_meter: improve periodic execution logic for uvm_loadav()

2023-06-20 Thread Claudio Jeker
On Tue, Jun 20, 2023 at 10:25:02AM -0500, Scott Cheloha wrote: > On Tue, Jun 20, 2023 at 11:47:10AM +0200, Claudio Jeker wrote: > > On Mon, Jun 19, 2023 at 04:45:03PM -0500, Scott Cheloha wrote: > > > > [...] > > &

open_memstream cleanup

2023-06-20 Thread Claudio Jeker
In open_memstream() the code does a bzero() of the new memory even though recallocarray() used which does this already. In open_wmemstream() the code does the same but is still using reallocarray(). So adjust that code to be like open_memstream(). -- :wq Claudio Index: open_memstream.c

Re: ospfd use new ibuf functions

2023-06-20 Thread Claudio Jeker
On Tue, Jun 20, 2023 at 03:46:23PM +0200, Theo Buehler wrote: > On Tue, Jun 20, 2023 at 02:47:41PM +0200, Claudio Jeker wrote: > > This diff updates ospfd to use the new ibuf API. > > > > It mainly removes the use of ibuf_seek() and replaces these calls with > > ibuf_se

rpki-client use new ibuf API

2023-06-20 Thread Claudio Jeker
Use the ibuf_fd_*() API for file descriptor passing and also ibuf_set() instead of ibuf_seek(). -- :wq Claudio Index: http.c === RCS file: /cvs/src/usr.sbin/rpki-client/http.c,v retrieving revision 1.76 diff -u -p -r1.76 http.c ---

ospfd use new ibuf functions

2023-06-20 Thread Claudio Jeker
This diff updates ospfd to use the new ibuf API. It mainly removes the use of ibuf_seek() and replaces these calls with ibuf_set(). Regress still passes with this diff in. -- :wq Claudio Index: auth.c === RCS file:

more relayd cleanup

2023-06-20 Thread Claudio Jeker
Ok, this went overboard. I just wanted to clean up a bit more in check_tcp.c but noticed check_send_expect and CHECK_BINSEND_EXPECT. This code is not very consitent in the differnt ways the strings are encoded. Especially check_send_expect() is a bit of a mess because of that. While there I

  1   2   3   4   5   6   7   8   9   10   >