Re: arp timeouts and refresh arp entries before they expire

2019-01-17 Thread Claudio Jeker
On Thu, Jan 17, 2019 at 03:21:58PM -0700, Theo de Raadt wrote: > - if (la_hold_total < LA_HOLD_TOTAL && la_hold_total < nmbclust / 64) { > + if (la_hold_total < nmbclust / 64) { > > I have disagreed with claudio about this aspect of the diff. > > The refresh attempt is the crucial

better bgpd MPLS VPN support

2019-01-17 Thread Claudio Jeker
This diff is a bit of a cleanup and prepare diff to make the configuration of BGP MPLS VPNs a bit more flexible. Especially there is the request to route traffic through multiple mpe(4) interfaces per rdomain. So this is what this starts to clean up. Remove the static mpe interface in the kroute

vmd(4) fw_cfg support

2018-12-10 Thread Claudio Jeker
@@ -0,0 +1,434 @@ +/* $OpenBSD$ */ +/* + * Copyright (c) 2018 Claudio Jeker + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all

vmd loadfile_elf cleanup

2018-12-12 Thread Claudio Jeker
Doing some additional cleanup in loadfile_elf.c (the code used for -b bsd) - switch com port to 115200 instead of 9600 (our own bootloader does the same when booted in a VM). - use the new write_mem(addr, NULL, size) code to zero memory. This makes that code a lot simpler. OK -- :wq Claudio

Re: MPLSv6 1/2: kernel diff

2018-12-26 Thread Claudio Jeker
On Wed, Dec 26, 2018 at 09:27:59PM +0100, Denis Fondras wrote: > Resend because of nasty typo :/ > > On Mon, Dec 24, 2018 at 08:43:10PM -0200, Martin Pieuchot wrote: > > I'm not happy with adding the IFF_MULTICAST flag and SIOC{ADD,DEL}MULTI > > ioctls. It seems to be a common pattern between in

Re: add more bootdevices to vmctl

2018-12-10 Thread Claudio Jeker
On Mon, Dec 10, 2018 at 02:28:48PM -0800, Carlos Cardenas wrote: > On Mon, Dec 10, 2018 at 10:38:56PM +0100, Reyk Floeter wrote: > > OK reyk@ > > > > Please think about the manpage. > > > > > Am 10.12.2018 um 22:35 schrieb Claudio Jeker : > > > >

add more bootdevices to vmctl

2018-12-10 Thread Claudio Jeker
Now that fw_cfg support is in vmd it makes sense to have -B disk and -B cdrom. Also error out if the option is not known. This allows to use -B cdrom to force booting from the cdrom disk image e.g. to update the VM image. -- :wq Claudio Index: main.c

Re: make build as root fails when SUDO=doas

2018-12-11 Thread Claudio Jeker
On Tue, Dec 11, 2018 at 02:35:33PM -0700, Theo de Raadt wrote: > Ted Unangst wrote: > > > Marc Espie wrote: > > > > > - try to remove the files normally first > > > > > rm -f ${SUDO_CLEAN} || test -z "${SUDO}" || ${SUDO} rm -f > > > > > ${SUDO_CLEAN} > > > > > > > > > > this should

Re: allow if_output to be specialised on ethernet interfaces

2018-12-11 Thread Claudio Jeker
On Wed, Dec 12, 2018 at 11:54:39AM +1000, David Gwynne wrote: > this makes it nicer to set up a custom output routine on ethernet > interfaces. rather than overwriting it after ether_ifattach is called, > you can set it up with the rest of the callbacks and the ether layer > will respect it. > >

convert some timeout_add to timeout_add_*

2018-12-16 Thread Claudio Jeker
Simple conversion of timeout_add(X, Y * hz) to timeout_add_sec(X, Y) and timeout_add(X, tvtohz()) to timeout_add_tv(X, ). OK? -- :wq Claudio Index: net/pf.c === RCS file: /cvs/src/sys/net/pf.c,v retrieving revision 1.1079 diff -u

Re: convert some timeout_add to timeout_add_*

2018-12-16 Thread Claudio Jeker
On Sun, Dec 16, 2018 at 04:58:35PM -0600, Scott Cheloha wrote: > On Sun, Dec 16, 2018 at 06:45:39PM +0100, Claudio Jeker wrote: > > Simple conversion of timeout_add(X, Y * hz) to timeout_add_sec(X, Y) > > and timeout_add(X, tvtohz()) to timeout_add_tv(X, ). > > Remembe

Re: convert some timeout_add to timeout_add_*

2018-12-16 Thread Claudio Jeker
On Mon, Dec 17, 2018 at 08:18:42AM +0100, Claudio Jeker wrote: > On Sun, Dec 16, 2018 at 04:58:35PM -0600, Scott Cheloha wrote: > > On Sun, Dec 16, 2018 at 06:45:39PM +0100, Claudio Jeker wrote: > > > Simple conversion of timeout_add(X, Y * hz) to timeout_add_sec(X, Y) >

Convert a few more timeout_add() calls

2018-12-19 Thread Claudio Jeker
This is mostly replacing timeout_add calls that use some sort of HZ dependent value to timeout_add_(m)sec(). IFNET_SLOWHZ is only used in one place and could be moved there. In general I think the result is easier to understand. OK? -- :wq Claudio Index: net/if.c

refactor ext-community into filter_community

2018-12-12 Thread Claudio Jeker
Time to fold ext-communities into filter_community so that bgpd can match multiple ext-communities at the same time as well. Additionally this fixes parsing some of the ext-community types. Rather large diff again so more testing and review very welcome. After this more refactoring will be

Re: split ether_output up into resolution, encapsulation, and output

2018-11-30 Thread Claudio Jeker
On Fri, Nov 30, 2018 at 02:04:40PM -0200, Martin Pieuchot wrote: > On 30/11/18(Fri) 12:35, David Gwynne wrote: > > On Fri, Nov 30, 2018 at 12:21:11PM +1000, David Gwynne wrote: > > > i have a plan to allow virtual interfaces (eg, vlan, etherip, etc) to > > > provide their own output functions so

Re: bgpd refactor aspath_match a bit

2018-11-28 Thread Claudio Jeker
On Tue, Nov 27, 2018 at 06:55:51PM +0100, Job Snijders wrote: > On Tue, Nov 27, 2018 at 06:23:53PM +0100, Claudio Jeker wrote: > > On Tue, Nov 27, 2018 at 04:21:53PM +0100, Job Snijders wrote: > > > On Fri, Nov 23, 2018 at 03:55:18PM +0100, Claudio Jeker wrote: > > >

Re: cleanup decision process

2018-11-28 Thread Claudio Jeker
On Thu, Nov 22, 2018 at 04:52:08PM +0100, Claudio Jeker wrote: > Since a while announcements added by bgpctl will overwrite the ones from > the config and no longer live next to each other. Because of this step 13 > in the decision process is no longer needed. > > OK? Ping

m_align() and other cleanup in carp(4)

2018-12-04 Thread Claudio Jeker
Use m_align() in carp(4) and while there reorder the code a bit. There is no need to set pkthdr values to 0, that is done my MGETHDR(). Make the IPv4 and IPv6 code use the same order by which stuff gets set. OK? -- :wq Claudio Index: sys/netinet/ip_carp.c

Re: split ether_output up into resolution, encapsulation, and output

2018-12-04 Thread Claudio Jeker
On Fri, Nov 30, 2018 at 12:21:11PM +1000, David Gwynne wrote: > i have a plan to allow virtual interfaces (eg, vlan, etherip, etc) to > provide their own output functions so they can bypass the ifq machinery > and push the packet onto the underlying layer directly. > > they'll still need to get

Re: uvm_fault: ip_ctloutput

2018-12-02 Thread Claudio Jeker
On Sat, Dec 01, 2018 at 06:44:31PM -0800, Greg Steuck wrote: > This thwarts the reproducer. Again, I don't know if the invariants are > getting violated somewhere else and the patch below is simply papering over > the symptoms. I would like to better understand how we get so far with a socket

be more strict when parsing netmasks for IPv6

2018-12-05 Thread Claudio Jeker
When parsing a network mask into prefixlen be more paranoid and make sure no value bigger then 128 is returned. In general this should never happen but if it does the result can be bad. This is for bgpd but there are other users in the tree. I will adjust them if we dicide to go this way. -- :wq

vmd: fake netboot for auto_install

2018-12-04 Thread Claudio Jeker
I want to be able to build vmd images more or less automatically. This is why I added 'vmctl wait' and this here is the next step. It allows to boot bsd.rd and pass the needed info to the kernel that the system thinks it was PXE booted and so the installer will start an auto_install automatically.

ldapd, fix warnings when compiling with gcc

2018-12-04 Thread Claudio Jeker
Gcc is unhappy about the void * usage in printf: search.c:325: warning: format '%s' expects type 'char *', but argument 2 has type 'void *' search.c:345: warning: format '%.*s' expects type 'char *', but argument 3 has type 'void *' search.c:365: warning: format '%s' expects type 'char *', but

Re: traceroute6 and ospf6d (icmp6 source addresses and link-locals)

2018-12-05 Thread Claudio Jeker
On Wed, Dec 05, 2018 at 12:02:25PM +0100, Denis Fondras wrote: > On Wed, Dec 05, 2018 at 11:36:14AM +0100, Arnaud BRAND wrote: > > Any feedback on this patch ? > > I'm running it without problems since the 30th November. > > > > > > Index: netinet6/icmp6.c > >

Re: uvm_fault: ip_ctloutput

2018-12-02 Thread Claudio Jeker
On Sun, Dec 02, 2018 at 09:29:23AM +0100, Claudio Jeker wrote: > On Sat, Dec 01, 2018 at 06:44:31PM -0800, Greg Steuck wrote: > > This thwarts the reproducer. Again, I don't know if the invariants are > > getting violated somewhere else and the patch below is simply papering over &

More MH_ALIGN conversions

2018-12-03 Thread Claudio Jeker
Next round of conversions. Additionally to converting MH_ALIGN() to m_align() this also switches m_gethdr/M_GETHDR calls to m_get/M_GET calls because M_MOVE_PKTHDR() is initialising the pkthdr and so there is no need to do that when allocating the mbuf. OK? -- :wq Claudio Index: net/if_gre.c

bgpd optimize filter rules

2018-12-03 Thread Claudio Jeker
There is a trivial optimization that bgpd can do when loading the filter ruleset. If the rule is the same as the previous rule than the filterset can be merged. e.g. match from ebgp set community delete $myAS:* match from ebgp set community $myAS:15 match from ebgp set med 100 Will

vmctl wait

2018-12-03 Thread Claudio Jeker
This adds a feature to vmctl/vmd to wait for a VM to stop. It is a feature usable in many situation where you wait for a VM to halt after work is done. This is more or less vmctl stop -w without sending the termination to the VM. There is only one vmctl that can wait so if a second one comes in

change reboot behaviour in vmd

2018-12-06 Thread Claudio Jeker
So doing autoinstall with -B net is great but one thing I was missing is changing the reboot behaviour of vmd to exit at a guest reboot. I came up with this minimal diff that does the trick for me. Now maybe it would be better to have a proper flag for this instead of overloading vmc_bootdevice

Re: bgpd refactor aspath_match a bit

2018-12-06 Thread Claudio Jeker
On Wed, Nov 28, 2018 at 10:35:37AM +0100, Claudio Jeker wrote: > On Tue, Nov 27, 2018 at 06:55:51PM +0100, Job Snijders wrote: > > On Tue, Nov 27, 2018 at 06:23:53PM +0100, Claudio Jeker wrote: > > > On Tue, Nov 27, 2018 at 04:21:53PM +0100, Job Snijders wrote: > > > &

Re: be more strict when parsing netmasks for IPv6

2018-12-06 Thread Claudio Jeker
On Thu, Dec 06, 2018 at 08:04:54PM +0100, Remi Locherer wrote: > On Thu, Dec 06, 2018 at 03:24:52PM +0100, Claudio Jeker wrote: > > On Wed, Dec 05, 2018 at 11:53:48PM +0100, Remi Locherer wrote: > > > On Wed, Dec 05, 2018 at 09:22:22AM +0100, Claudio Jeker wrote: > > &g

Re: bail early in nd6_na_output() if not carp master

2018-12-06 Thread Claudio Jeker
On Thu, Dec 06, 2018 at 08:03:01PM +0100, Florian Obser wrote: > Spotted this when reviewing Claudio's m_align diff and wondered why we > bail right at the end just before we send the packet. Is there stuff > happening before that's important? Turns out no. > > (I suspect this is a belt for

Re: libpcap: add basic MPLS support

2018-12-09 Thread Claudio Jeker
On Sat, Dec 08, 2018 at 10:48:37AM +0100, Denis Fondras wrote: > Add basic MPLS support in libpcap. > > Index: gencode.c > === > RCS file: /cvs/src/lib/libpcap/gencode.c,v > retrieving revision 1.51 > diff -u -p -r1.51 gencode.c >

Re: change reboot behaviour in vmd

2018-12-09 Thread Claudio Jeker
On Thu, Dec 06, 2018 at 10:33:24AM +0100, Claudio Jeker wrote: > So doing autoinstall with -B net is great but one thing I was missing is > changing the reboot behaviour of vmd to exit at a guest reboot. > I came up with this minimal diff that does the trick for me. Now maybe it > wou

Re: change reboot behaviour in vmd

2018-12-09 Thread Claudio Jeker
n). > Reyk > > > Am 07.12.2018 um 20:55 schrieb Carlos Cardenas : > > > >> On Thu, Dec 06, 2018 at 10:33:24AM +0100, Claudio Jeker wrote: > >> So doing autoinstall with -B net is great but one thing I was missing is > >> changing the reboot behavio

vmm(4) allow IO ports for fw_cfg interface

2018-12-10 Thread Claudio Jeker
qemu has the fw_cfg mechanism to pass data from the emulator to the bios. SeaBIOS also includes fw_cfg support and so it makes sense to add this to vmd(4) as well. To make this happen the following IO ports need to be forwarded by vmm(4) to vmd(8). FW_CFG_IO_SELECT0x510

bgpd, fix RDE memory leak and crash

2018-11-29 Thread Claudio Jeker
There is a rather annoying memory leak when a peer goes down. In peer_down() most data is correctly removed but the Adj-RIB-Out was not properly flushed and so those entries lingered around. Also 'bgpctl show rib out nei $FOO' will blow up the rde because of a use-after-free access of the peer id.

fix minor memory leak in bgpd

2018-11-29 Thread Claudio Jeker
When removing non-transitive extended communities from the attribute new memory is allocated. This memory needs to be freed in all cases. community_ext_delete_non_trans() will either return NULL (and nlen set to 0) or malloc new memory. After writing that memory to the UDPATE buffer it needs to be

Re: Idea forOpenBGPD RDE MP ... would this work to make RDE MP safe ?

2018-11-29 Thread Claudio Jeker
On Thu, Nov 29, 2018 at 05:28:53AM +, Tom Smyth wrote: > Hello, > before I begin... im just a sysadmin not a programmer > I appreciate the work you are doing on OpenBGPd :) and I use it and im > very happy > > > I saw Claudes presentation on openBGPd recently and how there was some > work on

nd6 or the last MH_ALIGN reference

2018-12-04 Thread Claudio Jeker
So netinet6/nd6_nbr.c references MH_ALIGN() in two comments. Instead of aligning the packet to the back of the mbuf, the functions just shift it by max_linkhdr. In most cases this should be good enough but esp. when packets move over tunnels the additional headers will not fit into the packet

Remove no longer used M_ALIGN and MH_ALIGN

2018-12-06 Thread Claudio Jeker
All the references to the M_ALIGN and MH_ALIGN macros are gone. Time to bring them behind the shed and free them. OK? -- :wq Claudio Index: sys/sys/mbuf.h === RCS file: /cvs/src/sys/sys/mbuf.h,v retrieving revision 1.240 diff -u -p

Re: be more strict when parsing netmasks for IPv6

2018-12-06 Thread Claudio Jeker
On Wed, Dec 05, 2018 at 11:53:48PM +0100, Remi Locherer wrote: > On Wed, Dec 05, 2018 at 09:22:22AM +0100, Claudio Jeker wrote: > > When parsing a network mask into prefixlen be more paranoid and make sure > > no value bigger then 128 is returned. In general this shou

Re: be more strict when parsing netmasks for IPv6

2018-12-06 Thread Claudio Jeker
On Thu, Dec 06, 2018 at 05:14:45PM +0100, Florian Obser wrote: > On Thu, Dec 06, 2018 at 03:24:52PM +0100, Claudio Jeker wrote: > > On Wed, Dec 05, 2018 at 11:53:48PM +0100, Remi Locherer wrote: > > > On Wed, Dec 05, 2018 at 09:22:22AM +0100, Claudio Jeker wrote: > > &g

bgpd refactor aspath_match a bit

2018-11-23 Thread Claudio Jeker
For origin validation I chacked the source_as in struct rde_aspath this is not really the right place. It should be in struct aspath since that holds all the ASPATH related stuff. Change this, move aspath_match out of util.c back into rde_attr.c and adjust code to use the cached value also in

Re: net80211: less frequent background scans

2018-11-23 Thread Claudio Jeker
On Fri, Nov 23, 2018 at 01:34:54PM +0100, Stefan Sperling wrote: > Every time we settle for the same AP after a background scan, > a timeout value is increased to avoid repeated background scans > in situations where no better AP is available. > > The backoff currently increments in steps of half

pass prefixlen to rtable_mpath_reprio instead of mask

2018-11-23 Thread Claudio Jeker
This changes rtable_mpath_reprio() to take the prefixlen as argument instead of the mask. ART is using the prefixlen internally and since we switched to ART some time ago it no longer makes sense to convert the prefixlen into a mask and back again. OK? -- :wq Claudio Index: net/route.c

simple MH_ALIGN -> m_align transformations

2018-11-26 Thread Claudio Jeker
Since M_ALIGN and MH_ALIGN are not streight calls to m_align() convert the users to call directly m_align() so that the macros can be removed at a later stage. This diff has the streight forward bits in it. There is one extra bit in revarprequest() where I make the function more like arprequest()

Re: bgpd refactor aspath_match a bit

2018-11-27 Thread Claudio Jeker
On Tue, Nov 27, 2018 at 04:21:53PM +0100, Job Snijders wrote: > Hi Claudio, > > On Fri, Nov 23, 2018 at 03:55:18PM +0100, Claudio Jeker wrote: > > For origin validation I chacked the source_as in struct rde_aspath > > this is not really the right place. It should be in st

cleanup decision process

2018-11-22 Thread Claudio Jeker
Since a while announcements added by bgpctl will overwrite the ones from the config and no longer live next to each other. Because of this step 13 in the decision process is no longer needed. OK? -- :wq Claudio Index: bgpd.8 ===

Re: bgpd refactor community code

2018-11-22 Thread Claudio Jeker
On Tue, Nov 13, 2018 at 06:53:55PM +0100, Claudio Jeker wrote: > This is a large diff that changes the way communities are stored in > filters and filter_sets. Both standard communities and large communities > now share the same data structure for lookups and at the same time the

Re: prevent bgpd from starting when control socket already used

2018-11-19 Thread Claudio Jeker
On Sun, Nov 18, 2018 at 11:40:40PM +0100, Remi Locherer wrote: > Hi, > > from the discussion I understand nobody rejects the functionality. > > To ease the review here again the diff (with incorporated feedback from > anton@ (redundant parens)). > > Any comments or OKs? Not sure about this,

Re: free(9) sizes for hooks

2018-11-28 Thread Claudio Jeker
On Wed, Nov 28, 2018 at 07:01:16PM -0200, Martin Pieuchot wrote: > Trivial sizes, ok? ok claudio@ > Index: net/if.c > === > RCS file: /cvs/src/sys/net/if.c,v > retrieving revision 1.567 > diff -u -p -r1.567 if.c > --- net/if.c 12

rewrite of bgpd update code

2019-01-04 Thread Claudio Jeker
This is a major diff which replaces some old code of bgpd. Using the Adj-RIB-Out it is possible to replace the old code generating updates and queuing them in two RB trees with a RB tree of prefix elements. The big benefit of this is a lot less memeory pressure during large operations (e.g. when

Re: tcpdump: print SAFI name

2018-12-28 Thread Claudio Jeker
On Fri, Dec 28, 2018 at 12:16:05PM +0100, Denis Fondras wrote: > Print well-known SAFI name instead of value. > > * Before: > BGP (OPEN: Version 4, AS #65530, Holdtime 90, ID 10.2.2.2, Option length 44 > ((CAP MULTI_PROTOCOL [IPv4 Unicast], CAP MULTI_PROTOCOL [IPv4 #128], CAP > MULTI_PROTOCOL

Re: ospfd: fib-priority

2018-12-28 Thread Claudio Jeker
On Fri, Dec 28, 2018 at 02:32:54PM +0100, Remi Locherer wrote: > ping OK claudio@ > On Mon, Dec 10, 2018 at 10:40:22AM +0100, Remi Locherer wrote: > > Hi, > > > > below patch adds "fib-priority" to ospfd.conf which allows to set a > > custom priority to routes. 32 is still the default if not

Re: MPLSv6 2/2 : bgpd diff

2018-12-28 Thread Claudio Jeker
On Tue, Dec 18, 2018 at 12:13:38PM +0100, Denis Fondras wrote: > Here is a serie of diffs to enable MPLSv6, MPLS transport over IPv6. > > Second diff : add support for IPv6 MPLS routes exchange with bgpd(8). > > (***) > pe1# cat /etc/hostname.mpe0

Re: bgpd: remove intermediate value in MP capabilities

2018-12-28 Thread Claudio Jeker
On Fri, Dec 28, 2018 at 02:58:23PM +0100, Denis Fondras wrote: > The parser sets curpeer->conf.capabilities.mp to -1 before setting it to > either > 1 or 0 by default. Set it to 0 by default and change it to 1 when needed. > > Index: parse.y >

Re: MPLSv6 2/2 : bgpd diff

2018-12-28 Thread Claudio Jeker
On Fri, Dec 28, 2018 at 07:50:08PM +0100, Denis Fondras wrote: > On Fri, Dec 28, 2018 at 06:08:16PM +0100, Klemens Nanni wrote: > > On Fri, Dec 28, 2018 at 05:21:02PM +0100, Denis Fondras wrote: > > > int > > > +krVPN6_change(struct ktable *kt, struct kroute_full *kl, u_int8_t > > > fib_prio) >

Re: MPLSv6 2/2 : bgpd diff

2018-12-28 Thread Claudio Jeker
On Fri, Dec 28, 2018 at 05:21:02PM +0100, Denis Fondras wrote: > On Fri, Dec 28, 2018 at 03:15:35PM +0100, Claudio Jeker wrote: > > > /* > > > * This function will have undefined behaviour if the passed in > > > prefixlen is > > > - * to large for

Re: replacing timeout_add() with timeout_add_msec()

2019-01-06 Thread Claudio Jeker
On Sun, Jan 06, 2019 at 01:43:19PM -0600, Amit Kulkarni wrote: > Hi, > > Referring to the end of mpi's message, and also mlarkin@ later comment > https://marc.info/?l=openbsd-tech=154577028830964=2 > > I am trying to replace some easy timeout_add() calls with timeout_add_msec(). > > My current

bgpd parse.y mini-refactor

2018-09-13 Thread Claudio Jeker
Similar to as-set factor out the code to create a prefix-set into a function. Makes all a bit nicer and as an added bonus fixes a memory leak. -- :wq Claudio Index: parse.y === RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v retrieving

bgpd, preparation work for ROA validation

2018-09-13 Thread Claudio Jeker
After prefix-set and as-set I'm looking at adding roa-set. roa-sets are kind of a mix of a prefix-set and a as-set and therefor this diff extends as-set code to allow for this. Extend as_set to allow for different sized objects to be added. The only requirement is that the first value of the

bgpd, introduce maxlen to specify a prefixlen

2018-09-13 Thread Claudio Jeker
ROA entires are allowing to define a prefix with a maxlen. In the end this is just another way to specify a prefixlen range and mostly an or-longer case with an upper limit. So these two prefix statements are equivalent: prefix 10.0.0.0/8 prefixlen 8 - 24 prefix 10.0.0.0/8 maxlen

Re: pcb inet6ctlerrmap

2018-09-12 Thread Claudio Jeker
On Wed, Sep 12, 2018 at 01:08:35PM +0200, Alexander Bluhm wrote: > On Wed, Sep 12, 2018 at 09:01:41AM +0200, Claudio Jeker wrote: > > Why u_char instead of int? The errors in that list are used in errno which > > is an int. So my usual feeling is to use the type which is

bgpd roa-set backend

2018-09-14 Thread Claudio Jeker
This diff extends the existing trie code for prefix-set to also work with roa-set. Unlike prefix-set there is no need for a prefixlen mask during lookup, instead the source-as needs to be checked and also if the prefixlen of the prefix is allowed. The lookup can return 3 states: ROA_UNKNONW:

Re: bgpd roa-set backend

2018-09-14 Thread Claudio Jeker
On Fri, Sep 14, 2018 at 05:27:03PM +0200, Job Snijders wrote: > Dear Claudio, > > On Fri, Sep 14, 2018 at 04:59:51PM +0200, Claudio Jeker wrote: > > This diff extends the existing trie code for prefix-set to also work with > > roa-set. Unlike prefix-set there is no need

Re: memory leak in amdisplay_attach()

2018-09-18 Thread Claudio Jeker
On Tue, Sep 18, 2018 at 03:49:15PM +1000, Jonathan Gray wrote: > Index: amdisplay.c > === > RCS file: /cvs/src/sys/arch/armv7/omap/amdisplay.c,v > retrieving revision 1.7 > diff -u -p -r1.7 amdisplay.c > --- amdisplay.c 25 Oct

Re: memory leak in ihidev_hid_command()

2018-09-18 Thread Claudio Jeker
On Tue, Sep 18, 2018 at 03:50:21PM +1000, Jonathan Gray wrote: > Index: ihidev.c > === > RCS file: /cvs/src/sys/dev/i2c/ihidev.c,v > retrieving revision 1.17 > diff -u -p -r1.17 ihidev.c > --- ihidev.c 25 Aug 2018 18:32:05 -

Re: memory leaks in bwfm

2018-09-18 Thread Claudio Jeker
On Tue, Sep 18, 2018 at 03:52:45PM +1000, Jonathan Gray wrote: > Index: bwfm.c > === > RCS file: /cvs/src/sys/dev/ic/bwfm.c,v > retrieving revision 1.54 > diff -u -p -r1.54 bwfm.c > --- bwfm.c25 Jul 2018 20:37:11 - 1.54 >

Re: uninitialized variable in if_mue.c

2018-09-18 Thread Claudio Jeker
On Tue, Sep 18, 2018 at 07:55:43AM +0100, Ricardo Mestre wrote: > Hi, > > In the case that a mue(4) device is put in promiscuous mode then hashtbl will > be used uninitialized a little bit down the road so set it 0 like it's done in > a lot of other devices. Coverity ID 1473316. > > OK? Please

bgpd: more refactoring for ROA sets

2018-09-18 Thread Claudio Jeker
Since the first bit of ROA sets is in here some refactoring of the code. Split up as_set into a set_table and an as_set. The first is what does the lookup and will now also be used in roa-set tries. The as_set is glue to add the name and dirty flag. Add an accessor to get the set data so that the

bgpd: more RB tree less simpleq

2018-09-19 Thread Claudio Jeker
Switch the prefixset simpleq into an RB trie. This allows to spot duplicates in the parser and is a requirement for roa-sets where conflicts need to be specially handled. OK? -- :wq Claudio Index: bgpd.c === RCS file:

Re: bgpd roa-set backend

2018-09-17 Thread Claudio Jeker
On Fri, Sep 14, 2018 at 04:59:51PM +0200, Claudio Jeker wrote: > This diff extends the existing trie code for prefix-set to also work with > roa-set. Unlike prefix-set there is no need for a prefixlen mask during > lookup, instead the source-as needs to be checked and also if the &g

Re: uvm_fault: ip_ctloutput

2018-12-03 Thread Claudio Jeker
On Sun, Dec 02, 2018 at 11:15:03AM +0100, Claudio Jeker wrote: > On Sun, Dec 02, 2018 at 09:29:23AM +0100, Claudio Jeker wrote: > > On Sat, Dec 01, 2018 at 06:44:31PM -0800, Greg Steuck wrote: > > > This thwarts the reproducer. Again, I don't know if the invariants are >

Terminate RIB walks when bgpctl quits

2018-12-19 Thread Claudio Jeker
When running something like: bgpctl show rib | head -5 bgpctl will exit quickly but bgpd will still do the full table walk, sending imsg from RDE to SE and then the SE will drop them since the connection to bgpctl died. In most cases this is not a big deal but for the show rib commands a

Re: teach tcpdump about the LLDP_Multicast group

2018-12-19 Thread Claudio Jeker
On Thu, Dec 20, 2018 at 01:01:16PM +1000, David Gwynne wrote: > ok? > > Index: addrtoname.c > === > RCS file: /cvs/src/usr.sbin/tcpdump/addrtoname.c,v > retrieving revision 1.38 > diff -u -p -r1.38 addrtoname.c > --- addrtoname.c

Re: MPLSv6 1/2: kernel diff

2019-01-28 Thread Claudio Jeker
On Mon, Jan 28, 2019 at 01:36:44PM +1000, David Gwynne wrote: > > > > On 27 Dec 2018, at 5:42 pm, Claudio Jeker wrote: > > > > On Wed, Dec 26, 2018 at 09:27:59PM +0100, Denis Fondras wrote: > >> Resend because of nasty typo :/ > >> > >&g

bgpd fix SE spinning on startup

2019-04-02 Thread Claudio Jeker
I noticed that when starting my test bgpd multihop sessions that the session engine is busy spinning until the tables are loaded. Now since the network is rather slow this does not make sense and indicates that the poll timeout is wrongly set to 0 almost all the time until the session finished the

Removing PF

2019-03-31 Thread Claudio Jeker
There have been internal discussions about OpenBSD also removing the pf packet filter after the upcoming 6.5 release. Instead a switch to using David Gwynne's new bpf filter will happen. The benefits outweigh the drawbacks and the missing features will be readily implemented in time for the 6.6

Re: route.4: Recommend ROUTE_TABLEFILTER

2019-04-03 Thread Claudio Jeker
On Wed, Apr 03, 2019 at 10:23:30AM +0200, Klemens Nanni wrote: > On Wed, Apr 03, 2019 at 09:53:46AM +0200, Klemens Nanni wrote: > > While here, document RTABLE_ANY and mention rtable(4). > Improved versiono that uses 5 as example and marks up RTABLE_ANY inline > instead, making it searchable with

Re: ospfd: Apply netmask to stub prefixes before adding the route to the route table

2019-04-04 Thread Claudio Jeker
On Thu, Apr 04, 2019 at 05:29:40PM +0200, Remi Locherer wrote: > On Tue, Apr 02, 2019 at 07:27:07PM +1000, Mitchell Krome wrote: > > On 2/04/2019 3:30 pm, Remi Locherer wrote: > > > Hi Mitchell > > > > > > On Sat, Mar 30, 2019 at 04:10:09PM +1000, Mitchell Krome wrote: > > >> I kept finding I had

Re: bgpd: remove announce ... from the manpage too

2019-03-31 Thread Claudio Jeker
On Wed, Mar 27, 2019 at 09:43:31PM +0100, Sebastian Benoit wrote: > > ok? Sure. > (benno_announce_doc.diff) > > diff --git usr.sbin/bgpd/bgpd.conf.5 usr.sbin/bgpd/bgpd.conf.5 > index a6f975e935d..86adf872f64 100644 > --- usr.sbin/bgpd/bgpd.conf.5 > +++ usr.sbin/bgpd/bgpd.conf.5 > @@ -737,23

Re: bgpd: unbreak route origin validation

2019-03-31 Thread Claudio Jeker
On Fri, Mar 22, 2019 at 04:47:46PM +0100, Denis Fondras wrote: > ROV has been broken since the configuration reload changes. I don't like this. The goal is to not use memcpy for struct bgpd_config because of all the pointer it holds. It feels like a field is missing in copy_config(). Will look

Re: [PATCH] bgpctl(8): improve user interface for RPKI Origin Validation

2019-04-01 Thread Claudio Jeker
On Mon, Apr 01, 2019 at 03:42:02PM +0200, Job Snijders wrote: > Dear all, > > I've consulted with numerous user interface experts, their consistent > advice was to facilitate internalization by provoking simpler, stronger > emotions through the text based interface. > > bgpctl(8) will now

Re: bgpd: unbreak route origin validation

2019-03-31 Thread Claudio Jeker
On Fri, Mar 22, 2019 at 09:25:32PM +0100, Denis Fondras wrote: > (better when the right diff is sent...) > > ROV has been broken since the configuration reload changes. > > Index: rde.c > === > RCS file:

bgpd use long long instead of int64_t

2019-02-18 Thread Claudio Jeker
In some places bgpd just wants something bigger then a 32bit int. Instead of using int64_t or u_int64_t use (unsigned) long long which is at least 64bit and therefor good enough. Makes the mess with type definition of int64_t on various systems go away (including a bunch of type casts). While

Re: bgpd use long long instead of int64_t

2019-02-18 Thread Claudio Jeker
On Mon, Feb 18, 2019 at 10:11:03PM +0100, Mark Kettenis wrote: > > Date: Mon, 18 Feb 2019 21:59:38 +0100 > > From: Claudio Jeker > > > > In some places bgpd just wants something bigger then a 32bit int. > > Instead of using int64_t or u_int64_t use (unsigned) l

bgpd another sockaddr conversion

2019-02-26 Thread Claudio Jeker
That last usage of ss_len in bgpctl is there to print the local and remote connection info. Now there are two options, a) pass or deduce the length or b) don't use sockaddr_storage to pass this data around. Now after a bit of back and forth I decided to go for b) since it simplifies some code in

Re: iked(8): update RFC references

2019-02-27 Thread Claudio Jeker
On Wed, Feb 27, 2019 at 01:08:44PM +0100, Tobias Heider wrote: > Hi, > > i went through the code and man pages and updated obsolete RFC > references according to [iana]. > > The remaining mentions of RFC4306 are deprecated and listed as RESERVED > in the current registry, should they be removed

bgpd plug memory leak in parent process

2019-02-28 Thread Claudio Jeker
florian@ noticed that his bgpd-spamd box was leaking memory on reload. The problem comes from a fact that when the same network is readded this is actually being leaked instead of just freeing the 2nd copy. Following diff fixes this problem. -- :wq Claudio Index: kroute.c

bgpd, better cleanup and handling of config

2019-03-01 Thread Claudio Jeker
While looking into the memory leak reported by florian@ I found a few other troubles when it comes to properly cleanup on exit. Doing that helps a lot when looking for leaks :) This diff is doing general more cleanup in the shutdown paths (removing config bits and other data structures that have

Re: interface queue drops in systat again, plus netstat

2019-03-04 Thread Claudio Jeker
On Mon, Mar 04, 2019 at 09:17:00PM +1000, David Gwynne wrote: > this combines errors and qdrops into fails, and shows them by default. > if you want to look at drops or errors, you can use d or f to switch to > that view. > > this also changes netstat so it shows fails by default which is a >

Re: bgpd use long long instead of int64_t

2019-02-19 Thread Claudio Jeker
On Tue, Feb 19, 2019 at 12:10:25AM +0100, Andreas Kusalananda Kähäri wrote: > On Mon, Feb 18, 2019 at 10:11:03PM +0100, Mark Kettenis wrote: > > > Date: Mon, 18 Feb 2019 21:59:38 +0100 > > > From: Claudio Jeker > > > > > > In some places bgpd just

bgpd, if_media and link state

2019-02-21 Thread Claudio Jeker
So util.c has a few functions to pretty print interface information like media and link state. These functions are highly system specific and only used by kroute.c and in bgpctl to show kroute internals. This diffs creates a ctl_show_interface struct used in the imsgs between bgpd and bgpctl. The

Re: acpithinkpad: fix brightness keys, keyboard backlight value

2019-03-06 Thread Claudio Jeker
On Tue, Mar 05, 2019 at 02:03:13PM -0600, joshua stein wrote: > Here we go again... > > On at least the ThinkPad X1C6, the screen brightness keys (F5 and > F6) do not work and "wsconsctl keyboard.backlight" doesn't report > the correct value when the keyboard backlight is adjusted with >

bgpctl mrt parser refactor

2019-02-22 Thread Claudio Jeker
Instead of using and abusing sockaddr structs to parse addrs in mrt messages use struct bgpd_addr since bgpctl can handle them much better. I first wrote the mrt parser independet of bgpctl and decided to not use bgpd internals. I no longer see the benefit of this. This makes the code cleaner. I

Re: ix(4): align rx payloads to the end of the cluster

2019-02-25 Thread Claudio Jeker
On Mon, Feb 25, 2019 at 08:08:32PM +1000, David Gwynne wrote: > On Mon, Feb 25, 2019 at 08:44:35AM +0100, Claudio Jeker wrote: > > On Mon, Feb 25, 2019 at 10:49:16AM +1000, David Gwynne wrote: > > > the mcl2k2 pool, aka the intel mbuf cluster pool, gets set up to allocate >

Re: ix(4): align rx payloads to the end of the cluster

2019-02-25 Thread Claudio Jeker
On Mon, Feb 25, 2019 at 11:13:11AM +0100, Claudio Jeker wrote: > On Mon, Feb 25, 2019 at 08:08:32PM +1000, David Gwynne wrote: > > On Mon, Feb 25, 2019 at 08:44:35AM +0100, Claudio Jeker wrote: > > > On Mon, Feb 25, 2019 at 10:49:16AM +1000, David Gwynne wrote: > >

Re: ix(4): align rx payloads to the end of the cluster

2019-02-24 Thread Claudio Jeker
On Mon, Feb 25, 2019 at 10:49:16AM +1000, David Gwynne wrote: > the mcl2k2 pool, aka the intel mbuf cluster pool, gets set up to allocate > at least 2048 + 2 bytes, which gets rounded up by 64 bytes to 2112 > bytes. this diff makes ix move the reception of packets to the end of > the 2112 byte

Re: relayd websocket

2019-03-05 Thread Claudio Jeker
On Tue, Mar 05, 2019 at 04:21:30PM +, Rivo Nurges wrote: > Hi! > > RFC 6455 4.2.1 states: > 4. A |Connection| header field that *includes* the token "Upgrade", > treated as an ASCII case-insensitive value. > > In my test case Firefox sends: Connection: keep-alive, Upgrade > > Relayd

<    3   4   5   6   7   8   9   10   11   12   >