MFC r253865: Fixes to RX_COPY optimization code allowing the removal of the rearm_queues
             routine used in local_timer.
    r253965: Correct the queue mask bit clearing in the link interrupt handler.

Approved by: re
When the igb driver is static there are cases when early interrupts occur,
resulting in a panic in refresh_mbufs, to prevent this add a check in the
interrupt handler for DRV_RUNNING.
MFC 253048,253423,253449,253653,253774,253785:
- Allow mlx4 devices to switch between Ethernet and Infiniband:
  - Fix sysfs attribute handling by using sysctl_handle_string() and
    properly handling trailing newlines in attribute values.
  - Remove check forbidding requests that would result in one port being
    set to Ethernet and the subsequent port being set to IB.
- Avoid trashing IP fragments by correctly managing hardware checksumming.
- Fix panics when downing or unloading the mlx4 driver.

PR:		kern/179999, kern/174213, kern/180430, kern/180791
MFC r253497:
Use the right name for the vm_map_find(9) flag to specify shared mapping.
MFC r253709:
The pmap_qenter() and pmap_qremove() perform TLB invalidation on its
own, no need to call pmap_invalidate_range() one more time.
Merge remote-tracking branch 'upstream/stable/9' into stable/9