OpenBSD cvs log

created 2023-01-18T10:42:08Z
begin 2022-12-02T00:00:00Z
end 2022-12-03T00:00:00Z
path src/sys
commits 6

date 2022-12-02T07:29:30Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add Intel Optane SSD DC P5800X
from Andreas Bartelt

date 2022-12-02T07:30:53Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2022-12-02T12:27:08Z
author jca
files src/sys/arch/riscv64/include/asm.h log diff annotate
src/sys/arch/riscv64/riscv64/cpuswitch.S log diff annotate
src/sys/arch/riscv64/riscv64/exception.S log diff annotate
src/sys/arch/riscv64/riscv64/locore.S log diff annotate
message Drop _C_LABEL() uses in riscv64-specific code

_C_LABEL() was useful in the a.out->ELF transition days, way before
RISC-V was a thing.

Also drop uses of _ASM_LABEL() while here, suggested by guenther@
ok guenther@

date 2022-12-02T12:56:51Z
author kn
files src/sys/netinet6/in6.c log diff annotate
message Unlock in6_ioctl_get() aka. SIOCGIF{DSTADDR,NETMASK,AFLAG,ALIFETIME}_IN6

First the right address is picked from the net lock protected if_addrlist.
Then all ioctls just copy out the address, nothing requires the kernel lock.

SIOCGIFDSTADDR_IN6 checks the net lock protected if_flags,
SIOCGIFALIFETIME_IN6 computes lifetimes which only need the address.

This removes the last kernel lock from IPv6 read ioctls (multicast being
the untouched exception here).

Users of these ioctl(2)s are route6d(8), rad(8), slaacd(8), isakmpd(8) and
of course ifconfig(8).

OK mvs

date 2022-12-02T12:58:37Z
author kn
files src/sys/netinet6/nd6_nbr.c log diff annotate
message Remove useless variable, simplify code

Using a local `duplicate' variable to defer the actual checks by a few
lines, interleaved with comments (saying the same thing but negated),
is harder to follow that neccessary.

Fold the logic and merge comments (remove the last obvious one missing
a negation) to save 20 LOC.

OK bluhm

date 2022-12-02T15:35:35Z
author kn
files src/sys/netinet6/nd6.c log diff annotate
src/sys/netinet6/nd6.h log diff annotate
src/sys/netinet6/nd6_nbr.c log diff annotate
message Remove constant basereachable and retrans members from struct nd_ifinfo

Both are initalised with compile-time constants and never written to.

They are part of the Neighbour Discovery machinery and only surface
through the single-user SIOCGIFINFO_IN6:
$ ndp -i lo0
basereachable=30s0ms, reachable=39s, retrans=1s0ms

These values are read-only since 2017
sys/netinet6/nd6.c r1.217
usr.sbin/ndp/ndp.c r1.85
Remove knob and always do neighbor unreachable detection

Inline the macros (to keep meaningful names), shrink the per-interface
allocated struct nd_ifinfo to what is actually needed and inline
nd6_dad_starttimer()'s constant `msec' argument.

Nothing else in base, incl. regress, uses SIOCGIFINFO_IN6 or `ndp -i'.

OK bluhm