MFV r274273:

ZFS large block support.

Please note that booting from datasets that have recordsize greater
than 128KB is not supported (but it's Okay to enable the feature on
the pool).  This *may* remain unchanged because of memory constraint.

Limited safety belt is provided for mounted root filesystem but use
caution is advised.

Illumos issue:
    5027 zfs large block support

MFC after:	1 month


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274337 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
return kernel-supplied error if available.
Also fix field names in a comment.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274338 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Constify the AES code and propagate to consumers.  This allows us to
update the Fortuna code to use SHAd-256 as defined in FS&K.

Approved by:	so (self)


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274340 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
I just realized that the previous commit message makes no sense: the
first sentence should have read "Constify the AES and SHA-256 code and
wrappers".  This allows us to feed zero_region (which is const) to the
hash function during reseeding and thereby implement the FS&K version of
SHAd-256 instead of the older F&S version.

Approved by:	so (self)


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274341 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
For now handle only multicast addresses, we still use routes to
LLA unicasts yet.

Sponsored by:	Yandex LLC


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274342 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
When sleeping waiting for the profiling stop, always set P_STOPPROF
before dropping process lock.  Clear P_STOPPROF when doing wakeup.

Both issues caused thread to hang in stopprofclock() "stopprof" sleep.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274343 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Consistently use if_link.

Reviewed by:	ae, melifaro


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274345 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove link-local multicast routes remnants from in6_purgeaddr.
Also merge in6_purgeaddr_mc with in6_purgeaddr.

Sponsored by:	Yandex LLC


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274346 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
* Make nd6_dad_duplicated() constant.
* Simplify refcounting by using nd6_dad_add() / nd6_dad_del().

Reviewed by:	ae
MFC after:	2 weeks
Sponsored by:	Yandex LLC


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274347 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add sa6_checkzone_ifp() function. It checks correctness of struct
sockaddr_in6, usually obtained from the user level through ioctl.
It initializes sin6_scope_id using given interface.

Sponsored by:	Yandex LLC


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274348 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add /usr/lib/debug directory to hier(7)

The canonical standalone debug directory established by the GNU
toolchain is /usr/lib/debug, and we use it when WITH_DEBUG_FILES is set.
Mention it in the file system hierarchy page.

Reviewed by:	bcr
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D1134


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274349 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
cxgbe(4): adjust PMRX and PMTX parameters.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274351 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sync a comment with our internal repo


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274353 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
initialize *color if passed as an argument


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274354 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
fix a typo


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274355 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Remove kernel handling of ICMP_SOURCEQUENCH.
It hasn't been used for a very long time.
Additionally, it was deprecated by RFC 6633.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274359 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
- fix typo: use ring size from the rx ring, not the tx one (they should be
  the same, but just in case);
- reuse the previously computed len-1 value


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274361 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
in the Linux section, properly define the NMG_LOCK type.
Also import WITH_GENERIC in preparation to adding fine-grained
options to disable specific netmap components.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274362 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Kill custom in_matroute() radix mathing function removing one rte mutex lock.

Initially in_matrote() in_clsroute() in their current state was introduced by
r4105 20 years ago. Instead of deleting inactive routes immediately, we kept them
in route table, setting RTPRF_OURS flag and some expire time. After that, either
GC came or RTPRF_OURS got removed on first-packet. It was a good solution
in that days (and probably another decade after that) to keep TCP metrics.
However, after moving metrics to TCP hostcache in r122922, most of in_rmx
functionality became unused. It might had been used for flushing icmp-originated
routes before rte mutexes/refcounting, but I'm not sure about that.

So it looks like this is nearly impossible to make GC do its work nowadays:

in_rtkill() ignores non-RTPRF_OURS routes.
route can only become RTPRF_OURS after dropping last reference via rtfree()
which calls in_clsroute(), which, it turn, ignores UP and non-RTF_DYNAMIC routes.

Dynamic routes can still be installed via received redirect, but they
have default lifetime (no specific rt_expire) and no one has another trie walker
to call RTFREE() on them.

So, the changelist:
* remove custom rnh_match / rnh_close matching function.
* remove all GC functions
* partially revert r256695 (proto3 is no more used inside kernel,
  it is not possible to use rt_expire from user point of view, proto3 support
  is not complete)
* Finish r241884 (similar to this commit) and remove remaining IPv6 parts

MFC after:	1 month


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274363 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add baud rate support to telnet(1)

This implements part of RFC-2217

It's based off a patch originally written by Sujal Patel at Isilon, and
contributions from other Isilon employees.

PR: 173728
Phabric: D995
Reviewed by: markj, markm
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


git-svn-id: svn+ssh://svn.freebsd.org/base/head@274364 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f