OpenBSD cvs log

created 2020-07-29T15:48:21Z
begin 2020-07-22T00:00:00Z
end 2020-07-23T00:00:00Z
path src/sys
commits 41

date 2020-07-22T00:29:00Z
author dlg
files src/sys/net/if_ethersubr.c log diff annotate
src/sys/netinet/if_ether.h log diff annotate
message add code to coordinate how bridges attach to ethernet interfaces.

this is the first step in refactoring how ethernet frames are demuxed
by virtual interfaces, and also in deprecating interface input list
handling.

we now have drivers for three types of virtual bridges, bridge(4),
switch(4), and tpmr(4), and it doesn't make sense for any of them
to be enabled on the same "port" interfaces at the same time.
currently you can add a port interface to multiple types of bridge,
but which one gets to steal the packets depends on the order in
which they were attached.

this creates an ether_brport structure that holds an input function
for the bridge, and optionally some per port state that the bridge
can use. arpcom has a single pointer to one of these structs that
will be used during normal ether_input processing to see if a packet
should be passed to a bridge, and will be used instead of an if
input handler. because it is a single pointer, it will make sure
only one bridge of any type is attached to a port at any one time.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T00:37:24Z
author dlg
files src/sys/net/if_ethersubr.c log diff annotate
message if an iface is a bridge port, pass the packet to the bridge in ether_input.

if the bridge declines the packet, it just returns it to ether_input
to allow local deliver to proceed.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T00:48:02Z
author kevlo
files src/sys/dev/pci/if_rge.c log diff annotate
src/sys/dev/pci/if_rgereg.h log diff annotate
message Add support for newer RTL8125 chipset (RTL8125B).
Tested for on a TP-LINK TL-NG421.

ok jmatthew@

date 2020-07-22T00:48:29Z
author dlg
files src/sys/net/if_tpmr.c log diff annotate
message register tpmr as a bridge port, not an input handler, on member ifaces.

this is a step toward making all types of bridges coordinate their
use of port interfaces, and is a step toward deprecating the interface
input handler lists. it also moves tpmr away from the trunk ioctls
it's currently (ab)using.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T00:51:57Z
author dlg
files src/sys/net/if_switch.c log diff annotate
message register as a bridge port, not an input handler, on member ifaces.

this is a step toward making all types of bridges coordinate their
use of port interfaces, and is a step toward deprecating the interface
input handler lists.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T01:12:38Z
author dlg
files src/sys/net/if_bridge.c log diff annotate
message register as a bridge port, not an input handler, on member ifaces.

this is a step toward making all types of bridges coordinate their
use of port interfaces, and is a step toward deprecating the interface
input handler lists.

bridge(4), switch(4), and tpmr(4) now coordinate their access so
only one of them can own a port at a time.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T01:30:54Z
author dlg
files src/sys/net/if_ethersubr.c log diff annotate
src/sys/net/if_vlan.c log diff annotate
src/sys/net/if_vlan_var.h log diff annotate
message move vlan_input into ether_input, instead of via an input handler.

this means there's a consistent order of processing of service
delimited (vlan and svlan) packets and bridging of packets. vlan
and svlan get to look at a packet first. it's only if they decline
a packet that a bridge can handle it. this allows operators to slice
vlans out for processing separate to the "native" vlan handling if
they want.

while here, this fixes up a bug in vlan_input if m_pullup needed
to prepend an mbuf.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T01:50:39Z
author dlg
files src/sys/net/if_ethersubr.c log diff annotate
src/sys/netinet/ip_carp.c log diff annotate
src/sys/netinet/ip_carp.h log diff annotate
message move carp_input into ether_input, instead of via an input handler.

carp_input is only tried after vlan and bridge handling is done,
and after the ethernet packet doesnt match the parent interfaces
mac address.

this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T02:16:01Z
author dlg
files src/sys/net/if.c log diff annotate
src/sys/net/if_aggr.c log diff annotate
src/sys/net/if_ethersubr.c log diff annotate
src/sys/net/if_loop.c log diff annotate
message deprecate interface input handler lists, just use one input function.

the interface input handler lists were originally set up to help
us during the intial mpsafe network stack work. at the time not all
the virtual ethernet interfaces (vlan, svlan, bridge, trunk, etc)
were mpsafe, so we wanted a way to avoid them by default, and only
take the kernel lock hit when they were specifically enabled on the
interface. since then, they have been fixed up to be mpsafe.

i could leave the list in place, but it has some semantic problems.
because virtual interfaces filter packets based on the order they
were attached to the parent interface, you can get packets taken
away in surprising ways, especially when you reboot and netstart
does something different to what you did by hand. by hardcoding the
order that things like vlan and bridge get to look at packets, we
can document the behaviour and get consistency.

it also means we can get rid of a use of SRPs which were difficult
to replace with SMRs. the interface input handler list is an SRPL,
which we would like to deprecate. it turns out that you can sleep
during stack processing, which you're not supposed to do with SRPs
or SMRs, but SRPs are a lot more forgiving and it worked.

lastly, it turns out that this code is faster than the input list
handling, so lots of winning all around.

special thanks to hrvoje popovski and aaron bieber for testing.
this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T02:16:02Z
author dlg
files src/sys/dev/usb/if_umb.c log diff annotate
src/sys/net/if_trunk.c log diff annotate
src/sys/net/if_trunk.h log diff annotate
src/sys/net/if_tun.c log diff annotate
src/sys/net/if_var.h log diff annotate
src/sys/netinet/if_ether.h log diff annotate
message deprecate interface input handler lists, just use one input function.

the interface input handler lists were originally set up to help
us during the intial mpsafe network stack work. at the time not all
the virtual ethernet interfaces (vlan, svlan, bridge, trunk, etc)
were mpsafe, so we wanted a way to avoid them by default, and only
take the kernel lock hit when they were specifically enabled on the
interface. since then, they have been fixed up to be mpsafe.

i could leave the list in place, but it has some semantic problems.
because virtual interfaces filter packets based on the order they
were attached to the parent interface, you can get packets taken
away in surprising ways, especially when you reboot and netstart
does something different to what you did by hand. by hardcoding the
order that things like vlan and bridge get to look at packets, we
can document the behaviour and get consistency.

it also means we can get rid of a use of SRPs which were difficult
to replace with SMRs. the interface input handler list is an SRPL,
which we would like to deprecate. it turns out that you can sleep
during stack processing, which you're not supposed to do with SRPs
or SMRs, but SRPs are a lot more forgiving and it worked.

lastly, it turns out that this code is faster than the input list
handling, so lots of winning all around.

special thanks to hrvoje popovski and aaron bieber for testing.
this has been in snaps as part of a larger diff for over a week.

date 2020-07-22T02:43:06Z
author kn
files src/sys/net/if_tpmr.c log diff annotate
message Change tpmr(4) from ifconfig [-]trunkport to add|del synopsis

Unlike aggr(4) and trunk(4) for link aggregation, tpmr(4) bridges links
similar to bridge(4) and switch(4), yet its ioctl(2) interface is that of an
an aggregating interface.

Change SIOCSTRUNKPORT and SIOCSTRUNKDELPORT to SIOCBRDGADD and SIOCBRDGDEL
respectively and speak about members rather than ports in the manual to make
ifconfig(8) accept "add" and "del" commands as expected.

Status ioctls will follow such that "ifconfig tpmr" gets fixed accordingly.

Discussed with dlg after mentioning the lack of aggr(4) and tpmr(4)
documentation in ifconfig(8) which will follow as well after code cleanup.

Feedback OK dlg

date 2020-07-22T04:08:46Z
author dlg
files src/sys/net/if_tpmr.c log diff annotate
message filter vlan and svlan packets by default.

date 2020-07-22T08:04:41Z
author fcambus
files src/sys/arch/mips64/mips64/cpu.c log diff annotate
message Use CPU_IS_PRIMARY macro in cpuattach() on mips64.

OK visa@

date 2020-07-22T08:33:43Z
author fcambus
files src/sys/arch/i386/i386/machdep.c log diff annotate
message Use CPU_IS_PRIMARY macro in identifycpu() on i386.

date 2020-07-22T08:38:51Z
author dlg
files src/sys/net/if_bpe.c log diff annotate
message gc some ifmedia stuff that this driver doesnt use.

no functional change.

date 2020-07-22T10:43:14Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add devices found in Inspiron 5505 dmesg from jmc@

date 2020-07-22T10:45:03Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
message regen

date 2020-07-22T10:45:04Z
author jsg
files src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2020-07-22T11:08:01Z
author kettenis
files src/sys/arch/powerpc64/include/mplock.h log diff annotate
message Add missing mplock.h file.

date 2020-07-22T11:12:40Z
author jsg
files src/sys/dev/usb/usbdevs log diff annotate
message add Intel AX200 Bluetooth

date 2020-07-22T11:13:20Z
author jsg
files src/sys/dev/usb/usbdevs.h log diff annotate
src/sys/dev/usb/usbdevs_data.h log diff annotate
message regen

date 2020-07-22T12:38:38Z
author kettenis
files src/sys/arch/powerpc64/powerpc64/pmap.c log diff annotate
message Remove debugging printf in critical section. This doesn't play well with
the hash lock on MULTIPROCESSOR kernels.

date 2020-07-22T13:16:04Z
author krw
files src/sys/dev/softraidvar.h log diff annotate
src/sys/dev/vscsi.c log diff annotate
src/sys/dev/ata/atascsi.c log diff annotate
src/sys/dev/atapiscsi/atapiscsi.c log diff annotate
src/sys/dev/ic/aacvar.h log diff annotate
src/sys/dev/ic/advlib.h log diff annotate
src/sys/dev/ic/adwlib.h log diff annotate
src/sys/dev/ic/aic6360var.h log diff annotate
src/sys/dev/ic/aic79xx.h log diff annotate
src/sys/dev/ic/aic7xxxvar.h log diff annotate
src/sys/dev/ic/amivar.h log diff annotate
src/sys/dev/ic/cacvar.h log diff annotate
src/sys/dev/ic/cissvar.h log diff annotate
src/sys/dev/ic/gdtvar.h log diff annotate
src/sys/dev/ic/iha.h log diff annotate
src/sys/dev/ic/mfivar.h log diff annotate
src/sys/dev/ic/mpivar.h log diff annotate
src/sys/dev/ic/ncr53c9xvar.h log diff annotate
src/sys/dev/ic/nvmevar.h log diff annotate
src/sys/dev/ic/oosiopvar.h log diff annotate
src/sys/dev/ic/osiopvar.h log diff annotate
src/sys/dev/ic/qlavar.h log diff annotate
src/sys/dev/ic/qlwvar.h log diff annotate
src/sys/dev/ic/siopvar_common.h log diff annotate
src/sys/dev/ic/trm.h log diff annotate
src/sys/dev/ic/twevar.h log diff annotate
src/sys/dev/ic/uhavar.h log diff annotate
src/sys/dev/isa/wds.c log diff annotate
src/sys/dev/pci/arc.c log diff annotate
src/sys/dev/pci/ips.c log diff annotate
src/sys/dev/pci/mfii.c log diff annotate
src/sys/dev/pci/mpii.c log diff annotate
message Nuke unused struct scsi_link members of adapter softc's where the
driver successfully compiles on one or more of amd64, i386, hppa.

date 2020-07-22T13:16:05Z
author krw
files src/sys/dev/pci/qle.c log diff annotate
src/sys/dev/pci/vmwpvs.c log diff annotate
src/sys/dev/pv/hvs.c log diff annotate
src/sys/dev/pv/vioblk.c log diff annotate
src/sys/dev/pv/vioscsi.c log diff annotate
src/sys/dev/pv/xbf.c log diff annotate
src/sys/dev/sdmmc/sdmmc_scsi.c log diff annotate
src/sys/dev/usb/umass_scsi.c log diff annotate
src/sys/scsi/mpath.c log diff annotate
message Nuke unused struct scsi_link members of adapter softc's where the
driver successfully compiles on one or more of amd64, i386, hppa.

date 2020-07-22T13:54:30Z
author tobhe
files src/sys/crypto/aes.c log diff annotate
src/sys/crypto/aes.h log diff annotate
src/sys/crypto/blake2s.c log diff annotate
src/sys/crypto/blake2s.h log diff annotate
src/sys/crypto/chacha_private.h log diff annotate
src/sys/crypto/chachapoly.c log diff annotate
src/sys/crypto/chachapoly.h log diff annotate
src/sys/crypto/curve25519.c log diff annotate
src/sys/crypto/curve25519.h log diff annotate
src/sys/crypto/idgen.c log diff annotate
src/sys/crypto/poly1305.c log diff annotate
src/sys/crypto/poly1305.h log diff annotate
message Add missing CVS tags.

ok patrick@

date 2020-07-22T14:02:31Z
author deraadt
files src/sys/arch/sparc64/dev/vcons.c log diff annotate
message console marker should be after :

date 2020-07-22T16:49:13Z
author kettenis
files src/sys/arch/powerpc64/dev/xics.c log diff annotate
src/sys/arch/powerpc64/dev/xive.c log diff annotate
src/sys/arch/powerpc64/include/cpu.h log diff annotate
src/sys/arch/powerpc64/include/intr.h log diff annotate
src/sys/arch/powerpc64/powerpc64/cpu.c log diff annotate
src/sys/arch/powerpc64/powerpc64/intr.c log diff annotate
message Implement IPIs.

date 2020-07-22T17:39:50Z
author deraadt
files src/sys/kern/tty.c log diff annotate
message pstat -t was showing bogus column data on ttys, in modes where
newline doesn't occur to rewind to column 0. If OPOST is inactive,
simply return 0.
ok millert

date 2020-07-22T19:09:15Z
author kettenis
files src/sys/arch/powerpc64/dev/xive.c log diff annotate
message Don't grab the kernel lock for mpsafe interrupts.

date 2020-07-22T19:53:11Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
src/sys/dev/fdt/if_mvppreg.h log diff annotate
message Use 1U for BIT(x), always define it and use it in four more places.

date 2020-07-22T19:54:05Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
message Fix whitespace issue.

date 2020-07-22T19:56:42Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
src/sys/dev/fdt/if_mvppreg.h log diff annotate
message Use correct ethertype and IP proto defines.

date 2020-07-22T19:57:59Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
message Fix more whitespace issues.

date 2020-07-22T20:37:34Z
author mvs
files src/sys/net/bridgestp.c log diff annotate
message Use interface index instead of pointer to `ifnet' in `struct bstp_port'.

ok yasuoka@

date 2020-07-22T20:37:35Z
author mvs
files src/sys/net/if_bridge.c log diff annotate
src/sys/net/if_bridge.h log diff annotate
src/sys/net/if_switch.c log diff annotate
message Use interface index instead of pointer to `ifnet' in `struct bstp_port'.

ok yasuoka@

date 2020-07-22T20:39:02Z
author kettenis
files src/sys/arch/powerpc64/powerpc64/pmap.c log diff annotate
message Actually try to evict a PTE from a different slot instead of failing to
evict the same PTE 16 times because the PTE is wired.

date 2020-07-22T20:41:26Z
author kettenis
files src/sys/arch/powerpc64/include/cpu.h log diff annotate
src/sys/arch/powerpc64/include/db_machdep.h log diff annotate
src/sys/arch/powerpc64/include/intr.h log diff annotate
src/sys/arch/powerpc64/powerpc64/cpu.c log diff annotate
src/sys/arch/powerpc64/powerpc64/db_interface.c log diff annotate
src/sys/arch/powerpc64/powerpc64/intr.c log diff annotate
message Make switching CPUs in DDB work.

date 2020-07-22T20:50:16Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
message Rework mvpp2_prs_flow_find() to return a tid instead of a whole prs
entry, saving at least one unnecessary malloc(9)/free(9) cycle.

date 2020-07-22T20:58:40Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
message Pass tid we're looking for to mvpp2_prs_hw_read(), then we can zero the
prs entry there and also save a few lines.

date 2020-07-22T21:14:05Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
src/sys/dev/fdt/if_mvppreg.h log diff annotate
message Init GOP and COMPHY.

date 2020-07-22T22:06:00Z
author krw
files src/sys/arch/sparc64/dev/vdsk.c log diff annotate
message Nuke unused struct scsi_link member of vdsk_softc.

sparc64 compile test by jmatthew@