OpenBSD cvs log

created 2024-01-19T10:36:09Z
begin 2023-12-22T00:00:00Z
end 2023-12-23T00:00:00Z
path src/sys
commits 2

date 2023-12-22T05:28:14Z
author kevlo
files src/sys/dev/pci/if_rge.c log diff annotate
src/sys/dev/pci/if_rgereg.h log diff annotate
message Update microcode, initialization and reset behavior.
Remove two chip versions (identified by MAC_CFG2 and MAC_CFG4) support that
may not be available in the market, and also raise rxring lwm to 32.

Tested by Nick Owens.

date 2023-12-22T23:01:50Z
author mvs
files src/sys/net/if.c log diff annotate
src/sys/net/if_aggr.c log diff annotate
src/sys/net/if_bpe.c log diff annotate
src/sys/net/if_etherip.c log diff annotate
src/sys/net/if_gif.c log diff annotate
src/sys/net/if_gre.c log diff annotate
src/sys/net/if_mpe.c log diff annotate
src/sys/net/if_mpip.c log diff annotate
src/sys/net/if_mpw.c log diff annotate
src/sys/net/if_pflow.c log diff annotate
src/sys/net/if_pfsync.c log diff annotate
src/sys/net/if_pppx.c log diff annotate
src/sys/net/if_sec.c log diff annotate
src/sys/net/if_tpmr.c log diff annotate
src/sys/net/if_trunk.c log diff annotate
src/sys/net/if_tun.c log diff annotate
src/sys/net/if_var.h log diff annotate
src/sys/net/if_veb.c log diff annotate
src/sys/net/if_vlan.c log diff annotate
src/sys/net/if_vxlan.c log diff annotate
src/sys/net/if_wg.c log diff annotate
src/sys/netinet/ip_carp.c log diff annotate
message Always allocate per-CPU statistics counters for network interface
descriptor.

We have the mess in network interface statistics. Only pseudo drivers
do per-CPU counters allocation, all other network devices use the old
`if_data'. The network stack partially uses per-CPU counters and
partially use `if_data', but the protection is inconsistent: some times
counters accessed with exclusive netlock, some times with shared
netlock, some times with kernel lock, but without netlock, some times
with another locks.

To make network interfaces statistics more consistent, always allocate
per-CPU counters at interface attachment time and use it instead of
`if_data'. At this step only move counters allocation to the if_attach()
internals. The `if_data' removal will be performed with the following
diffs to make review and tests easier.

ok bluhm