]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
4 years agoRelease notes documentation:
gjb [Tue, 25 Jun 2019 19:35:58 +0000 (19:35 +0000)]
Release notes documentation:
- Add versions of ports-mgmt/pkg, x11/gnome3, and x11/kde5.

Approved by: re (implicit)
Sponsored by: Rubicon Communications, LLC (Netgate)

4 years agoRelease notes documentation:
gjb [Tue, 25 Jun 2019 19:35:57 +0000 (19:35 +0000)]
Release notes documentation:
- Remove empty sections.

Approved by: re (implicit)
Sponsored by: Rubicon Communications, LLC (Netgate)

4 years agoRelease notes documentation:
gjb [Tue, 25 Jun 2019 19:35:56 +0000 (19:35 +0000)]
Release notes documentation:
- r338938, oce(4) version 11.0.50.0.
- r341987, mlx4en(4) and mlx5en(4) version 3.5.0.
- r349181, ixl(4) and ixlv(4) version 1.11.9 and 1.5.8.

Approved by: re (implicit)
Sponsored by: Rubicon Communications, LLC (Netgate)

4 years agoRelease notes documentation:
gjb [Mon, 24 Jun 2019 19:52:08 +0000 (19:52 +0000)]
Release notes documentation:
- r347037, virtual machine image reduction, and note how to resize
           the images.
- r346479, init_exec kenv(1) variable addition.
- r346518, spi(8) addition.
- r348482, deprecated IPSec algorithm warnings.
- r347962, driver deprecations.

Approved by: re (implicit)
Sponsored by: Rubicon Communications, LLC (Netgate)

4 years agoUpdate releng/11.3 to RC2 as part of the 11.3-RELEASE cycle.
gjb [Fri, 21 Jun 2019 00:01:12 +0000 (00:01 +0000)]
Update releng/11.3 to RC2 as part of the 11.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoUpdate the pkg.conf used to populate the dvd1.iso to use
gjb [Wed, 19 Jun 2019 15:26:52 +0000 (15:26 +0000)]
Update the pkg.conf used to populate the dvd1.iso to use
the release_3 package set.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoMFS r349163: ixl(4)/ixlv(4): Update Intel XL710 PF and VF drivers to ixl-1.11.9 and...
erj [Wed, 19 Jun 2019 00:37:54 +0000 (00:37 +0000)]
MFS r349163: ixl(4)/ixlv(4): Update Intel XL710 PF and VF drivers to ixl-1.11.9 and ixlv-1.5.8

Update the legacy (non-iflib) drivers in stable/11 with recent changes from the
Intel out-of-tree version.

Major changes:

- Support for new BASE-T device with additional link speeds (2.5G and 5G) and EEE
- Additional I2C access methods backported from ixl-iflib
- FW LLDP Agent control with sysctl added for X722 devices (this already
  existed for 710 devices)
- MAC/VLAN filters handling has been refactored
- Building and loading if_ixlv as a KLD has been fixed

This commit is not from CURRENT since the driver in 12/13 uses iflib, and the decision was
made to not use iflib in FreeBSD 11 releases.

Submitted by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Approved by: re@ (gjb@)
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D20290

4 years agoPost-branch updates to release-related documentation:
gjb [Fri, 14 Jun 2019 00:30:52 +0000 (00:30 +0000)]
Post-branch updates to release-related documentation:

- Bump copyright years.
- Note in parenthesis 11.3 may be the last 11.x release.
- Prune stale errata items from 11.2-RELEASE.
- Fix mailing list in the readme page.
- Bump version numbers accordingly.

This has no effect or impact on the in-progress 11.3-RC1
build.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoCopy stable/11@r349022 to releng/11.3 as part of the 11.3-RELEASE
gjb [Fri, 14 Jun 2019 00:03:48 +0000 (00:03 +0000)]
Copy stable/11@r349022 to releng/11.3 as part of the 11.3-RELEASE
cycle.
Update releng/11.3 from BETA3 to RC1.
Switch the default dvd1.iso pkg(8) repository from latest to
quarterly.
Bump __FreeBSD_version.
Prune vestigial svn:mergeinfo from the new branch.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoRelease notes documentation:
gjb [Thu, 13 Jun 2019 19:51:48 +0000 (19:51 +0000)]
Release notes documentation:
- r346296, clang (and friends) 8.0.0.
- r346981, WPA 2.8.
- r348343, OpenSSL 1.0.2s.
- r348607, libarchive(3) updates.
- r348980, OpenPAM updates.
- r346855, cxgbe(4) hash filters, NAT offloading, SMAC/DMAC
           swapping filtering.
- r346940, cxgbe(4) T4/5/6 firmware update.
- r348588, geli(8) weak algorithm deprecation warnings.
- r346690, ZFS parallel mounting.
- r348753, deprecation warnings enabled.
- r346212, NAT64 CLAT support.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoMFC r348682:
ae [Wed, 12 Jun 2019 16:34:02 +0000 (16:34 +0000)]
MFC r348682:
  Initialize V_nat64out methods explicitly.

  It looks like initialization of static variable doesn't work for
  VIMAGE and this leads to panic.

Approved by: re (gjb)

4 years agoMFH (r313975, r315909, r317827, r344533): upgrade to latest OpenPAM
des [Wed, 12 Jun 2019 01:53:14 +0000 (01:53 +0000)]
MFH (r313975, r315909, r317827, r344533): upgrade to latest OpenPAM

Approved by: re (gjb)

4 years agoMFC r348797:
hselasky [Tue, 11 Jun 2019 08:50:26 +0000 (08:50 +0000)]
MFC r348797:
Fix for reading the configuration descriptor in libusb. Catch invalid
configuration descriptor reads early on to avoid issues with devices
that don't check for a valid USB configuration read request.

Submitted by: takahiro.kurosawa@gmail.com
PR: 238412
Approved by: re (kib)

4 years agoMFC r348667:
cy [Tue, 11 Jun 2019 03:40:25 +0000 (03:40 +0000)]
MFC r348667:

While working on a PR, more are discovered.
Remove more #ifdefs missed in r343701.

Approved by: re (gjb@)

4 years agoMFC r348666:
cy [Tue, 11 Jun 2019 03:39:20 +0000 (03:39 +0000)]
MFC r348666:

Clean up #ifdefs from old unsupported releases of FreeBSD.

Approved by: re (gjb@)

4 years agoMFC r342747 (mmacy): zfsboot: support newer ZFS versions
kevans [Mon, 10 Jun 2019 16:36:31 +0000 (16:36 +0000)]
MFC r342747 (mmacy): zfsboot: support newer ZFS versions

declare v3 objset size/layout to fix userboot and possibly other loader
issues

- fix for userboot assertion failure in zfs_dev_close in free due to out of
  bounds write
- fix for zfs_alloc / zfs_free mismatch assertion failure when booting GPT
  on BIOS

Approved by: re (gjb)

4 years agoMFC r348569: [zfsboot] Fix boot env back compat (#190)
kevans [Mon, 10 Jun 2019 15:55:38 +0000 (15:55 +0000)]
MFC r348569: [zfsboot] Fix boot env back compat (#190)

* Fix boot env back compat

zfsboot must try zfsloader before loader in order to remain compatible
with boot environments created prior to zfs functionality being rolled
into loader proper.

* Improve comments in zfsboot

Explain the significance of the load path order, and put the comment
about looping through the paths in the appropriate scope.

Approved by: re (gjb)

4 years agoMFC r348510: bectl(8): Don't accept jid=0 from jail_getid
kevans [Mon, 10 Jun 2019 14:47:56 +0000 (14:47 +0000)]
MFC r348510: bectl(8): Don't accept jid=0 from jail_getid

This will trivially exist, but we don't want it - none of our jailed BEs
will have jid=0.

Approved by: re (gjb)

4 years agoMFC r348601:
slavash [Mon, 10 Jun 2019 13:44:29 +0000 (13:44 +0000)]
MFC r348601:
Fix prio vs. nonprio tagged traffic in RDMACM

In current RDMACM implementation RDMACM server will not find a GID
index when the request was prio-tagged and the sever is non
prio-tagged and vise-versa.
According to 802.1Q-2014, VLAN tagged packets with VLAN id 0 should
be considered as untagged. Treat RDMACM request the same.

Reviewed by:    hselasky, kib
Sponsored by:   Mellanox Technologies
Approved by:    re (gjb@)

4 years agoMFC r348631:
hselasky [Mon, 10 Jun 2019 13:36:12 +0000 (13:36 +0000)]
MFC r348631:
In usb(4) fix a lost completion event issue towards libusb(3). It may happen
if a USB transfer is cancelled that we need to fake a completion event.
Implement missing support in ugen_fs_copy_out() to handle this.

This fixes issues with webcamd(8) and firefox.

Approved by: re (gjb)
Sponsored by: Mellanox Technologies

4 years agoMFC r348604:
hselasky [Mon, 10 Jun 2019 13:15:49 +0000 (13:15 +0000)]
MFC r348604:
In xhci(4) there is no stream ID in the completion TRB.
Instead iterate all the stream IDs in stream mode to find
the matching USB transfer.

Approved by: re(kib)
Sponsored by: Mellanox Technologies

4 years agoMFC r348575:
cy [Mon, 10 Jun 2019 12:40:38 +0000 (12:40 +0000)]
MFC r348575:

Properly define the fourth argument to ipf_check, the main entry point
into ipfilter. A proper definition simplifies dtrace scripts a little.

Approved by: re (delphij@)

4 years agoMFC r348603:
hselasky [Sun, 9 Jun 2019 08:18:24 +0000 (08:18 +0000)]
MFC r348603:
Make sure the DMA tags get freed in mlx5en(4).

Approved by: re (gjb)
Sponsored by: Mellanox Technologies

4 years agoMFC r348718:
cy [Sun, 9 Jun 2019 02:32:52 +0000 (02:32 +0000)]
MFC r348718:

Whitespace adjustment.

Approved by: re (gjb@)

4 years agoMFC r348320:
cy [Sat, 8 Jun 2019 22:29:51 +0000 (22:29 +0000)]
MFC r348320:

Contuation of r343701, removal of irrelevant #ifdefs.

Approved by: re (gjb@)

4 years agoMFC r348312:
cy [Sat, 8 Jun 2019 22:28:28 +0000 (22:28 +0000)]
MFC r348312:

style(9)

Approved by: re (gjb@)

4 years agoMFC r348311:
cy [Sat, 8 Jun 2019 22:27:09 +0000 (22:27 +0000)]
MFC r348311:

Fix indentation and while at it simplfy the code.

Reported by: lwhsu@
Approved by: re (gjb@)

4 years agoMFC r348310:
cy [Sat, 8 Jun 2019 22:25:47 +0000 (22:25 +0000)]
MFC r348310:

Remove compile-time tests for unsupported versions of FreeBSD.

Approved by: re (gjb@)

4 years agoMFC r348500:
dim [Fri, 7 Jun 2019 18:52:36 +0000 (18:52 +0000)]
MFC r348500:

Partially revert r271349, which disabled the msun cexp test #4 on i386.

Ensure the expected result is stored first in a volatile variable with
the desired type.  This makes all the tests succeed.

Slightly changed from the original pull request, but functionally the
same.

Approved by: re (gjb)
Obtained from: https://github.com/freebsd/freebsd/pull/401
Submitted by: Moritz Buhl <gh@moritzbuhl.de>
PR: 191676

4 years agoMFC r348302:
delphij [Fri, 7 Jun 2019 02:36:26 +0000 (02:36 +0000)]
MFC r348302:

Chase r261913: hardcoded default crypt(3) algorithm is SHA-512 when DES
is not available.

Submitted by: Ali Mashtizadeh <ali mashtizadeh.com>
Approved by: re (gjb)

4 years agoUpdate stable/11 to BETA3 as part of the 11.3-RELEASE cycle.
gjb [Fri, 7 Jun 2019 00:00:12 +0000 (00:00 +0000)]
Update stable/11 to BETA3 as part of the 11.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoMFC 348542: Add 'device cxgbe' explicitly in the synopsis.
jhb [Thu, 6 Jun 2019 20:03:55 +0000 (20:03 +0000)]
MFC 348542: Add 'device cxgbe' explicitly in the synopsis.

ccr depends on symbols exported by the cxgbe driver as well as having
a runtime dependency.  While the runtime depenency was noted in the
manpage already, the compile-time dependency wasn't as clear.

PR: 238265
Approved by: re (gjb)

4 years agoMFC 348543: Warn about deprecated features on all major OS versions.
jhb [Thu, 6 Jun 2019 19:41:05 +0000 (19:41 +0000)]
MFC 348543: Warn about deprecated features on all major OS versions.

Approved by: re (gjb)

4 years agoMFC r348439:
gjb [Thu, 6 Jun 2019 12:44:43 +0000 (12:44 +0000)]
MFC r348439:
 Increase the size of the Vagrant default image size, as the 3GB
 size is too small to bootstrap the firstboot_pkgs list.

 While here, add the growfs(8) startup script to /etc/rc.conf,
 as Vagrant images can be resized by modifying the Vagrantfile.

Approved by: re (kib)
Sponsored by: The FreeBSD Foundation

4 years agoMFC r348065:
allanjude [Thu, 6 Jun 2019 05:10:32 +0000 (05:10 +0000)]
MFC r348065:

Correct the way remaining battery life is calculated

Previously, if a system had multiple batteries, the remaining life
percentage was calculated as the average of each battery's percent
remaining. This results in rather incorrect values when you consider the
case of the Thinkpad X270 that has a small 3 cell internally battery, and
a hot-swappable 9 cell battery that is used first. Battery 0 is at 100%,
but battery 1 is at 10%, you do not infact have 55% of your capacity
remaining.

The new method calculates the percentage based on remaining capacity
out of total capacity, giving a much more accurate reading.

PR: 229818
Submitted by: Keegan Drake H.P. <kd-dev@pm.me>
Sponsored by: Klara Systems
Event: Waterloo Hackathon 2019
Approved by: re (gjb)

4 years agoMFC r347953:
allanjude [Thu, 6 Jun 2019 05:09:43 +0000 (05:09 +0000)]
MFC r347953:

MFV/ZoL: `zfs userspace` ignored all unresolved UIDs after the first

zfsonlinux/zfs@88cfff182432e4d1c24c877f33b47ee6cf109eee

zfs_main: fix `zfs userspace` squashing unresolved entries

The `zfs userspace` squashes all entries with unresolved numeric
values into a single output entry due to the comparsion always
made by the string name which is empty in case of unresolved IDs.

Fix this by falling to a numerical comparison when either one
of string values is not found. This then compares any numerical
values after all with a name resolved.

Signed-off-by: Pavel Boldin <boldin.pavel@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reported by: clusteradm
Obtained from: ZFS-on-Linux

Approved by: re (gjb)

4 years agoMFC r348491:
np [Wed, 5 Jun 2019 21:46:56 +0000 (21:46 +0000)]
MFC r348491:

cxgbe/t4_tom: adjust the hardware receive window to match changes to the
receive sockbuf's high water mark.

Calculate rx credits on the spot instead of tracking sbused/sb_cc and
rx_credits in the toepcb.  The previous method worked when the high
water mark changed due to SB_AUTOSIZE but not when it was adjusted
directly (for example, by the soreserve in nfsrvd_addsock).

This fixes a connection hang while running iozone over an NFS mounted
share where nfsd's TCP sockets are being handled by t4_tom.

Sponsored by: Chelsio Communications

Approved by: re@ (gjb@)

4 years agoMFC r347990:
mm [Tue, 4 Jun 2019 10:35:54 +0000 (10:35 +0000)]
MFC r347990:
Sync libarchive with vendor.

Relevant vendor changes:
  Issue #795: XAR - do not try to add xattrs without an allocated name
  PR #812: non-recursive option for extract and list
  PR #958: support reading metadata from compressed files
  PR #999: add --exclude-vcs option to bsdtar
  Issue #1062: treat empty archives with a GNU volume header as valid
  PR #1074: Handle ZIP files with trailing 0s in the extra fields
            (Android APK archives)
  PR #1109: Ignore padding in Zip extra field data (Android APK archives)
  PR #1167: fix problems related to unreadable directories
  Issue #1168: fix handling of strtol() and strtoul()
  PR #1172: RAR5 - fix invalid window buffer read in E8E9 filter
  PR #1174: ZIP reader - fix of MSZIP signature parsing
  PR #1175: gzip filter - fix reading files larger than 4GB from memory
  PR #1177: gzip filter - fix memory leak with repeated header reads
  PR #1180: ZIP reader - add support for Info-ZIP Unicode Path Extra Field
  PR #1181: RAR5 - fix merge_block() recursion
            (OSS-Fuzz 12999, 13029, 13144, 13478, 13490)
  PR #1183: fix memory leak when decompressing ZIP files with LZMA
  PR #1184: fix RAR5 OSS-Fuzz issues 12466, 14490, 14491, 12817
    OSS-Fuzz 12466: RAR5 - fix buffer overflow when parsing huffman tables
    OSS-Fuzz 14490, 14491: RAR5 - fix bad shift-left operations
    OSS-Fuzz 12817: RAR5 - handle a case with truncated huffman tables
  PR #1186: RAR5 - fix invalid type used for dictionary size mask
            (OSS-Fuzz 14537)
  PR #1187: RAR5 - fix integer overflow (OSS-Fuzz 14555)
  PR #1190: RAR5 - RAR5 don't try to unpack entries marked as directories
            (OSS-Fuzz 14574)
  PR #1196: RAR5 - fix a potential SIGSEGV on 32-bit builds
  OSS-Fuzz 2582: RAR - fix use after free if there is an invalid entry
  OSS-Fuzz 14331: RAR5 - fix maximum owner name length
  OSS-Fuzz 13965: RAR5 - use unsigned int for volume number + range check

  Additional RAR5 reader changes:
    - support symlinks, hardlinks, file owner, file group, versioned files
    - change ARCHIVE_FORMAT_RAR_V5 to 0x100000
    - set correct mode for readonly directories
    - support readonly, hidden and system Windows file attributes

MFC r347999:
Install missing data file for
lib.libarchive.functional_test.test_read_format_zip_utf8_paths

Approved by: re (gjb blanket)

4 years agoMFC 348206,348231,348454: GELI crypto deprecation warnings.
jhb [Mon, 3 Jun 2019 21:04:23 +0000 (21:04 +0000)]
MFC 348206,348231,348454: GELI crypto deprecation warnings.

348206:
Add deprecation warnings for weaker algorithms to geli(4).

- Triple DES has been formally deprecated in Kerberos (RFC 8429)
  and is soon to be deprecated in IPsec (RFC 8221).
- Blowfish is deprecated.  FreeBSD doesn't support its successor
  (Twofish).
- MD5 is generally considered a weak digest that has known attacks.

geli refuses to create new volumes using these algorithms via 'geli
init'.  It also warns when attaching to existing volumes or creating
temporary volumes via 'geli onetime' .  The plan is to fully remove
support for these algorithms in FreeBSD 13.

Note that none of these algorithms have ever been the default
algorithm used by geli(8).  Users would have had to explicitly select
these algorithms when creating volumes in the past.

348231:
Correct the argument passed to g_eli_algo2str()

348454:
Remove tests for the deprecated algorithms in r348206

The tests are failing because the return value and output have changed, but
before test code structure adjusted, removing these test cases help people
be able to focus on more important cases.

Approved by: re (gjb)
Relnotes: yes

4 years agoMFC r348509: jail_getid(3): add special-case immediate return for jid 0
kevans [Mon, 3 Jun 2019 16:47:51 +0000 (16:47 +0000)]
MFC r348509: jail_getid(3): add special-case immediate return for jid 0

As depicted in the comment: jid 0 always exists, but the lookup will fail as
it does not appear in the kernel's alljails list being a special jail. Some
callers will expect/rely on this, and we have no reason to lie because it
does always exist.

Approved by: re (gjb)

4 years agoMFC r348247:
ken [Fri, 31 May 2019 20:36:32 +0000 (20:36 +0000)]
MFC r348247:
  ------------------------------------------------------------------------
  r348247 | ken | 2019-05-24 13:58:29 -0400 (Fri, 24 May 2019) | 57 lines

  Fix FC-Tape bugs caused in part by r345008.

  The point of r345008 was to reset the Command Reference Number (CRN)
  in some situations where a device stayed in the topology, but had
  changed somehow.

  This can include moving from a switch connection to a direct
  connection or vice versa, or a device that temporarily goes away
  and comes back.  (e.g. moving to a different switch port)

  There were a couple of bugs in that change:
  - We were reporting that a device had not changed whenever the
    Establish Image Pair bit was not set.  That is not quite correct.
    Instead, if the Establish Image Pair bit stays the same (set or
    not), the device hasn't changed in that way.

  - We weren't setting PRLI Word0 in the port database when a new
    device arrived, so comparisons with the old value for the
    Establish Image Pair bit weren't really possible.  So, make sure
    PRLI Word0 is set in the port database for new devices.

  - We were resetting the CRN whenever the Establish Image Pair bit
    was set for a device, even when the device had stayed the same
    and the value of the bit hadn't changed.  Now, only reset the
    CRN for devices that have changed, not devices that sayed the
    same.

  The result of all of this was that if we had a single FC device on
  an FC port and it went away and came back, we would wind up
  correctly resetting the CRN.

  But, if we had multiple devices connected via a switch, and there
  was any change in one or more of those devices, all of the devices
  that stayed the same would also have their CRN values reset.

  The result, from a user standpoint, is that the tape drives, etc.
  would all start to time out commands and the initiator would send
  aborts.

  sys/dev/isp/isp.c:
   In isp_pdb_add_update(), look at whether the Establish
   Image Pair bit has changed as part of the check to
   determine whether a device is still the same.   This was
   causing erroneous change notifications.  Also, when
   creating a new port database entry, initialize the
   PRLI Word 0 values.

  sys/dev/isp/isp_freebsd.c:
   In isp_async(), in the changed/stayed case, instead of
   looking at the Establish Image Pair bit to determine
   whether to reset the CRN, look at the command value.
   (Changed vs. Stayed.)  Only reset the CRN for devices
   that have changed.
  ------------------------------------------------------------------------

Sponsored by: Spectra Logic
Approved by: re (gjb)

4 years agoMFC 348205:
jhb [Fri, 31 May 2019 20:26:56 +0000 (20:26 +0000)]
MFC 348205:
Add deprecation warnings for IPsec algorithms deprecated in RFC 8221.

All of these algorithms are either explicitly marked MUST NOT, or they
are implicitly MUST NOTs by virtue of not being included in IETF's
list of protocols at all despite having assignments from IANA.

Specifically, this adds warnings for the following ciphers:
- des-cbc
- blowfish-cbc
- cast128-cbc
- des-deriv
- des-32iv
- camellia-cbc

Warnings for the following authentication algorithms are also added:
- hmac-md5
- keyed-md5
- keyed-sha1
- hmac-ripemd160

Approved by: re (gjb)

4 years agoMFC r348236:
ae [Fri, 31 May 2019 17:18:09 +0000 (17:18 +0000)]
MFC r348236:
  Restore IPV6_NEXTHOP option support that seem was partially broken
  since r286195.

  Do not forget results of route lookup and initialize rt and ifp
  pointers.

  PR: 238098
  Submitted by: Masse Nicolas <nicolas.masse at stormshield eu>
Approved by: re (gjb)

4 years agoUpdate stable/11 to BETA2 as part of the 11.3-RELEASE cycle.
gjb [Fri, 31 May 2019 00:00:03 +0000 (00:00 +0000)]
Update stable/11 to BETA2 as part of the 11.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoUnbreak the powerpc, powerpc64, and sparc64 builds.
tuexen [Thu, 30 May 2019 17:31:19 +0000 (17:31 +0000)]
Unbreak the powerpc, powerpc64, and sparc64 builds.
The issue was introduced in r348435.

Approved by: re (gjb@)

4 years agoMFC 347964:
jhb [Thu, 30 May 2019 16:42:57 +0000 (16:42 +0000)]
MFC 347964:
Expose the MD_CLEAR capability used by Intel MDS mitigations to guests.

Approved by: re (gjb)

4 years agoMFC r338053:
tuexen [Thu, 30 May 2019 16:32:18 +0000 (16:32 +0000)]
MFC r338053:

Don't expose the uptime via the TCP timestamps.

The TCP client side or the TCP server side when not using SYN-cookies
used the uptime as the TCP timestamp value. This patch uses in all
cases an offset, which is the result of a keyed hash function taking
the source and destination addresses and port numbers into account.
The keyed hash function is the same a used for the initial TSN.

The use of
VNET_DEFINE_STATIC(u_char, ts_offset_secret[32]);
had to be replaced by
VNET_DEFINE(u_char, ts_offset_secret[32]);

MFC r348290:

When an ACK segment as the third message of the three way handshake is
received and support for time stamps was negotiated in the SYN/SYNACK
exchange, perform the PAWS check and only expand the syn cache entry if
the check is passed.
Without this check, endpoints may get stuck on the incomplete queue.

Reviewed by: jtl@, rrs@
Approved by: re (kib@))
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D16636
Differential Revision: https://reviews.freebsd.org/D20374

4 years agoMFC 347033:
jhb [Wed, 29 May 2019 23:11:07 +0000 (23:11 +0000)]
MFC 347033:
Increase the VirtIO segment count to support modern Windows guests.

The Windows virtio driver ignores the advertized seg_max field and
assumes the host can accept up to 67 segments in indirect descriptors,
triggering an assert in the bhyve process.

This brings back r282922 but with a couple of changes:
- It raises the block interface segment limit to 128 instead of 67.
- Linux's virtio driver assumes that the segment limit is no
  larger than the ring size.  To avoid breaking Linux guests,
  raise the VirtIO ring size to 128, and cap the VirtIO segment
  limit at ring size - 2 (effectively 126).

Approved by: re (gjb)

4 years agoMFC 345158: Fix uart emulation bug
jhb [Wed, 29 May 2019 20:45:31 +0000 (20:45 +0000)]
MFC 345158: Fix uart emulation bug

THRE is always asserted in LSR reads, so REG_IER writes that raise
IER_ETXRDY must also set thre_int_pending.

Approved by: re (gjb)

4 years agoMFC r347642:
cy [Wed, 29 May 2019 19:11:09 +0000 (19:11 +0000)]
MFC r347642:

The driver list prints "(null)" for the NDIS driver when -h (help) or
an unknown switch is passed outputting the command usage. This is
because the NDIS driver is uninitialized when usage help is printed.
To resolve this we initialize the driver prior to the possibility of
printing the usage help message.

Approved by: re (gjb@)

4 years agoMFC r348288:
dim [Wed, 29 May 2019 18:32:43 +0000 (18:32 +0000)]
MFC r348288:

Pull in r361696 from upstream llvm trunk (by Sanjay Patel):

  [SelectionDAG] soften assertion when legalizing narrow vector FP ops

  The test based on PR42010:
  https://bugs.llvm.org/show_bug.cgi?id=42010

  ...may show an inaccuracy for PPC's target defs, but we should not be
  so aggressive with an assert here. There's no telling what
  out-of-tree targets look like.

This fixes an assertion when building the graphics/mesa-dri port for
PowerPC64.

Approved by: re (kib)
Reported by: Mark Millard <marklmi26-fbsd@yahoo.com>
PR: 238082

4 years agoMFC r348075:
kib [Wed, 29 May 2019 14:28:13 +0000 (14:28 +0000)]
MFC r348075:
Do not call hw_mds_recalculate() from initializecpu().

Approved by: re (gjb)

4 years agoMerge OpenSSL 1.0.2s.
jkim [Wed, 29 May 2019 00:00:52 +0000 (00:00 +0000)]
Merge OpenSSL 1.0.2s.

Approved by: re (kib)

4 years agoMFC r348127: bectl(8): add description for create subcommand
kevans [Mon, 27 May 2019 13:14:22 +0000 (13:14 +0000)]
MFC r348127: bectl(8): add description for create subcommand

In commit r345845, a portion of documentation for the create subcommand was
removed. Specifically, for creating a snapshot of an existing boot
environment. bectl even has a test-case for this functionality.

Removing the sub-command description was discussed in PR 235850.

This patch brings back the second "create" description that was originally
in place. Albeit, with a few wording/clarifying changes.

Approved by: re (marius)

4 years agoMFC r348215, r348219: fix bectl(8) jail w/ numeric BE names
kevans [Mon, 27 May 2019 13:12:51 +0000 (13:12 +0000)]
MFC r348215, r348219: fix bectl(8) jail w/ numeric BE names

r348215:
jail_getid(3): validate jid string input

Currently, if jail_getid(3) is passed in a numeric string, it assumes that
this is a jid string and passes it back converted to an int without checking
that it's a valid/existing jid. This breaks consumers that might use
jail_getid(3) to see if it can trivially grab a jid from a name if that name
happens to be numeric but not actually the name/jid of the jail. Instead of
returning -1 for the jail not existing, it'll return the int version of the
input and the consumer will not fallback to trying other methods.

Pass the numeric input to jail_get(2) as the jid for validation, rather than
the name. This works well- the kernel enforces that jid=name if name is
numeric, so doing the safe thing and checking numeric input as a jid will
still DTRT based on the description of jail_getid.

r348219:
bectl(8): Add a test for jail/unjail of numeric BE names

Fixed by r348215, bectl ujail first attempts the trivial fetch of a jid by
passing the first argument to 'ujail' to jail_getid(3) in case a jid/name
have been passed in instead of a BE name. For numerically named BEs, this
was doing the wrong thing: instead of failing to locate the jid specified
and falling back to mountpath search, jail_getid(3) would return the input
as-is.

While here, I've fixed bectl_jail_cleanup which still used a hard-coded pool
name that was overlooked w.r.t. other work that was in-flight around the
same time.

Approved by: re (marius)

4 years agoMFC: r346714: Add accessor function for vm->maxcpus
rgrimes [Sat, 25 May 2019 11:27:56 +0000 (11:27 +0000)]
MFC: r346714: Add accessor function for vm->maxcpus

Replace most VM_MAXCPU constant useses with an accessor function to
vm->maxcpus which for now is initialized and kept at the value of
VM_MAXCPUS.

This is a rework of Fabian Freyer (fabian.freyer_physik.tu-berlin.de)
work from D10070 to adjust it for the cpu topology changes that
occured in r332298

Approved by: re (kib)

4 years agoMFC: r346717: Make bhyve SMBIOS table topology aware
rgrimes [Sat, 25 May 2019 10:17:03 +0000 (10:17 +0000)]
MFC: r346717: Make bhyve SMBIOS table topology aware

When the CPU Topology was added to bhyve in r332298 the SMBIOS table was
missed, this table passes topology information to the system and was still
using the old concept of each vCPU is a socket with 1 core and 1 thread.
This code did not even try to use the old sysctl information to adjust
this data.

Correct that by building a proper SMBios table, mapping the > 254 cases to
0 per the SMBios 2.6 specification that is claimed by the structure.

Approved by: re (kib)

4 years agoMFC r347244:
delphij [Sat, 25 May 2019 01:58:00 +0000 (01:58 +0000)]
MFC r347244:

Move contrib/zlib to sys/contrib/zlib so that we can use it in kernel.
This is a prerequisite of unifying kernel zlib instances.

Submitted by: Yoshihiro Ota <ota at j.email.ne.jp>
Approved by: re (kib)

4 years agoMFC of 348074
mckusick [Sat, 25 May 2019 00:22:07 +0000 (00:22 +0000)]
MFC of 348074

Rewrite fsck_readdir() and dircheck() for clarity and correctness.

Approved by: re (gjb)

4 years agoUpdate stable/11 to BETA1 as part of the 11.3-RELEASE cycle.
gjb [Fri, 24 May 2019 00:00:29 +0000 (00:00 +0000)]
Update stable/11 to BETA1 as part of the 11.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

4 years agoMFC: r332298,333712,334199,334216,334219 bhyve cpu topology
rgrimes [Thu, 23 May 2019 21:23:18 +0000 (21:23 +0000)]
MFC: r332298,333712,334199,334216,334219 bhyve cpu topology

Approved by: re (gjb), bde/phk (mentor, implicit)

4 years agoMFC: r347960: bhyve virtio needs barriers
rgrimes [Thu, 23 May 2019 18:58:06 +0000 (18:58 +0000)]
MFC: r347960: bhyve virtio needs barriers

Under certain tight race conditions, we found that the lack of a memory
barrier in bhyve's virtio handling causes it to miss a NO_NOTIFY state
transition on block devices, resulting in guest stall. The investigation
is recorded in OS-7613. As part of the examination into bhyve's use of
barriers, one other section was found to be problematic, but only on
non-x86 ISAs with less strict memory ordering. That was addressed in
this patch as well, although it was not at all a problem on x86.

PR: 231117
Submitted by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: jhb, kib, rgrimes
Approved by: re (gjb), jhb
Differential Revision: https://reviews.freebsd.org/D19501

4 years agoMFC r347975:
tuexen [Thu, 23 May 2019 16:05:47 +0000 (16:05 +0000)]
MFC r347975:

Improve input validation for the IPPROTO_SCTP level socket options
SCTP_CONNECT_X and SCTP_CONNECT_X_DELAYED.

MFC r347976:
Allow sending on demand SCTP HEARTBEATS only in the ESTABLISHED state.
This issue was found by running syzkaller.

Approved by: re (gjb@)

4 years agoMFC r347640: libbe(3): Descend into children of datasets w/ mountpoint=none
kevans [Wed, 22 May 2019 23:34:41 +0000 (23:34 +0000)]
MFC r347640: libbe(3): Descend into children of datasets w/ mountpoint=none

These datasets will generally be canmount=noauto,mountpoint=none (e.g.
zroot/var) but have children that may need to be mounted. Instead of
skipping that segment for no good reason, descend.

Approved by: re (kib)

4 years agoMFC r347578: tun/tap: Defer clearing if_softc until after if_detach
kevans [Wed, 22 May 2019 22:56:05 +0000 (22:56 +0000)]
MFC r347578: tun/tap: Defer clearing if_softc until after if_detach

(Commit massaged to match stable structure; tun and tap have been merged in
head)

r346670 added an sx to close a race between the ifioctl handler and
interface destruction. Unfortunately, it clears if_softc immediately after
the interface is closed, but before if_detach has been invoked.

Any time before detachment, an interface that's part of a bridge may still
receive traffic that's pushed through tunstart/tunstart_l2 and promptly
lead to a panic because if_softc is now NULL.

Fix it by deferring the clearing of if_softc until after the interface has
detached and thus been removed from the bridge. if_softc still gets cleared
in case another thread has already entered the ioctl handler before it's
replaced with ifdead_ioctl.

Approved by: re (kib)

4 years agoMFC r347978:
dim [Wed, 22 May 2019 19:39:55 +0000 (19:39 +0000)]
MFC r347978:

Fix OptionalObsoleteFiles copy/paste mistake from r345236, which
connected libomp to the build.  The comparison should not have been
against ${MK_OPENSSH}, but against ${MK_OPENMP}, obviously.

MFC r347979:

To avoid unnecessarily modifying ports, add a -lgomp symlink, since GCC
does not ship a -lomp symlink.  Also update OptionalObsoleteFiles for
this, and add 32-bit variants while here.

Approved by: re (gjb)
Submitted by: jbeich
PR: 237975

4 years agoMFC r329348 (by brooks):
kib [Mon, 20 May 2019 16:31:45 +0000 (16:31 +0000)]
MFC r329348 (by brooks):
Get rid of the requirement to include SysV IPC headers with _KERNEL
defined in ipcrm by introducing _WANT_SYSVxxx_INTERNALS defines.

MFC r329390 (by lwhsu):
Follow r329348 in ipcs for getting rid of the requirement to include SysV IPC
headers with _KERNEL.

Sponsored by: Mellanox Technologies
Approved by: re (gjb)

4 years agoMFC r347488,347606: Update leap-seconds to leap-seconds.3676924800.
delphij [Sun, 19 May 2019 18:31:21 +0000 (18:31 +0000)]
MFC r347488,347606: Update leap-seconds to leap-seconds.3676924800.

Approved by:    re (kib)

4 years agoMFC r339703, r347365, r347703, r347940
brooks [Sat, 18 May 2019 20:43:13 +0000 (20:43 +0000)]
MFC r339703, r347365, r347703, r347940

r339703:
Deprecate a number of less used 10 and 10/100 Ethernet devices.

The current deprecated list is: ae, bm, cs, de, dme, ed, ep, ex, fe,
pcn, sf, sn, tl, tx, txp, vx, wb, xe

The list as refined as part of FCP-0101. Per the FCP, devices may be
removed from the deprecation list if enough users are found or they are
converted to iflib.

FCP: https://github.com/freebsd/fcp/blob/master/fcp-0101.md

r347365:
Update dme(4) to reflect that it will not be removed due to FCP-101.

dme(4) is the built-in NIC on a couple non-expandable mips platforms and
thus should remain.  The FCP has been updated to reflect this fact.

Discussed with: imp

r347703:
FCP-101: ae(4) is sufficently popular to be moved to the keep list.

r347940:
Remove the notice that ae(4) will be removed in FreeBSD 13.

MFC requested by: rgrimes
Approved by: re (kib)

4 years agoMFC r347625:
kib [Fri, 17 May 2019 22:14:30 +0000 (22:14 +0000)]
MFC r347625:
Properly announce MD_CLEAR.

Approved by: re (gjb)

4 years agoMFC r337716:
markj [Fri, 17 May 2019 18:10:11 +0000 (18:10 +0000)]
MFC r337716:
Add microcode update configuration to the default loader.conf.

Approved by: re (kib)

4 years agoMFC r345008:
ken [Thu, 16 May 2019 22:03:25 +0000 (22:03 +0000)]
MFC r345008:
  ------------------------------------------------------------------------
  r345008 | ken | 2019-03-11 10:21:14 -0400 (Mon, 11 Mar 2019) | 59 lines

  Fix CRN resets in the isp(4) driver in certain situations.

  The Command Reference Number (CRN) is part of the FC-Tape features
  that we enable when talking to tape drives.  It starts at 1, and
  goes to 255 and wraps around to 1.  There are a number of reset
  type conditions that result in the CRN getting reset to 1.  These
  are detailed in section 4.10 (table 8) of the FCP-4r02b specification.

  One of the conditions is when a PRLI (Process Login) is sent by
  the initiator, and the Establish Image Pair bit is set in Word 0
  of the PRLI.

  Previously, the isp(4) driver core sent a notification via
  isp_async() that the target had changed or stayed in place, but
  there was no indication of whether a PRLI was sent and whether the
  Establish Image Pair bit was set.

  The result of this was that in some situations, notably
  switching back and forth between a direct connection and a switch
  connection to a tape drive, the isp(4) driver would fail to reset
  the CRN in situations that require it according to the spec.  When
  the CRN isn't reset in a situation that requires it, the tape drive
  then rejects every subsequent command that is sent to the drive.
  It is assuming that the commands are being sent out of order.

  So, modify the isp(4) driver to include Word 0 of the PRLI command
  when it sends isp_async() notifications of target changes.  Look at
  the Establish Image Pair bit, and reset the CRN if that bit is set.

  With this change, I am able to switch a tape drive back and forth
  between a direct connection and a switch connection, and the isp(4)
  driver resets the CRN when it should.

  sys/dev/isp_stds.h:
   Add bit definitions for PRLI Word 0.

  sys/dev/ispmbox.h:
   Add PRLI Word 0 to the port database type, isp_pdb_t.

  sys/dev/ispvar.h
   Add PRLI Word 0 to fcportdb_t.

  sys/dev/isp.c:
   Populate the new prli_word0 parameter in the port database.

   In isp_pdb_add_update(), add a check to see if the
   Establish Image Pair bit is set in PRLI Word 0.  If it is,
   then that is an additional reason to create a change
   notification.

  sys/dev/isp_freebsd.c:
   In isp_async(), if the device changed or stayed, look at
   PRLI Word 0 to see if the Establish Image Pair bit is set.
   If it is, reset the CRN if we haven't already.

  Sponsored by: Spectra Logic
  Differential Revision: https://reviews.freebsd.org/D19472

  ------------------------------------------------------------------------

4 years agoMFC 344761:
ken [Thu, 16 May 2019 18:42:27 +0000 (18:42 +0000)]
MFC 344761:
  ------------------------------------------------------------------------
  r344761 | ken | 2019-03-04 09:30:37 -0500 (Mon, 04 Mar 2019) | 18 lines

  Add IBM TS1160 density codes to libmt and the mt(1) man page.

  These are taken directly from the density report from a TS1160
  tape drive.  (Using mt getdensity)

  A TS1160 drive stores 20TB raw (60TB with compression) on a JE tape.

  lib/libmt/mtlib.c:
   Add 3592A6 encrypted/unencrypted density codes, and bpmm/bpi
   values.

  usr.bin/mt/mt.1:
   Add 3592B5 encrypted/unencrypted density codes, bpmm/bpi
   values and number of tracks.  Bump the man page date.

  Sponsored by: Spectra Logic

  ------------------------------------------------------------------------

4 years agoMFC r347325:
hselasky [Thu, 16 May 2019 18:33:30 +0000 (18:33 +0000)]
MFC r347325:
Bump the Mellanox driver version numbers and the FreeBSD version number.

Sponsored by: Mellanox Technologies

4 years agoMFC r347381:
tuexen [Thu, 16 May 2019 18:29:25 +0000 (18:29 +0000)]
MFC r347381:

Prevent cwnd to collapse down to 1 MSS after exiting recovery.

This is descrined in RFC 6582, which updates RFC 3782.

4 years agoMFC r347324:
hselasky [Thu, 16 May 2019 18:28:59 +0000 (18:28 +0000)]
MFC r347324:
Make command workqueue persistant in mlx5core.

There is no reason to re-create the command workqueue during healthcare.
This also fixes an issue where a previous work struct may refer to a
destroyed workqueue.

Sponsored by: Mellanox Technologies

4 years agoMFC r347323:
hselasky [Thu, 16 May 2019 18:28:12 +0000 (18:28 +0000)]
MFC r347323:
Fix race between driver unload and dumping firmware in mlx5core.

Present code uses lock-less accesses to the dump data to prevent top
level ioctls from blocking bottom-level call to dump.  Unfortunately, this
depends on the type stability of the dump data structure, which makes it
non-functional during driver teardown.

Switch to the mutex locking scheme where top levels use the mutex in the
bound regions, while copyouts and drain for completion utilize condvars.
The mutex lifetime is guaranteed to be strictly larger than the time
interval where driver can initiate dump, and most of the control fields
of the old struct mlx5_dump_data are directly embedded into struct
mlx5_core_dev.

Submitted by: kib@
Sponsored by: Mellanox Technologies

4 years agoMFC r347322:
hselasky [Thu, 16 May 2019 18:27:27 +0000 (18:27 +0000)]
MFC r347322:
Ensure the flowtable rules are not freed twice in mlx5en(4).
This can happen when re-loading the driver.

Sponsored by: Mellanox Technologies

4 years agoMFC r347233:
tuexen [Thu, 16 May 2019 18:26:42 +0000 (18:26 +0000)]
MFC r347233:

Remove non-functional SCTP checksum offload support for virtio.

Checksum offloading for SCTP is not currently specified for virtio.
If the hypervisor announces checksum offloading support, it means TCP
and UDP checksum offload. If an SCTP packet is sent and the host announced
checksum offload support, the hypervisor inserts the IP checksum (16-bit)
at the correct offset, but this is not the right checksum, which is a CRC32c.
This results in all outgoing packets having the wrong checksum and therefore
breaking SCTP based communications.

This patch removes SCTP checksum offloading support from the virtio
network interface.

Thanks to Felix Weinrank for making me aware of the issue.

4 years agoMFC r347321:
hselasky [Thu, 16 May 2019 18:26:14 +0000 (18:26 +0000)]
MFC r347321:
Undo previous steps upon returning failure in mlx5en(4).

Else flowtable resources may not be properly freed.

Sponsored by: Mellanox Technologies

4 years agoMFC r347320:
hselasky [Thu, 16 May 2019 18:25:26 +0000 (18:25 +0000)]
MFC r347320:
Make sure the flow destination structure does not use values off the stack
in mlx5en(4).

Sponsored by: Mellanox Technologies

4 years agoMFC r347319:
hselasky [Thu, 16 May 2019 18:24:51 +0000 (18:24 +0000)]
MFC r347319:
Flush command workqueue when command completion is triggered in mlx5core.

Avoid race for command completion when triggering a command completions event.
Serialize operation by queueing all commands on the same work queue.
This can happen when healthcare triggers.

Sponsored by: Mellanox Technologies

4 years agoMFC r347318:
hselasky [Thu, 16 May 2019 18:24:05 +0000 (18:24 +0000)]
MFC r347318:
Make command timeout way shorter in mlx5core.

The command timeout is terribly long, whole two hours. Make it 60s so if
things do go wrong, the user gets feedback in relatively short time, so
they can take corrective actions and/or investigate using tools and such.

Linux commit:
6b6c07bdcdc97ccac2596063bfc32a5faddfe884

Sponsored by: Mellanox Technologies

4 years agoMFC r347317:
hselasky [Thu, 16 May 2019 18:23:28 +0000 (18:23 +0000)]
MFC r347317:
Remove non-functional MLX5E_MAX_RX_SEGS macro in mlx5en(4).

Sponsored by: Mellanox Technologies

4 years agoMFC r347316:
hselasky [Thu, 16 May 2019 18:22:46 +0000 (18:22 +0000)]
MFC r347316:
Fix for compilation warning in mlx5en(4).

Function 'mlx5e_alloc_rx_wqe' can never be inlined because it uses alloca
(override using the always_inline attribute)

Sponsored by: Mellanox Technologies

4 years agoMFC r347315:
hselasky [Thu, 16 May 2019 18:22:02 +0000 (18:22 +0000)]
MFC r347315:
Rename functions from mlx5_fwdump to mlx5_ctl in mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies

4 years agoMFC r347314:
hselasky [Thu, 16 May 2019 18:20:47 +0000 (18:20 +0000)]
MFC r347314:
Ensure that only one command is specified at a time in mlx5tool(8).

Submitted by: kib@
Sponsored by: Mellanox Technologies

4 years agoMFC r347313:
hselasky [Thu, 16 May 2019 18:20:14 +0000 (18:20 +0000)]
MFC r347313:
Implement firmware reset from userspace in mlx5tool(8).

Submitted by: kib@
Sponsored by: Mellanox Technologies

4 years agoMFC r347312:
hselasky [Thu, 16 May 2019 18:19:08 +0000 (18:19 +0000)]
MFC r347312:
Add Firmware Reset Level, MFRL, register accessors in mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies

4 years agoMFC r347311:
hselasky [Thu, 16 May 2019 18:18:22 +0000 (18:18 +0000)]
MFC r347311:
Add ConnectX-6 DX HCA ID to libmlx5.

In addition, add "ConnectX family mlx5Gen Virtual Function" device ID.
Every new HCA VF will be identified with this device ID.

Submitted by: slavash@
Sponsored by: Mellanox Technologies

4 years agoMFC r347310:
hselasky [Thu, 16 May 2019 18:17:38 +0000 (18:17 +0000)]
MFC r347310:
Expose per-lane counters before correction mechanism in mlx5en(4).

Sponsored by: Mellanox Technologies

4 years agoMFC r347309:
hselasky [Thu, 16 May 2019 18:16:57 +0000 (18:16 +0000)]
MFC r347309:
Add support for extended PCIe counters in mlx5en(4).

Sponsored by: Mellanox Technologies

4 years agoMFC r347308:
hselasky [Thu, 16 May 2019 18:16:08 +0000 (18:16 +0000)]
MFC r347308:
Extend the counters framework in mlx5en(4).

Allow more macro arguments and split the variable type and name into
separate arguments. This allows simple and powerful copy and extraction
of values from IFC based structures into SYSCTLs with the use of a single
macro.

Sponsored by: Mellanox Technologies

4 years agoMFC r347307:
hselasky [Thu, 16 May 2019 18:13:47 +0000 (18:13 +0000)]
MFC r347307:
Update performance counter bits in mlx5core.

Sponsored by: Mellanox Technologies

4 years agoMFC r347306:
hselasky [Thu, 16 May 2019 18:13:02 +0000 (18:13 +0000)]
MFC r347306:
Implement reading PCI power status in mlx5core.

Implement a watchdog as part of the healtcare subsystem which
reads the PCI power status during startup and upon the PCI
power status change event and store it into the core device
structure. This value is then exported to user-space via a
read-only SYSCTL. A dmesg print has been added to inform
the admin about the PCI power status.

Sponsored by: Mellanox Technologies

4 years agoMFC r347305:
hselasky [Thu, 16 May 2019 18:12:14 +0000 (18:12 +0000)]
MFC r347305:
Move workqueue from mlx5en(4) to mlx5core.

This avoids creating more workqueues in mlx5core to do
simple firmware command polling tasks.

Sponsored by: Mellanox Technologies

4 years agoMFC r347304:
hselasky [Thu, 16 May 2019 18:11:25 +0000 (18:11 +0000)]
MFC r347304:
Always return success for RoCE modify port in mlx5ib.

CM layer calls ib_modify_port() regardless of the link layer.

For the Ethernet ports, qkey violation and Port capabilities
are meaningless. Therefore, always return success for ib_modify_port
calls on the Ethernet ports.

Linux Commit:
ec2558796d25e6024071b6bcb8e11392538d57bf

Submitted by: slavash@
Sponsored by: Mellanox Technologies

4 years agoMFC r347303:
hselasky [Thu, 16 May 2019 18:10:10 +0000 (18:10 +0000)]
MFC r347303:
Add support for new rates to mlx5ib.

Submitted by: slavash@
Sponsored by:   Mellanox Technologies

4 years agoMFC r347302:
hselasky [Thu, 16 May 2019 18:09:34 +0000 (18:09 +0000)]
MFC r347302:
Add support for 200Gbit speeds to libibverbs.

Submitted by: slavash@
Sponsored by: Mellanox Technologies

4 years agoMFC r347301:
hselasky [Thu, 16 May 2019 18:08:33 +0000 (18:08 +0000)]
MFC r347301:
Add new rates to ibcore.

Add the new rates that were added to the Infiniband specification as part of
HDR and 2x support.

Submitted by: slavash@
Sponsored by: Mellanox Technologies