openbsd
5 years agosimplify the runq interface:
eric [Fri, 14 Jun 2019 19:55:25 +0000 (19:55 +0000)]
simplify the runq interface:

- remove (unused) per-job callback
- rename runq_schedule() to runq_schedule_at() and runq_delay()
  to runq_schedule()
- remove unused runq_next()

ok sunil@ gilles@

5 years agoTrack key type (RSA or ECDSA) in an enum and clean up a bit while here.
florian [Fri, 14 Jun 2019 19:55:08 +0000 (19:55 +0000)]
Track key type (RSA or ECDSA) in an enum and clean up a bit while here.
Originaly from Renaud Allard following input from benno, tweaked by me.
OK benno

5 years agonew regress: clock_gettime(2); test if CLOCK_MONOTONIC is really monotonic
cheloha [Fri, 14 Jun 2019 19:23:53 +0000 (19:23 +0000)]
new regress: clock_gettime(2); test if CLOCK_MONOTONIC is really monotonic

suggested by kettenis@, tweaked by anton@.

ok mpi@ jca@

5 years agoAdd TSC_ADJUST CPUID flag.
kettenis [Fri, 14 Jun 2019 18:13:55 +0000 (18:13 +0000)]
Add TSC_ADJUST CPUID flag.

ok deraadt@, mlarkin@

5 years agotimeout_add(9)+hz(9) -> timeout_add_sec(9); ok patrick@
cheloha [Fri, 14 Jun 2019 18:12:55 +0000 (18:12 +0000)]
timeout_add(9)+hz(9) -> timeout_add_sec(9); ok patrick@

5 years agoDo not loop forever if a menu item contains invisible characters,
nicm [Fri, 14 Jun 2019 15:35:58 +0000 (15:35 +0000)]
Do not loop forever if a menu item contains invisible characters,
reported by Thomas Sattler.

5 years agoNote a segv with fprintf if a file with long lines is loaded with
lum [Fri, 14 Jun 2019 14:27:42 +0000 (14:27 +0000)]
Note a segv with fprintf if a file with long lines is loaded with
debug code running.

5 years agoDelete totally bogus code specifically targetted at mandoc
schwarze [Fri, 14 Jun 2019 14:27:29 +0000 (14:27 +0000)]
Delete totally bogus code specifically targetted at mandoc
which tried to figure out whether mandoc supported UTF-8 output
(which it has been doing since 2011) and which passed the -T locale
option (which has been the default since 2014 and always will)
but which required the -V option to work (which was deleted half
a decade ago and will not come back).
Nowadays, it is safe to assume that mandoc just works with UTF-8
on both the input and output sides - in literally each and every
operating system providing a mandoc port or package, even those
that are seriously lagging behind.
This patch will also be pushed upstream.
OK tb@

5 years agoImprove pages that briefly mentioned ERR - usually below SEE ALSO -
schwarze [Fri, 14 Jun 2019 13:59:32 +0000 (13:59 +0000)]
Improve pages that briefly mentioned ERR - usually below SEE ALSO -
but failed to provide any real information.
OK tb@ jmc@

5 years agoFurther improve the documentation of library initialization and configuration.
schwarze [Fri, 14 Jun 2019 13:41:31 +0000 (13:41 +0000)]
Further improve the documentation of library initialization and configuration.
Among other improvements:
* Use a uniform wording at the top of the DECSRIPTION for obsolete pages.
* Better explain how to use a non-standard configuration file.
* Remove obsolete functions from SEE ALSO.
Triggered by some suggestions from tb@.
Tweaks and OK tb@.

5 years agoShow filename with -v for source-file.
nicm [Fri, 14 Jun 2019 13:34:45 +0000 (13:34 +0000)]
Show filename with -v for source-file.

5 years agoUse timeout_add_msec(9)
kn [Fri, 14 Jun 2019 13:20:49 +0000 (13:20 +0000)]
Use timeout_add_msec(9)

UPGT_LED_ACTION_TMP_DUR is 100ms, avoid converting to Hz and back again.

OK kevlo

5 years agoA couple of minor parser changes around conditions: 1) only treat #{
nicm [Fri, 14 Jun 2019 12:04:11 +0000 (12:04 +0000)]
A couple of minor parser changes around conditions: 1) only treat #{
specially after a condition, otherwise as a comment (which is more as
most people expect) 2) allow formats to be quoted after a condition.

5 years agoUse timeout_add_msec(9)
kn [Fri, 14 Jun 2019 11:57:16 +0000 (11:57 +0000)]
Use timeout_add_msec(9)

The timeval is used to represent 100ms, which are converted to Hz so they
can be converted back - simplify this by using the new ms interface
directly.

Tested and OK kevlo

5 years agomatch on Intel Apollo Lake ids
jsg [Fri, 14 Jun 2019 11:44:17 +0000 (11:44 +0000)]
match on Intel Apollo Lake ids
from James Hastings

5 years agoregen
jsg [Fri, 14 Jun 2019 11:41:34 +0000 (11:41 +0000)]
regen

5 years agomore Intel Apollo Lake ids
jsg [Fri, 14 Jun 2019 11:40:36 +0000 (11:40 +0000)]
more Intel Apollo Lake ids
from James Hastings

5 years agoOnly add and remove flow table entries for multicast while the interface is
jmatthew [Fri, 14 Jun 2019 07:02:55 +0000 (07:02 +0000)]
Only add and remove flow table entries for multicast while the interface is
up, and re-add flow table entries for all existing multicast groups when
bringing the interface up.

5 years agoThe addition of writeable-syscall checking near MAP_STACK checking
deraadt [Fri, 14 Jun 2019 05:52:42 +0000 (05:52 +0000)]
The addition of writeable-syscall checking near MAP_STACK checking
damaged the error messages.  Repair that, passing distinct format
strings for the two cases.
ok beck

5 years agoslightly more instructive error message when the user specifies multiple
djm [Fri, 14 Jun 2019 04:13:58 +0000 (04:13 +0000)]
slightly more instructive error message when the user specifies multiple
-J options on the commandline. bz3015 ok dtucker@

5 years agocheck for convtime() refusing to accept times that resolve to LONG_MAX
djm [Fri, 14 Jun 2019 04:03:48 +0000 (04:03 +0000)]
check for convtime() refusing to accept times that resolve to LONG_MAX
Reported by Kirk Wolf bz2977; ok dtucker

5 years agoprocess agent requests for RSA certificate private keys using correct
djm [Fri, 14 Jun 2019 03:51:47 +0000 (03:51 +0000)]
process agent requests for RSA certificate private keys using correct
signature algorithm when requested. Patch from Jakub Jelen in bz3016
ok dtucker markus

5 years agoAdd a barrier after arming a completion queue. If multiple cqs are using
jmatthew [Fri, 14 Jun 2019 03:40:55 +0000 (03:40 +0000)]
Add a barrier after arming a completion queue.  If multiple cqs are using
the same uar page, these writes could be combined, which would result in
a queue not being armed.

5 years agofor public key authentication, check AuthorizedKeysFiles files before
djm [Fri, 14 Jun 2019 03:39:59 +0000 (03:39 +0000)]
for public key authentication, check AuthorizedKeysFiles files before
consulting AuthorizedKeysCommand; ok dtucker markus

5 years agoif passed a bad fd, log what it was
djm [Fri, 14 Jun 2019 03:28:19 +0000 (03:28 +0000)]
if passed a bad fd, log what it was

5 years agoUse the right client when working out where to save or load the buffer,
nicm [Thu, 13 Jun 2019 21:44:13 +0000 (21:44 +0000)]
Use the right client when working out where to save or load the buffer,
reported by kn@.

5 years agoDo not crash if the environment variable is present but empty.
nicm [Thu, 13 Jun 2019 21:24:09 +0000 (21:24 +0000)]
Do not crash if the environment variable is present but empty.

5 years agoUse PWAIT instead of PUSER in exit1().
mpi [Thu, 13 Jun 2019 21:19:28 +0000 (21:19 +0000)]
Use PWAIT instead of PUSER in exit1().

When the main thread of a MT process dies, it doesn't matter at which
priority it gets awaken to do the lasts cleanups.  Not using PUSER makes
it easier to understand the existing scheduler logic.

ok visa@

5 years agofree(9) sizes for buffers.
mpi [Thu, 13 Jun 2019 21:14:53 +0000 (21:14 +0000)]
free(9) sizes for buffers.

ok anton@, sashan@

5 years agofree(9) sizes.
mpi [Thu, 13 Jun 2019 21:12:52 +0000 (21:12 +0000)]
free(9) sizes.

ok kn@

5 years agotweak previous;
jmc [Thu, 13 Jun 2019 21:04:21 +0000 (21:04 +0000)]
tweak previous;

5 years agoDo not consider the pipe as halted if the device is gone.
mpi [Thu, 13 Jun 2019 21:03:48 +0000 (21:03 +0000)]
Do not consider the pipe as halted if the device is gone.

Analysed by and ok claudio@

5 years agoWhen tcp_close() is running in parallel with fill_file(), the kernel
bluhm [Thu, 13 Jun 2019 20:52:36 +0000 (20:52 +0000)]
When tcp_close() is running in parallel with fill_file(), the kernel
could crash due to missing inp_ppcb.  This happend when fstat(1)
was called often and TCP was aborted with reset.  Protect the sysctl
path with the net lock.
OK mpi@

5 years agoDo memory size calculations as unsigned long. Otherwise
bluhm [Thu, 13 Jun 2019 20:38:54 +0000 (20:38 +0000)]
Do memory size calculations as unsigned long.  Otherwise
netstat -m would print the result of a signed interger overflow
if kern.maxclusters is 1048576 or above.
OK claudio@

5 years agoSet the cursor x at the same time as changing the y or the end of line
nicm [Thu, 13 Jun 2019 20:38:05 +0000 (20:38 +0000)]
Set the cursor x at the same time as changing the y or the end of line
marker may not be redrawn.

5 years agoAdd regular expression support for the format search, match and
nicm [Thu, 13 Jun 2019 19:46:00 +0000 (19:46 +0000)]
Add regular expression support for the format search, match and
substitute modifiers.

5 years agosu(I) goes back all the way to v1:
schwarze [Thu, 13 Jun 2019 12:59:51 +0000 (12:59 +0000)]
su(I) goes back all the way to v1:
https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/man13.pdf
It wasn't in v0 PDP-7 UNIX though:
https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/UnixEditionZero.txt

5 years agoextend the resolver interface to delegate res_query() calls to the lka.
eric [Thu, 13 Jun 2019 11:45:34 +0000 (11:45 +0000)]
extend the resolver interface to delegate res_query() calls to the lka.

ok gilles@ sunil@

5 years agoIn arp_rtrequest and nd6_rtrequest return early if the RTF_MPLS flag is
claudio [Thu, 13 Jun 2019 08:15:26 +0000 (08:15 +0000)]
In arp_rtrequest and nd6_rtrequest return early if the RTF_MPLS flag is
set. These mpls routes use the rt_llinfo structure to store the MPLS label
and would confuse the arp and nd6 code.
OK bluhm@ anton@

Reported-by: syzbot+927e93a362f3ae33dd9c@syzkaller.appspotmail.com
5 years agoCopy the user provided sockaddr into a normalized sockaddr in rtrequest()
claudio [Thu, 13 Jun 2019 08:12:10 +0000 (08:12 +0000)]
Copy the user provided sockaddr into a normalized sockaddr in rtrequest()
before adding it to the routing table. The rtable code is doing memcmp()
of those rt_dest sockaddrs so it is important that they are stored in a
canonical form. To do this struct domain is extended to include the
sockaddr size for this address family.
OK bluhm@ anton@

Reported-by: syzbot+10fe9cd8d0211c562ead@syzkaller.appspotmail.com
5 years agoAdd more options to pkcs12 and smime in appstest.sh
inoguchi [Thu, 13 Jun 2019 08:02:35 +0000 (08:02 +0000)]
Add more options to pkcs12 and smime in appstest.sh

5 years agovmm(4): Pass through CPUID function/leaf 0x16 for processor speed.
mlarkin [Thu, 13 Jun 2019 06:57:17 +0000 (06:57 +0000)]
vmm(4): Pass through CPUID function/leaf 0x16 for processor speed.

ok deraadt, pd, phessler

5 years agothe rx drops field is 8 bits (and a 24 bit flow tag), not 32 bits.
dlg [Thu, 13 Jun 2019 00:37:04 +0000 (00:37 +0000)]
the rx drops field is 8 bits (and a 24 bit flow tag), not 32 bits.

sympathy from jmatthew@

5 years agoThe output of line info in the line.log file now contains the
lum [Wed, 12 Jun 2019 18:21:07 +0000 (18:21 +0000)]
The output of line info in the line.log file now contains the
character the cursor is over. This corresponds to the 'a' character
before the '|' character below:

>0x78898a94340 b^0x7889632b320 f.0x7889632b340 3 3       a|abc

Previously it would not have been shown:

>0x78898a94340 b^0x7889632b320 f.0x7889632b340 3 3       |abc

Also, a fake new-line character is shown with '-' before the '|' char.

>0x78898a94340 b^0x7889632b320 f.0x7889632b340 3 3       -|

5 years agochange "ssl" to "tls" in various identifiers.
eric [Wed, 12 Jun 2019 17:42:53 +0000 (17:42 +0000)]
change "ssl" to "tls" in various identifiers.
no functional change.

ok gilles@

5 years agotweak previous;
jmc [Wed, 12 Jun 2019 11:36:32 +0000 (11:36 +0000)]
tweak previous;

5 years agoHostname->HostName cleanup; from lauri tirkkonen
jmc [Wed, 12 Jun 2019 11:31:50 +0000 (11:31 +0000)]
Hostname->HostName cleanup; from lauri tirkkonen
ok dtucker

5 years agoSet malloc_options in global scope with an initializer.
bluhm [Wed, 12 Jun 2019 11:31:36 +0000 (11:31 +0000)]
Set malloc_options in global scope with an initializer.
recommended by otto@

5 years agothese were moved to key.[ch] in previous commit
gilles [Wed, 12 Jun 2019 11:10:20 +0000 (11:10 +0000)]
these were moved to key.[ch] in previous commit

5 years agouse acme-client to sign certificated with ecdsa keys
gilles [Wed, 12 Jun 2019 11:09:25 +0000 (11:09 +0000)]
use acme-client to sign certificated with ecdsa keys

diff from Renaud Allard <renaud@allard.it>, ok to get in from florian@

5 years agoadd missing backlinks to ssl(3)
schwarze [Wed, 12 Jun 2019 09:36:30 +0000 (09:36 +0000)]
add missing backlinks to ssl(3)

5 years agoDo not use $TMUX to find the session because for windows in multiple
nicm [Wed, 12 Jun 2019 09:10:29 +0000 (09:10 +0000)]
Do not use $TMUX to find the session because for windows in multiple
sessions it is wrong as often as it is right, and for windows in one
session it is pointless. Instead check TMUX_PANE to find the pane and
look for the MRU session as usual. GitHub issue 1793.

5 years agoList all 17 SSL pages that were missing.
schwarze [Wed, 12 Jun 2019 09:03:43 +0000 (09:03 +0000)]
List all 17 SSL pages that were missing.
Split some excessively long lists into useful sub-categories.
Add a new, very short subsection "Obsolete functions" at the end.
OK tb@ jmc@

5 years agoPass target on to new commands with if -F.
nicm [Wed, 12 Jun 2019 08:47:07 +0000 (08:47 +0000)]
Pass target on to new commands with if -F.

5 years agowhen "login" is not specified, "root" is used;
schwarze [Wed, 12 Jun 2019 08:29:17 +0000 (08:29 +0000)]
when "login" is not specified, "root" is used;
omission reported by Nan Xiao <xiaonan830818 at gmail dot com> on misc@

5 years agoDo not always resize the window back to its original size after applying
nicm [Wed, 12 Jun 2019 08:08:33 +0000 (08:08 +0000)]
Do not always resize the window back to its original size after applying
a layout, let the normal window resize process do it. This means windows
are not resized at all if window-size is manual, and are not resized
multiple times if later attached to a different size terminal.

5 years agoA note about log.c.
lum [Wed, 12 Jun 2019 06:01:26 +0000 (06:01 +0000)]
A note about log.c.

5 years agoderaadt noticed some inconsistency in the way we denote the "Hostname" and
jmc [Wed, 12 Jun 2019 05:53:21 +0000 (05:53 +0000)]
deraadt noticed some inconsistency in the way we denote the "Hostname" and
"X11UseLocalhost" keywords; this makes things consistent (effectively reversing
my commit of yesterday);

ok deraadt markus djm

5 years agoFix init of syslog for childs and teach dns process about synced state.
otto [Wed, 12 Jun 2019 05:04:45 +0000 (05:04 +0000)]
Fix init of syslog for childs and teach dns process about synced state.
ok benno@

5 years agoa few cleanups and simplifications possible now that static pw is gone.
tedu [Wed, 12 Jun 2019 02:50:29 +0000 (02:50 +0000)]
a few cleanups and simplifications possible now that static pw is gone.
noted by martijn. ok martijn.

5 years agoSet interrupt moderation on the completion queue for around 10000
jmatthew [Wed, 12 Jun 2019 01:38:30 +0000 (01:38 +0000)]
Set interrupt moderation on the completion queue for around 10000
interrupts per second, or 90% of the cq size.

ok dlg@

5 years agoDisable junking with malloc options. If set, the test hangs on low
bluhm [Tue, 11 Jun 2019 22:16:13 +0000 (22:16 +0000)]
Disable junking with malloc options.  If set, the test hangs on low
memory arm64 machines.
found by patrick@; OK otto@

5 years agoFix typo which resulted in a segfault in ebgp multihop setups.
florian [Tue, 11 Jun 2019 19:43:56 +0000 (19:43 +0000)]
Fix typo which resulted in a segfault in ebgp multihop setups.
OK claudio

5 years agofix bogus cross references: there is no ELF(3) manual page;
schwarze [Tue, 11 Jun 2019 18:38:46 +0000 (18:38 +0000)]
fix bogus cross references: there is no ELF(3) manual page;
pointed out by naddy@

5 years agodo not use plain-text ELF(3) to reference page titles, use .Nm or .Xr.:
schwarze [Tue, 11 Jun 2019 18:30:31 +0000 (18:30 +0000)]
do not use plain-text ELF(3) to reference page titles, use .Nm or .Xr.:
issue noticed by naddy@ when he inspected a bug report from aalm@;
while here, use .At where appropriate;
OK naddy@ jmc@

5 years agomake things slightly less insane:
espie [Tue, 11 Jun 2019 18:14:23 +0000 (18:14 +0000)]
make things slightly less insane:
- actually use the ERRORS framework for REGRESS_LOG
- put it at end of file, as best working (years of practice on bsd.port.mk)
- actually use .SILENT
- fix REGRESS_IGNORE_FAIL. Don't put a - in front of lines, but just
don't error out as false on FAILED tests.
This finally allows ^C to actually interrupt a testsuite.
- add one missing .PHONY (quite a few more for later)

okay bluhm@

5 years agoDo not access a NULL pointer if a table contains a horizontal line
schwarze [Tue, 11 Jun 2019 15:40:41 +0000 (15:40 +0000)]
Do not access a NULL pointer if a table contains a horizontal line
next to a table line having fewer columns than the table as a whole.
Bug found by Stephen Gregoratto <dev at sgregoratto dot me>
with aerc-config(5).

5 years agoRemove unused scheduler related definitions.
mpi [Tue, 11 Jun 2019 15:23:41 +0000 (15:23 +0000)]
Remove unused scheduler related definitions.

ok visa@

5 years agoregen
jcs [Tue, 11 Jun 2019 14:49:17 +0000 (14:49 +0000)]
regen

5 years agomake 10 wsmouse devices
jcs [Tue, 11 Jun 2019 14:48:56 +0000 (14:48 +0000)]
make 10 wsmouse devices

for anything other than a regular old mouse, X needs to be able to
directly talk to the device and newer machines can have all kinds of
touchscreens, pen devices, touchpads, etc.

ok deraadt

5 years agoconsistent lettering for "HostName" keyword; from lauri tirkkonen
jmc [Tue, 11 Jun 2019 13:39:40 +0000 (13:39 +0000)]
consistent lettering for "HostName" keyword; from lauri tirkkonen

5 years agoDo not resize panes unless they are in an attached, active window. From
nicm [Tue, 11 Jun 2019 13:09:00 +0000 (13:09 +0000)]
Do not resize panes unless they are in an attached, active window. From
Morten M Neergaard in GitHub issue 1782.

5 years agodrm: don't block fb changes for async plane updates
jsg [Tue, 11 Jun 2019 11:56:25 +0000 (11:56 +0000)]
drm: don't block fb changes for async plane updates

From Helen Koike
fbb7e114e6e690c46f170dedd6fd2fb22f241519 in linux 4.19.y/4.19.50
89a4aac0ab0e6f5eea10d7bf4869dd15c3de2cd4 in mainline linux

5 years agodrm/i915: Maintain consistent documentation subsection ordering
jsg [Tue, 11 Jun 2019 11:52:52 +0000 (11:52 +0000)]
drm/i915: Maintain consistent documentation subsection ordering

From Jonathan Corbet
6600ec2600d63868efa8c6641375451677469b24 in linux 4.19.y/4.19.50
551bd3368a7b3cfef01edaade8970948d178d40a in mainline linux

5 years agodrm/i915/fbc: disable framebuffer compression on GeminiLake
jsg [Tue, 11 Jun 2019 11:49:46 +0000 (11:49 +0000)]
drm/i915/fbc: disable framebuffer compression on GeminiLake

From Daniel Drake
360e00e290a355219425b5ea0ca62d9df3261fa1 in linux 4.19.y/4.19.50
396dd8143bdd94bd1c358a228a631c8c895a1126 in mainline linux

5 years agodrm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-in
jsg [Tue, 11 Jun 2019 11:47:24 +0000 (11:47 +0000)]
drm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-in

From Aaron Liu
f3dcc88d531fd21af0c4261896eb23b455499366 in linux 4.19.y/4.19.50
bdb1ccb080dafc1b4224873a5b759ff85a7d1c10 in mainline linux

5 years agodrm/radeon: prefer lower reference dividers
jsg [Tue, 11 Jun 2019 11:45:01 +0000 (11:45 +0000)]
drm/radeon: prefer lower reference dividers

From Christian Koenig
84c82ab8f133f1c1e27f6b1bafe3f7d8835acc4c in linux 4.19.y/4.19.50
2e26ccb119bde03584be53406bbd22e711b0d6e6 in mainline linux

5 years agodrm/amdgpu/psp: move psp version specific function pointers to early_init
jsg [Tue, 11 Jun 2019 11:42:58 +0000 (11:42 +0000)]
drm/amdgpu/psp: move psp version specific function pointers to early_init

From Alex Deucher
748a97ec6c1588e3a49e09fe9ca56dcdb7f976b5 in linux 4.19.y/4.19.50
9d6fea5744d6798353f37ac42a8a653a2607ca69 in mainline linux

5 years agodrm: add non-desktop quirks to Sensics and OSVR headsets.
jsg [Tue, 11 Jun 2019 11:41:02 +0000 (11:41 +0000)]
drm: add non-desktop quirks to Sensics and OSVR headsets.

From Ryan Pavlik
98a8cb0282ab22d0533de34412f2118bf21147e4 in linux 4.19.y/4.19.50
29054230f3e11ea818eccfa7bb4e4b3e89544164 in mainline linux

5 years agodrm: add non-desktop quirk for Valve HMDs
jsg [Tue, 11 Jun 2019 11:37:45 +0000 (11:37 +0000)]
drm: add non-desktop quirk for Valve HMDs

From Andres Rodriguez
490290b0415f069eb156db50d165ca6a407d47bc in linux 4.19.y/4.19.50
30d62d4453e49f85dd17b2ba60bbb68b6593dba0 in mainline linux

5 years agoUse km_alloc() instead of mallocarray() when allocating ttm dma segments
jsg [Tue, 11 Jun 2019 06:46:53 +0000 (06:46 +0000)]
Use km_alloc() instead of mallocarray() when allocating ttm dma segments
to avoid running out of kmem space.  Suggested by and ok kettenis@

5 years agopass what pci_intr_established returns to intr_barrier
dlg [Tue, 11 Jun 2019 06:28:09 +0000 (06:28 +0000)]
pass what pci_intr_established returns to intr_barrier

passing a pointer to a pci_intr_handle_t doesnt work too well on
sparc64, where it faults in the guts of the scheduler. dunno why
amd64 is fine.

ok jmatthew@

5 years agoif ifiq_input says there's too much pressure, tell the rxr we're livelocked
dlg [Tue, 11 Jun 2019 06:17:23 +0000 (06:17 +0000)]
if ifiq_input says there's too much pressure, tell the rxr we're livelocked

ok jmatthew@

5 years agoImplement SHA-2 (RFC7860) support for authentication.
martijn [Tue, 11 Jun 2019 05:36:32 +0000 (05:36 +0000)]
Implement SHA-2 (RFC7860) support for authentication.

OK claudio@, gerhard@

5 years agoThe digestlength is not always 12 bytes. Make this value variable in
martijn [Tue, 11 Jun 2019 05:33:01 +0000 (05:33 +0000)]
The digestlength is not always 12 bytes. Make this value variable in
preparation for SHA-2 support.

OK claudio@, gerhard@

5 years agoIntroduce conf_clear_redist_list() (from ospfd) and use it in all 3 procs.
remi [Tue, 11 Jun 2019 05:00:09 +0000 (05:00 +0000)]
Introduce conf_clear_redist_list() (from ospfd) and use it in all 3 procs.

ok benno@

5 years agobump up the ring sizes for dlg@
jmatthew [Tue, 11 Jun 2019 03:55:16 +0000 (03:55 +0000)]
bump up the ring sizes for dlg@

5 years agorecords a flowid in the mbuf if the rx cqe provides an rx hash value.
dlg [Tue, 11 Jun 2019 03:22:29 +0000 (03:22 +0000)]
records a flowid in the mbuf if the rx cqe provides an rx hash value.

jmatthew@ says we need to configure the hw to populate that, but i
can put this in now in preparation for it.

5 years agoadd mcx now that pyro and sparc64 can do msi-x
dlg [Tue, 11 Jun 2019 01:35:55 +0000 (01:35 +0000)]
add mcx now that pyro and sparc64 can do msi-x

ok jmatthew@

5 years agoimplement msi-x support on sparc64.
dlg [Tue, 11 Jun 2019 00:45:31 +0000 (00:45 +0000)]
implement msi-x support on sparc64.

this is mostly based on the stuff kettenis did on arm64 recently.
msix support is basically the same as msi support from the host
side, you just have to tell the actual device about the msi vectors
differently.

the most complicated part of this is storing the requested msix
vector between the call to pci_intr_map_msix and pci_intr_establish.
the pci_intr_handle_t for storing state between those is a scalar
type, so we reassign some bits in that int for use storing the type
of int (intx, msi, or msix) and the vector.

i took the low 8 bits for storing the vector, which gives us a max
of 256 values. technically msix supports up to 2048 vectors, but
pyro only supports 256 in total, so i don't think we're going to
miss out on much. vpci may support more, but we'll cross that bridge
when we get to it.

i tested pyro(4) with mcx(4).
vpci was tested by kettenis@

ok kettenis@

5 years agouse m_microtime to get the packet rx time it might be available.
dlg [Mon, 10 Jun 2019 23:49:45 +0000 (23:49 +0000)]
use m_microtime to get the packet rx time it might be available.

5 years agouse m_microtime instead of microtime for SO_TIMESTAMP socketopt handling
dlg [Mon, 10 Jun 2019 23:48:21 +0000 (23:48 +0000)]
use m_microtime instead of microtime for SO_TIMESTAMP socketopt handling

drivers can set ph_timestamp when packets are received by the
hardware, which should be more accurate and cheaper than getting
the clock when the packet is queued on the socket.

5 years agoadd m_microtime for getting the wall clock time associated with a packet
dlg [Mon, 10 Jun 2019 23:45:19 +0000 (23:45 +0000)]
add m_microtime for getting the wall clock time associated with a packet

if the packet has the M_TIMESTAMP csum_flag, ph_timestamp is added
to the boottime clock, otherwise it just uses microtime().

5 years agoNSEC_TO_TIMEVAL turns nanoseconds in a uint64_t into a struct timeval
dlg [Mon, 10 Jun 2019 23:26:29 +0000 (23:26 +0000)]
NSEC_TO_TIMEVAL turns nanoseconds in a uint64_t into a struct timeval

add NSEC_TO_TIMESPEC while here

ok cheloha@

5 years agosupport hardware timestamping for received packets.
dlg [Mon, 10 Jun 2019 23:05:52 +0000 (23:05 +0000)]
support hardware timestamping for received packets.

the chip has a cycle counter or something, and the value of the
counter when the packet is sent to the host is stored in the
completion queue entry.

the driver periodically checks the cycle counter and records the
time at that point, so the rx path can do some maths to figure out
what the clock time is for the cycle counter. if the driver is
calibrated with the chips counter, the rx packets are timestamped.

this is based on the changes made to freebsd, but with some
simplifications.

5 years agoadd M_TIMESTAMP as a csum_flags option to say ph_timestamp is set
dlg [Mon, 10 Jun 2019 22:59:00 +0000 (22:59 +0000)]
add M_TIMESTAMP as a csum_flags option to say ph_timestamp is set

this is so hardware that supports timestamping can set the time and
say so for things like bpf and the SO_TIMESTAMP socket option to use.

the intention is that ph_timestamp will store the nanosecond since
the system booted, which is in line with how fq_codel (the only
user of the field at the moment) uses it.

5 years agodon't allow userland to change if_type.
dlg [Mon, 10 Jun 2019 21:55:16 +0000 (21:55 +0000)]
don't allow userland to change if_type.

if_type is now immutable in tun(4) and tap(4)

ok claudio@ mpi@

5 years agoFix not checking correct fprintf return value.
lum [Mon, 10 Jun 2019 18:55:15 +0000 (18:55 +0000)]
Fix not checking correct fprintf return value.

5 years agouse getpwuid_r to avoid problems with hidden static storage.
tedu [Mon, 10 Jun 2019 18:11:27 +0000 (18:11 +0000)]
use getpwuid_r to avoid problems with hidden static storage.
ok deraadt lteo martijn

5 years agoAdd 'undo' logging (same output as undo-list command). Also, add
lum [Mon, 10 Jun 2019 16:48:59 +0000 (16:48 +0000)]
Add 'undo' logging (same output as undo-list command). Also, add
'undo' data to a separate file from line logging.