openbsd
6 years agovarious tweaks; ok florian
jmc [Fri, 13 Jul 2018 05:25:29 +0000 (05:25 +0000)]
various tweaks; ok florian

6 years agozap some garbage that snuck in.
tb [Fri, 13 Jul 2018 05:25:24 +0000 (05:25 +0000)]
zap some garbage that snuck in.

spotted by kevlo

6 years ago- differentiate between join and nwid
jmc [Fri, 13 Jul 2018 05:22:34 +0000 (05:22 +0000)]
- differentiate between join and nwid
- remove some duplication between them
- document -join
- sort

ok phessler

6 years agomake this use ssh_proxy rather than starting/stopping a daemon for
djm [Fri, 13 Jul 2018 02:13:50 +0000 (02:13 +0000)]
make this use ssh_proxy rather than starting/stopping a daemon for
each testcase

6 years agofix leaks in unit test; with this, all unit tests are leak free
djm [Fri, 13 Jul 2018 02:13:19 +0000 (02:13 +0000)]
fix leaks in unit test; with this, all unit tests are leak free
(as far as valgrind can spot anyway)

6 years agowe will be toggling witness on/off a few times. when it is on, it raises
deraadt [Thu, 12 Jul 2018 22:09:04 +0000 (22:09 +0000)]
we will be toggling witness on/off a few times.  when it is on, it raises
awareness of problems.  when it is off, development cycles are faster.
let's do the faster cycle for a little while.
discussion with naddy

6 years agosync
deraadt [Thu, 12 Jul 2018 22:07:57 +0000 (22:07 +0000)]
sync

6 years agostore and print the rdomain of the interfaces we see.
benno [Thu, 12 Jul 2018 21:45:37 +0000 (21:45 +0000)]
store and print the rdomain of the interfaces we see.
ok phessler@ henning@

6 years agoif we couldn't update the clock for ~1h due to lack of data from peers and
henning [Thu, 12 Jul 2018 19:31:05 +0000 (19:31 +0000)]
if we couldn't update the clock for ~1h due to lack of data from peers and
sensors, mark us unsynced again. ok reyk krw, pt out / discussion / help naddy

6 years agomissing .Ek;
jmc [Thu, 12 Jul 2018 18:45:13 +0000 (18:45 +0000)]
missing .Ek;

6 years agoCleanup and clarify getuint64() by using the
krw [Thu, 12 Jul 2018 16:59:59 +0000 (16:59 +0000)]
Cleanup and clarify getuint64() by using the
same functions as auto-allocation. parse_sizespec()
and apply_unit(). No intentional functional
change.

Looked good to tb@

6 years agoCleanup and clarify the has_overlap() logic so it can be read by
krw [Thu, 12 Jul 2018 16:53:09 +0000 (16:53 +0000)]
Cleanup and clarify the has_overlap() logic so it can be read by
normal people and is more efficient to boot.

The only intentional functional change was to use mergesort()
instead of heapsort() so that partitions with the same offset
retain their order in the emitted verbiage.

Looked good to tb@, ok kn@

6 years agoRTM_CHGADDRATTR for route monitor
florian [Thu, 12 Jul 2018 16:08:02 +0000 (16:08 +0000)]
RTM_CHGADDRATTR for route monitor
OK phessler, benno, claudio

6 years agoIntroduce RTM_CHGADDRATTR to inform userland on the route socket when
florian [Thu, 12 Jul 2018 16:07:35 +0000 (16:07 +0000)]
Introduce RTM_CHGADDRATTR to inform userland on the route socket when
an attribute of an address is changed.
For now it's used when IPv6 duplicate address detection finishes.

With this slaacd(8) can find out if a configured address is not
duplicated without the need to poll.

OK phessler, benno, claudio

6 years agoIntroduce ipsec_output_cb() to merge duplicate code and account for
mpi [Thu, 12 Jul 2018 15:51:50 +0000 (15:51 +0000)]
Introduce ipsec_output_cb() to merge duplicate code and account for
dropped packets in the output path.

While here fix a memory leak when compression is not needed w/ IPcomp.

ok markus@

6 years agounbreak i386 build, thanks to pd@ for noticing. Same diff as I committed
mlarkin [Thu, 12 Jul 2018 15:48:02 +0000 (15:48 +0000)]
unbreak i386 build, thanks to pd@ for noticing. Same diff as I committed
earlier for amd64

6 years agozap an extra newline
mlarkin [Thu, 12 Jul 2018 15:13:33 +0000 (15:13 +0000)]
zap an extra newline

6 years agoThe vmctl start -I option was changed to -t.
reyk [Thu, 12 Jul 2018 14:53:37 +0000 (14:53 +0000)]
The vmctl start -I option was changed to -t.

I committed the manpage but accidentally forgot the main.c part.

OK ccardenas@

6 years agoAdd a function to delete all nodes with a specific name.
kettenis [Thu, 12 Jul 2018 14:46:45 +0000 (14:46 +0000)]
Add a function to delete all nodes with a specific name.
Add a function to determine the size of a machine description.

6 years agotrade few 'goto unlock: for 'break' in pf_test()
sashan [Thu, 12 Jul 2018 14:28:07 +0000 (14:28 +0000)]
trade few 'goto unlock: for 'break' in pf_test()

OK mpi@, OK henning@, OK jca@

6 years agoUnbreak the nmi handler (again): I placed INTR_CLEAR_GPRS in the wrong
guenther [Thu, 12 Jul 2018 14:24:54 +0000 (14:24 +0000)]
Unbreak the nmi handler (again): I placed INTR_CLEAR_GPRS in the wrong
place and GS.base was horked on return.  Also, the frame passed to ddb
didn't have the %rbp<-->tf_err swap, which would have confused backtraces.
Now if we can just come up with a way to automate testing the NMI handler
with qemu...

6 years ago- introducing _Q_INVALID to sys/queue.h
sashan [Thu, 12 Jul 2018 14:22:54 +0000 (14:22 +0000)]
- introducing _Q_INVALID to sys/queue.h

OK @bluhm, OK @otto, OK @guenther

6 years agoReorganize the Meltdown entry and exit trampolines for syscall and
guenther [Thu, 12 Jul 2018 14:11:11 +0000 (14:11 +0000)]
Reorganize the Meltdown entry and exit trampolines for syscall and
traps so that the "mov %rax,%cr3" is followed by an infinite loop
which is avoided because the mapping of the code being executed is
changed.  This means the sysretq/iretq isn't even present in that
flow of instructions in the kernel mapping, so userspace code can't
be speculatively reached on the kernel mapping and totally eliminates
the conditional jump over the the %cr3 change that supported CPUs
without the Meltdown vulnerability.  The return paths were probably
vulnerable to Spectre v1 (and v1.1/1.2) style attacks, speculatively
executing user code post-system-call with the kernel mappings, thus
creating cache/TLB/etc side-effects.

Would like to apply this technique to the interrupt stubs too, but
I'm hitting a bug in clang's assembler which misaligns the code and
symbols.

While here, when on a CPU not vulnerable to Meltdown, codepatch out
the unnecessary bits in cpu_switchto().

Inspiration from sf@, refined over dinner with theo
ok mlarkin@ deraadt@

6 years agofix Test 7.1 after main.c rev. 1.37;
schwarze [Thu, 12 Jul 2018 14:06:39 +0000 (14:06 +0000)]
fix Test 7.1 after main.c rev. 1.37;
breaking the output lines earlier with the 'l' command is intentional

6 years agoAdd support for rdomains.
remi [Thu, 12 Jul 2018 13:45:03 +0000 (13:45 +0000)]
Add support for rdomains.

small quirk from tb@
ok phessler@

6 years agoRemove cases for 1-bit and 4-bit color depths in efifb_ioctl(), as we
fcambus [Thu, 12 Jul 2018 12:47:57 +0000 (12:47 +0000)]
Remove cases for 1-bit and 4-bit color depths in efifb_ioctl(), as we
basically can't run in those modes.

OK kettenis@

6 years agoStop building rasops4 on amd64.
fcambus [Thu, 12 Jul 2018 12:46:00 +0000 (12:46 +0000)]
Stop building rasops4 on amd64.

It was pulled in for efifb, but it is extremely unlikely an EFI system
supporting only 4-bit color depth (16 colors) exists. Even if it existed
though, on SMALL_KERNEL rasops4_putchar() simply returns EAGAIN so it
would not be possible to install the system.

For the record, we do not build rasops4 on i386 or on any of our other
platforms either.

OK kettenis@, mpi@

6 years agoUse (mostly) the same capitalisation in the replacement string as in
florian [Thu, 12 Jul 2018 12:38:56 +0000 (12:38 +0000)]
Use (mostly) the same capitalisation in the replacement string as in
the replaced string:

replacing foo with bar turns

foo
Foo
FOO

into

bar
Bar
BAR

OK phessler, benno

6 years agosymlinks make my cry.. thanks robert.. don't you care about my feelings?
beck [Thu, 12 Jul 2018 12:20:11 +0000 (12:20 +0000)]
symlinks make my cry.. thanks robert.. don't you care about my feelings?

6 years agoWith the "depend on" option routes are sent out with a metric of 65535 if
remi [Thu, 12 Jul 2018 12:19:05 +0000 (12:19 +0000)]
With the "depend on" option routes are sent out with a metric of 65535 if
the referenced interface is down or in state backup. This is especially
useful on a carp cluster to ensure all traffic goes to the carp master.

ok friehm@ jca@

6 years agoAllow to use configured/running VMs as templates for other VM instances.
reyk [Thu, 12 Jul 2018 12:04:49 +0000 (12:04 +0000)]
Allow to use configured/running VMs as templates for other VM instances.

This introduces new grammar and the -t optional in vmctl start.

(For now, only root can create VM instances; but it is planned to allow
users to create their own VMs based on permissions and quota.)

OK ccardenas@ mlarkin@ jmc@

6 years agoAdd regress test for realpath and modify behavior appropriately
beck [Thu, 12 Jul 2018 11:42:33 +0000 (11:42 +0000)]
Add regress test for realpath and modify behavior appropriately

6 years agozap a blank line
mlarkin [Thu, 12 Jul 2018 10:16:41 +0000 (10:16 +0000)]
zap a blank line

6 years agovmm(8)/vmm(4): send a copy of the guest register state to vmd on exit,
mlarkin [Thu, 12 Jul 2018 10:15:44 +0000 (10:15 +0000)]
vmm(8)/vmm(4): send a copy of the guest register state to vmd on exit,
avoiding multiple readregs ioctls back to vmm in case register content
is needed subsequently.

ok phessler

6 years agorc(8) infrastructure for rad
florian [Thu, 12 Jul 2018 08:20:36 +0000 (08:20 +0000)]
rc(8) infrastructure for rad

6 years agohook up rad(8) and ractl(8) to the build
florian [Thu, 12 Jul 2018 08:19:00 +0000 (08:19 +0000)]
hook up rad(8) and ractl(8) to the build

6 years agouse _rad user
florian [Thu, 12 Jul 2018 08:18:10 +0000 (08:18 +0000)]
use _rad user

6 years agoAdd _rad user and group for rad(8).
florian [Thu, 12 Jul 2018 08:17:26 +0000 (08:17 +0000)]
Add _rad user and group for rad(8).
This recycles the _btd uid/gid that have been removed in 2013.
Discussed in the hackroom.

6 years agoInstead of having a button for printing the driver(s) attached to a USB
mpi [Thu, 12 Jul 2018 07:58:23 +0000 (07:58 +0000)]
Instead of having a button for printing the driver(s) attached to a USB
device, do it when invoked with '-v'.

While here recycle '-d' to specify a specific device node, like pcidump(8)
does.

ok jca@, sthen@

6 years agosynch documentation with reality, noticed by landry@
espie [Thu, 12 Jul 2018 06:22:20 +0000 (06:22 +0000)]
synch documentation with reality, noticed by landry@

6 years agosyncookies never is the default; from paul de weerd
jmc [Thu, 12 Jul 2018 05:54:49 +0000 (05:54 +0000)]
syncookies never is the default; from paul de weerd
ok henning

6 years agoremove prototype to long-gone function
djm [Thu, 12 Jul 2018 04:35:25 +0000 (04:35 +0000)]
remove prototype to long-gone function

6 years agoAdd hw.ncpuonline to count the number of online CPUs.
cheloha [Thu, 12 Jul 2018 01:23:38 +0000 (01:23 +0000)]
Add hw.ncpuonline to count the number of online CPUs.

The introduction of hw.smt means that logical CPUs can be disabled
after boot and prior to suspend/resume.  If hw.smt=0 (the default),
there needs to be a way to count the number of hardware threads
available on the system at any given time.

So, import HW_NCPUONLINE/hw.ncpuonline from NetBSD and document it.
hw.ncpu becomes equal to the number of CPUs given to sched_init_cpu()
during boot, while hw.ncpuonline is equal to the number of CPUs available
to the scheduler in the cpuset "sched_all_cpus". Set_SC_NPROCESSORS_ONLN
equal to this new sysctl and keep _SC_NPROCESSORS_CONF equal to hw.ncpu.

This is preferable to adding a new sysctl to count the number of
configured CPUs and keeping hw.ncpu equal to the number of online
CPUs because such a change would break software in the ecosystem
that relies on HW_NCPU/hw.ncpu to measure CPU usage and the like.
Such software in base includes top(1), systat(1), and snmpd(8),
and perhaps others.

We don't need additional locking to count the cardinality of a cpuset
in this case because the only interfaces that can modify said cardinality
are sysctl(2) and ioctl(2), both of which are under the KERNEL_LOCK.

Software using HW_NCPU/hw.ncpu to determine optimal parallism will need
to be updated to use HW_NCPUONLINE/hw.ncpuonline.  Until then, such software
may perform suboptimally.  However, most changes will be similar to the
change included here for libcxx's std::thread:hardware_concurrency():
using HW_NCPUONLINE in lieu of HW_NCPU should be sufficient for determining
optimal parallelism for most software if the change to _SC_NPROCESSORS_ONLN
is insufficient.

Prompted by deraadt. Discussed at length with kettenis, deraadt, and sthen.
Lots of patch tweaks from kettenis.

ok kettenis, "proceed" deraadt

6 years agoExplicitly call "/etc/rc.d/vmd stop". This issues graceful shutdown commands
sthen [Wed, 11 Jul 2018 21:49:37 +0000 (21:49 +0000)]
Explicitly call "/etc/rc.d/vmd stop". This issues graceful shutdown commands
to running VMs (at least for OpenBSD ones), but the stop routine for system
daemons is not usually called at shutdown.

Earlier version with just "vmd stop" ok reyk@ kn@, ajacoutot@ reminded me
to hide the contextless "vmd(ok)" text which looks bad, I did so and wrapped
it with a "stopping VMs" message (it can take some time, especially when you
have multiple VMs, so better to have some clear feedback).

6 years agocheck string lengths in vm_start
reyk [Wed, 11 Jul 2018 21:29:05 +0000 (21:29 +0000)]
check string lengths in vm_start

6 years agoDisambiguate the source of panics in sys/net* by adding __func__
nayden [Wed, 11 Jul 2018 21:18:23 +0000 (21:18 +0000)]
Disambiguate the source of panics in sys/net* by adding __func__
magic constant to panic() calls.
ok benno@ henning@ tb@

6 years agoThe routing table bgpd runs in needs to be a routing domain.
benno [Wed, 11 Jul 2018 21:10:07 +0000 (21:10 +0000)]
The routing table bgpd runs in needs to be a routing domain.
ok claudio henning

6 years agoRemove RTM_LOSING from the file, it is no longer used by OpenBSD and
claudio [Wed, 11 Jul 2018 20:38:57 +0000 (20:38 +0000)]
Remove RTM_LOSING from the file, it is no longer used by OpenBSD and
route6d is not realy using it anyway.
OK henning@

6 years agosome regression tests for lam(1) including width measurements;
schwarze [Wed, 11 Jul 2018 20:24:35 +0000 (20:24 +0000)]
some regression tests for lam(1) including width measurements;
will be fixed soon and then linked to the build

6 years agoIntroduce 'auto-join' to the wifi 802.11 stack.
phessler [Wed, 11 Jul 2018 20:18:09 +0000 (20:18 +0000)]
Introduce 'auto-join' to the wifi 802.11 stack.

This allows a system to remember which ESSIDs it wants to connect to, any
relevant security configuration, and switch to it when the network we are
currently connected to is no longer available.

Works when connecting and switching between WPA2/WPA1/WEP/clear encryptions.

example hostname.if:
join home wpakey password
join work wpakey mekmitasdigoat
join open-lounge
join cafe wpakey cafe2018
join "wepnetwork" nwkey "12345"
dhcp
inet6 autoconf
up

OK stsp@ reyk@
and enthusiasm from every hackroom I've been in for the last 3 years

6 years agoDeclare cpu_meltdown in <machine/cpu.h>
guenther [Wed, 11 Jul 2018 20:07:55 +0000 (20:07 +0000)]
Declare cpu_meltdown in <machine/cpu.h>

6 years agoregress to check nested subdirs and ..'s
beck [Wed, 11 Jul 2018 20:01:56 +0000 (20:01 +0000)]
regress to check nested subdirs and ..'s

6 years agosuperfluous newline
henning [Wed, 11 Jul 2018 19:52:19 +0000 (19:52 +0000)]
superfluous newline

6 years agoIf no thread can immediately handle a signal, which has been sent
bluhm [Wed, 11 Jul 2018 19:28:16 +0000 (19:28 +0000)]
If no thread can immediately handle a signal, which has been sent
to the process, it is made pending at the main thread.  There it
could hang forever.  So also check the main thread for signal
delivery.  This workaround fixes hung tests in posixtestsuite.  The
proper solution would be to split pending signals for process and
threads.
input visa@; OK guenther@

6 years agoimprove the path hash function (instead of just hashing the aspath put
claudio [Wed, 11 Jul 2018 19:05:41 +0000 (19:05 +0000)]
improve the path hash function (instead of just hashing the aspath put
most other attrs into the hash as well). At the same time use the full
64 bit of SipHash in various places.
Tested by and OK benno@ phessler@

6 years agocleanly shutdown by sending advertisement with lifetime 0
florian [Wed, 11 Jul 2018 19:05:25 +0000 (19:05 +0000)]
cleanly shutdown by sending advertisement with lifetime 0

6 years agotreat ssh_packet_write_wait() errors as fatal; ok djm@
markus [Wed, 11 Jul 2018 18:55:11 +0000 (18:55 +0000)]
treat ssh_packet_write_wait() errors as fatal; ok djm@

6 years agoremove legacy key emulation layer; ok djm@
markus [Wed, 11 Jul 2018 18:53:29 +0000 (18:53 +0000)]
remove legacy key emulation layer; ok djm@

6 years agoRemove the i386 specific mention for pcvtfonts, they are also installed
fcambus [Wed, 11 Jul 2018 18:45:45 +0000 (18:45 +0000)]
Remove the i386 specific mention for pcvtfonts, they are also installed
on alpha and amd64.

No objection from jmc@.

OK deraadt@, sthen@

6 years agoDetect vmm(4) in the bootloader and automatically switch to the serial
mlarkin [Wed, 11 Jul 2018 18:08:05 +0000 (18:08 +0000)]
Detect vmm(4) in the bootloader and automatically switch to the serial
console at 115200 baud.

ok deraadt

6 years agoPrevent invalid interface specifiers on queue rules
kn [Wed, 11 Jul 2018 18:06:25 +0000 (18:06 +0000)]
Prevent invalid interface specifiers on queue rules

pf.conf(5) states that queues attach to actual interfaces only, yet the
following parses:

# echo queue eq on egress bandwidth 1G default | pfctl -f-
# pfctl -sq
pfctl: DIOCGETQSTATS: Bad file descriptor

# echo queue rq on rdomain 0 bandwidth 1G default | pfctl -vf-
queue rq bandwidth 1G default
# pfctl -sq
pfctl: DIOCGETQSTATS: Bad file descriptor

On rdomains, ifa_exists() returns NULL.
On interface groups, ifa_exists() returns non-NULL but af is never set
to AF_LINK.

OK henning sashan

6 years agoadding __func__ identifier to panic() calls in vmm.c for amd64 and i386
nayden [Wed, 11 Jul 2018 18:04:18 +0000 (18:04 +0000)]
adding __func__ identifier to panic() calls in vmm.c for amd64 and i386
ok mlarkin@

6 years agoPrevent updating async option on softdep mount
kn [Wed, 11 Jul 2018 17:44:57 +0000 (17:44 +0000)]
Prevent updating async option on softdep mount

`mount -uo async,nosoftdep /mnt' would set "async" but keep "softdep"
untouched on a read/write mount.

OK deraadt krw beck bluhm

6 years agoBump some of the hash table size to more resonable numbers.
claudio [Wed, 11 Jul 2018 17:35:07 +0000 (17:35 +0000)]
Bump some of the hash table size to more resonable numbers.
Still probably not optimal but less bad.

6 years agoSend a RA with router lifetime of 0 when an interface is removed from
florian [Wed, 11 Jul 2018 17:32:05 +0000 (17:32 +0000)]
Send a RA with router lifetime of 0 when an interface is removed from
the config.

RFC 4861, 6.2.5:
[...] the router SHOULD transmit one or more (but not more than
MAX_FINAL_RTR_ADVERTISEMENTS) final multicast Router Advertisements on
the interface with a Router Lifetime field of zero.

6 years agoremove useless macro;
jmc [Wed, 11 Jul 2018 17:21:57 +0000 (17:21 +0000)]
remove useless macro;

6 years ago"running tags"
espie [Wed, 11 Jul 2018 16:53:14 +0000 (16:53 +0000)]
"running tags"

6 years agosort tokens
reyk [Wed, 11 Jul 2018 16:43:24 +0000 (16:43 +0000)]
sort tokens

6 years agodo not pick up groff from /usr/local/bin in configure, noticed by benno@;
naddy [Wed, 11 Jul 2018 16:38:03 +0000 (16:38 +0000)]
do not pick up groff from /usr/local/bin in configure, noticed by benno@;
ok benno@ jca@

6 years agostyle - indent each case statement in a switch.
reyk [Wed, 11 Jul 2018 16:37:31 +0000 (16:37 +0000)]
style - indent each case statement in a switch.

6 years agoPrint out the hash info sent by the RDE in bgpctl show rib mem
claudio [Wed, 11 Jul 2018 16:35:37 +0000 (16:35 +0000)]
Print out the hash info sent by the RDE in bgpctl show rib mem
OK phessler@ benno@

6 years agoOn IMSG_CTL_SHOW_RIB_MEM also send back information of some of the
claudio [Wed, 11 Jul 2018 16:34:36 +0000 (16:34 +0000)]
On IMSG_CTL_SHOW_RIB_MEM also send back information of some of the
hash structures used in the RDE. Makes it fairly obvious that more
is needed in that area.
OK phessler@ benno@

6 years agotest changed stat lying semantics - we don't lie about files
beck [Wed, 11 Jul 2018 16:25:39 +0000 (16:25 +0000)]
test changed stat lying semantics - we don't lie about files

6 years agoPrint the rdomain config option if present.
remi [Wed, 11 Jul 2018 15:41:19 +0000 (15:41 +0000)]
Print the rdomain config option if present.

ok kn@ tb@ deraadt@ sthen@ jca@

6 years agoUse AF_UNSPEC not 0
kn [Wed, 11 Jul 2018 15:25:42 +0000 (15:25 +0000)]
Use AF_UNSPEC not 0

6 years agoSome spaces have been removed from pfctl print. Adapt expected
bluhm [Wed, 11 Jul 2018 14:57:58 +0000 (14:57 +0000)]
Some spaces have been removed from pfctl print.  Adapt expected
output in regress.

6 years agoretire the old cron socket path; ok jca millert
deraadt [Wed, 11 Jul 2018 14:51:01 +0000 (14:51 +0000)]
retire the old cron socket path; ok jca millert

6 years agoDetect vmm(4) in the bootloader and automatically switch to the serial
mlarkin [Wed, 11 Jul 2018 14:48:40 +0000 (14:48 +0000)]
Detect vmm(4) in the bootloader and automatically switch to the serial
console at 115200 baud.

tested by phessler and myself, ok deraadt

6 years agoRegress update to match changes for chrome
beck [Wed, 11 Jul 2018 14:35:37 +0000 (14:35 +0000)]
Regress update to match changes for chrome

6 years agoFix comment about VLAN encapsulation and checksum offload
sf [Wed, 11 Jul 2018 14:20:18 +0000 (14:20 +0000)]
Fix comment about VLAN encapsulation and checksum offload

Document that some chips actually could do hardware checksum offload for
encapsulated packets, though that would need special handling in those
drivers.

discussions and ok naddy@

6 years agoadd option "network ... priority number" to announce prefixes from the
benno [Wed, 11 Jul 2018 14:08:46 +0000 (14:08 +0000)]
add option "network ... priority number" to announce prefixes from the
kernel routing table selected by priority.
For example to import all ospfd/ospf6d routes into bgp.
tested by remi@
ok remi@ henning@ and maybe a little claudio@

6 years agoDetect when a router advertisement packet changes due to config
florian [Wed, 11 Jul 2018 14:03:13 +0000 (14:03 +0000)]
Detect when a router advertisement packet changes due to config
change and if it does send a new advertisement.

The way this is implemented gives us various things for free:
- periodic sending of router advertisements
- send initial advertisement for every interface on startup

6 years agono longer needed
florian [Wed, 11 Jul 2018 14:01:44 +0000 (14:01 +0000)]
no longer needed

6 years agoSync comment
kn [Wed, 11 Jul 2018 13:57:53 +0000 (13:57 +0000)]
Sync comment

Makes it a tad easier to read through and compare with BN_swap_ct().

OK tb

6 years agoAdd -w option to vmctl stop to wait for completion of VM termination.
reyk [Wed, 11 Jul 2018 13:19:47 +0000 (13:19 +0000)]
Add -w option to vmctl stop to wait for completion of VM termination.

Use it in /etc/rc.d/vmd accordingly.

OK sthen@

6 years agovmm(4): return proper cache topology for cpuid(0x4)
mlarkin [Wed, 11 Jul 2018 13:19:42 +0000 (13:19 +0000)]
vmm(4): return proper cache topology for cpuid(0x4)

Make the cache neighbor fields match the number of VCPUs present
(currently 1)

ok reyk

6 years agoRetire RTM_LOSING, it no longer makes sense and on busy servers the
claudio [Wed, 11 Jul 2018 13:08:00 +0000 (13:08 +0000)]
Retire RTM_LOSING, it no longer makes sense and on busy servers the
route socket is flooded with those messages. Instead maek sure that the
removal of the dynamic route that can happen is actually also sent to
the routing socket.
OK mpi@ henning@

6 years agortm_send() the cloned routes because of ICMP mtu changes. Until now
claudio [Wed, 11 Jul 2018 13:06:16 +0000 (13:06 +0000)]
rtm_send() the cloned routes because of ICMP mtu changes. Until now
these changes to the routing table have not been visible whereas the
RTM_DELETE of those routes have been. Remove this inconsistency.
Input and OK mpi@
OK henning@

6 years agovmm(4): respect argument size when reading from undefined ports.
mlarkin [Wed, 11 Jul 2018 12:55:01 +0000 (12:55 +0000)]
vmm(4): respect argument size when reading from undefined ports.

6 years agovmm(4): small cleanup in vm_rwregs.
mlarkin [Wed, 11 Jul 2018 12:45:01 +0000 (12:45 +0000)]
vmm(4): small cleanup in vm_rwregs.

Clarify error values and change a panic into a debug printf (which will
in turn just kill the VM).

6 years agoDrop a const-bomb on regexec. It's probably not a good idea to remove a
martijn [Wed, 11 Jul 2018 12:38:46 +0000 (12:38 +0000)]
Drop a const-bomb on regexec. It's probably not a good idea to remove a
const promise when processing it in the regex engine.

Minor tweak and OK schwarze@

6 years agoWhen in incremental search handle ^M (a.k.a. <cr>) like ^[ (a.k.a.
krw [Wed, 11 Jul 2018 12:21:37 +0000 (12:21 +0000)]
When in incremental search handle ^M (a.k.a. <cr>) like ^[ (a.k.a.
<esc>). i.e. exit incremental search and set the mark. This is what
emacs does.

pointers, suggestions and ok florian@

6 years agoChange the control socket to ospfd.sock.<rdomain>.
remi [Wed, 11 Jul 2018 12:09:34 +0000 (12:09 +0000)]
Change the control socket to ospfd.sock.<rdomain>.

ok friehm@ jca@

6 years agoAfter opening all the needed files, tighten the pledge(2)
schwarze [Wed, 11 Jul 2018 11:42:17 +0000 (11:42 +0000)]
After opening all the needed files, tighten the pledge(2)
from "stdio rpath" to just "stdio", before parsing any user data.
It may not matter that much just yet, but parsing will become
slightly more complicated soon when i shall add UTF-8 handling.
OK millert@

6 years agothe STATE_LOOKUP macro made sense ages ago. It stopped making sense
henning [Wed, 11 Jul 2018 11:39:31 +0000 (11:39 +0000)]
the STATE_LOOKUP macro made sense ages ago. It stopped making sense
when we moved most of the functionality into a function. g/c the macro
and just call the function. ok mpi jca

6 years agoRepair the regression introduced by the recent refactoring
schwarze [Wed, 11 Jul 2018 11:35:06 +0000 (11:35 +0000)]
Repair the regression introduced by the recent refactoring
revision 1.11 date: 2004/07/03 21:00:37;
for -p/-P, the argument was no longer parsed, causing segfaults.
OK millert@

6 years agoRename function to vmd_check_vmh
reyk [Wed, 11 Jul 2018 10:31:45 +0000 (10:31 +0000)]
Rename function to vmd_check_vmh

6 years agoremove wrong comment
remi [Wed, 11 Jul 2018 10:23:47 +0000 (10:23 +0000)]
remove wrong comment

ok jca@ tb@

6 years agoallow default from state
espie [Wed, 11 Jul 2018 09:57:59 +0000 (09:57 +0000)]
allow default from state

6 years agoallow state->new to deduce the command name from $0
espie [Wed, 11 Jul 2018 09:54:49 +0000 (09:54 +0000)]
allow state->new to deduce the command name from $0