MFC r252143:
  When RX checksum offloading is active, AX88772B will prepend a
  checksum header.  The header contains a received frame length but
  the defined length for AX88772B is different with other ASIX
  controllers.  When the RX checksum is off, AX88772B controller does
  not prepend a checksum header so driver has to use normal header
  length mask.
  This change should fix RX errors when RX checksum offloading is
  off.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252442 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r252185:
  Add Lenovo USB 2.0 Ethernet adapter.

  PR:	usb/179920


git-svn-id: svn://svn.freebsd.org/base/stable/9@252444 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r252186:
  Add Lenovo USB 2.0 Ethernet adapter to the list of supported
  devices.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252446 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251481:
  Do not report current link status if driver is not running.
  Reporting link status in driver has a side-effect that makes mii(4)
  check current link status.  mii(4) will call link status change
  callback when it sees link state change.  Normally this wouldn't
  have problems. However, ASF/IPMI firmware can actively access PHY
  regardless of driver's running state such that reporting link
  status for not-running interface can generate meaningless link
  UP/DOWN messages.

  This change also makes dhclient think driver got a valid link
  regardless of link establishment so it will bypass dhclient's
  initial link status check. I think that wouldn't be issue
  though.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252452 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251482,251733:
r251482:
  Correct setting TX random backoff register. This register is
  implemented as a 10 bits linear feedback shift register so only
  lower 10 bits are valid.
  Because this register is used to initialize random backoff interval
  register only when resolved duplex is half-duplex, it wouldn't have
  caused issues in these days.

r251733:
  Fix a typo introduced in r213280. IFM_OPTIONS macro should see
  current media word.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252455 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r252390:
Remove invalid ASSERT


git-svn-id: svn://svn.freebsd.org/base/stable/9@252459 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r252392:
style(9) fixes


git-svn-id: svn://svn.freebsd.org/base/stable/9@252460 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r252062:

Call sshd_precmd instead of sshd_configtest when the operator
requests reload or restart, which, in addition of testing the
configuration, will also generate host keys when they are not
present (previous behavior).

Obtained from:	FreeNAS
Ok'ed by:	bdrewery, des


git-svn-id: svn://svn.freebsd.org/base/stable/9@252477 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251825,252486:

Remove vfs_mount(9), it have been died since 2004.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252487 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251859:

Return ENETDOWN instead of ENOENT when all lagg(4) links are
inactive when upper layer tries to transmit packet.  This
gives better feedback and meaningful errors for applications.

Reviewed by:	thompsa


git-svn-id: svn://svn.freebsd.org/base/stable/9@252489 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC all cxgbe(4) changes missing from stable/9:
r248925, r249368, r249370, r249376, r249382, r249383, r249385, r249391,
r249392, r249393, r249627, r249629, r250090, r250092, r250093, r250117,
r250218, r250221, r250614, r251213, r251317, r251358, r251434, r251518,
r251638, r252312, r252469, r252470, r250697(kib).

r248925:
Support for Chelsio's 40G Terminator 5 (aka T5) ASIC.
...

r249368:
Set and display the IP fragment bit correctly when dealing with
the filter mode.

r249370:
cxgbe(4): Ensure that the MOD_LOAD handler runs before either t4nex or
t5nex attach to their devices.

r249376:
- Explain clearly why a different firmware is being installed (if/when
  it is being installed).  Improve other error messages while here.

- Select special FPGA specific configuration profile when appropriate.

r249382:
There is no need for elaborate queries and error checking when trying to
set FW4MSG_ENCAP.

r249383:
Get rid of a couple of stray \n's.

r249385:
cxgbe/tom: Slight simplification of code that calculates options2.

r249391:
Auto-reduce the holdoff timers that are greater than the maximum value
allowed by the hardware.

r249392:
Cosmetic change (s/wrwc/wcwr/;s/WRWC/WCWR/).

r249393:
Add pciids of the T5 based cards.  The ones that I haven't tested with
cxgbe(4) are disabled for now.  This will change.

r249627:
cxgbe/tom: Update the CLIP table on the chip when there are changes
to the list of IPv6 addresses on the system.  The table is used for
TOE+IPv6 only.

r249629:
cxgbe(4): Refuse to install T5 firmwares on a T4 card (and vice versa).

r250090:
cxgbe(4): Some updates to shared code.

r250092:
- Provide accurate ifmedia information so that 40G ports/transceivers are
  displayed properly in ifconfig, etc.

- Use the same number of tx and rx queues for a 40G port as for a 10G port.

r250093:
Attach to the T580 (2 x 40G) card.

r250117:
Fix DDP breakage introduced in r248925.  Bitwise OR has higher
precedence than ternary conditional.

r250218:
cxgbe/tom: Do not use M_PROTO1 to mark rx zero-copy mbufs as special.
All the M_PROTOn flags are clobbered when an mbuf is appended to the
socket buffer.

r250221:
cxgbe: Switch to a better way to install firmware.

r250614:
Deal correctly with 40G ports that don't have any transceiver plugged
in.  Do not claim that they have unknown tranceivers.

r251213:
cxgbe(4): Some more debug sysctls.  These work on both T4 and T5 based
cards.

r251317:
cxgbe(4): t4fw_cfg must be explicitly loaded if the driver is being
loaded via loader.conf.

r251358:
cxgbe(4): Provide accurate hit count for filters on T5 cards.  The
location within the TCB and the size have both changed.

r251434:
cxgbe(4): Never install a firmware if hw.cxgbe.fw_install is 0.

r251518:
cxgbe/tom: Fix bad signed/unsigned mixup in the stid allocator.  This
fixes a panic when allocating a mixture of IPv6 and IPv4 stids.

r251638:
cxgbe/tom: Allow caller to select the queue (control or data) used to
send the CPL_SET_TCB_FIELD request in t4_set_tcb_field().

r252312:
Update T5 register ranges.  This is so that regdump skips over registers
with read side-effects.

r252469:
Add a sysctl to get the number of filters available.

sysctl dev.t4nex.<N>.nfilters
sysctl dev.t5nex.<N>.nfilters

r252470:
Count the number of hits for a filter by default.

r250697:
Add dependencies on the firmware, which allows the loading of the cxgb
and cxgbe modules.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252495 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251960:
Since the gem pagefault handler relocks the vm object lock, other
thread might fault on the same GTT offset meantime and instantiate the
mapping.  Recheck that the mgt device object still does not have a
page at the current offset after relocking, and return a possibly
installed page.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252496 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
MFC r251961:
Disable wait for the retrace if KMS is activated.


git-svn-id: svn://svn.freebsd.org/base/stable/9@252497 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Merge remote-tracking branch 'upstream/svn_stable_9' into svn_stable_9