r357042 avg Jan. 23, 2020, 11:05 a.m.
We observe at least one problem: if a UDP socket is connect(2)-ed, then a
received packet that matches the connection cannot be matched to the
corresponding PCB because of an incorrect flow ID.  That was oberved for DNS
requests from the libc resolver.  We got this problem because FreeBSD
r343291 enabled code that can set rsstype of received packets to values
other than M_HASHTYPE_OPAQUE_HASH.  Earlier that code was under 'ifdef

The essence of this change is to use the system-wide RSS key instead of
some historic hardcoded key when the software RSS is enabled and it is
configured to use Toeplitz algorithm (the default).
In all other cases, the driver reports the opaque hash type for received
packets while still using Toeplitz algorithm with the internal key.

PR:		242890
Reviewed by:	pkelsey
Sponsored by:	Panzura
Differential Revision: https://reviews.freebsd.org/D23147
r357041 hselasky Jan. 23, 2020, 10:40 a.m.
MFC after:	1 week
Sponsored by:	Mellanox Technologies
r357040 avg Jan. 23, 2020, 10:13 a.m.
This bus does not really have a concept of the initiator ID, so use
a guaranteed dummy one that won't conflict with any real target.

This change fixes a problem with virtio_scsi on GCE where disks get
sequential target IDs starting from one.  If there are seven or more
disks, then a disk with the target ID of seven would not be discovered
by FreeBSD as that ID was reserved as the initiator ID -- see

Discussed with:	bryanv
MFC after:	2 weeks
Sponsored by:	Panzura
r357039 melifaro Jan. 23, 2020, 9:46 a.m.
No functional changes.

MFC after:	3 weeks
r357038 melifaro Jan. 23, 2020, 9:14 a.m.
within epoch.

Simplify gigantic div_output() by splitting it into 3 functions,
 handling preliminary setup, remote "ip[6]_output" case and
 local "netisr" case. Leave original indenting in most parts to ease
 diff comparison.  Indentation will be fixed by a followup commit.

Reported by:	Nick Hibma <nick at van-laarhoven.org>
Reviewed by:	glebius
Differential Revision:	https://reviews.freebsd.org/D23317
r357028 jeff Jan. 23, 2020, 5:23 a.m.
state more clear.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D23326
r357027 jeff Jan. 23, 2020, 5:22 a.m.

Reviewed by:	dougm, kib, markj
Differential Revision:	https://reviews.freebsd.org/D23321
r357026 jeff Jan. 23, 2020, 5:19 a.m.
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D23320
r357025 jeff Jan. 23, 2020, 5:18 a.m.
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D23311
r357024 jeff Jan. 23, 2020, 5:14 a.m.
Reviewed by:	dougm, kib, markj
Differential Revision:	https://reviews.freebsd.org/D23310
r357023 jeff Jan. 23, 2020, 5:11 a.m.
Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D23304
r357022 jeff Jan. 23, 2020, 5:07 a.m.
Add a new VM return code KERN_RESTART which means, deallocate and restart in

Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D23303
r357021 jeff Jan. 23, 2020, 5:05 a.m.
Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D23302
r357020 jeff Jan. 23, 2020, 5:03 a.m.
This additionally fixes a potential bug/pessimization where we could fail to
reload the original fault_type on restart.

Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D23301
r357019 rlibby Jan. 23, 2020, 4:56 a.m.
UMA zone structures have two arrays at the end which are sized according
to the machine: an array of CPU count length, and an array of NUMA
domain count length.  The CPU counting was wrong in the case where some
CPUs are disabled (when mp_ncpus != mp_maxid + 1), and this caused the
second array to be overlaid with the first.

Reported by:	olivier
Reviewed by:	jeff, markj
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D23318