Explicitly set errno to 0 before calling strto*.

Suggested by:	mjg
MFC after:	2 weeks
Revert r272122

The patch still needs to be more robust and it broke the
build on MIPS so revert it for now while all the issues
are fixed.

Reported by:	ache, davide
PR:		137307
Fix description of mutex acquisition.

Reviewed by:	kib
X-MFC with:	r272070
Sponsored by:	Nginx, Inc.
Refactor the code a little bit to reduce duplicated code.

Reviewed by:	mjg
MFC after:	2 weeks
Fix the description of the -h option.

Reported by:	swills
MFC after:	3 days
Make lagg protocols detach methods returning void.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
Make lagg protos a enum.
Add new (untested) device IDs to smsc(4)

MFC after:	1 week
- When reconfiguring protocol on a lagg, first set it to LAGG_PROTO_NONE,
  then drop lock, run the attach routines, and then set it to specific
  proto. This removes tons of WITNESS warnings.
- Make lagg protocol attach handlers not failing and allocate memory
  with M_WAITOK.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
xen: add proper copyright attribution

Noted by:	jmallett
Fix typos.
Fix the size of AT91SAM9260_PIT_SIZE.
Add very basic outline man page for smsc(4).

MFC after:	6 days
Correctly enumerate primes between 4295098369 and 3825123056546413050.

Prior to this commit, primes(6) relied solely on sieving with primes up
to 65537, with the effect that composite numbers which are the product
of two non-16-bit primes would be incorrectly identified as prime.  For
example,
# primes 1099511627800 1099511627820
would output
1099511627803
1099511627807
1099511627813
when in fact only the first of those values is prime.

This commit adds strong pseudoprime tests to validate the candidates
which pass the initial sieving stage, using bases of 2, 3, 5, 7, 11,
13, 17, 19, and 23.  Thanks to papers from C. Pomerance, J.L. Selfridge,
and S.S. Wagstaff, Jr.; G. Jaeschke; and Y. Jiang and Y. Deng, we know
that the smallest value which passes these tests is 3825123056546413051.

At present we do not know how many strong pseudoprime tests are required
to prove primality for values larger than 3825123056546413050, so we
force primes(6) to stop at that point.

Reviewed by:	jmg
Relnotes:	primes(6) now correctly enumerates primes up to
		3825123056546413050
MFC after:	7 days
Sponsored by:	EuroBSDCon devsummit
Add MLINKS for if_ipheth(4) and if_smsc(4).

Submitted by:	brueffer
MFC after:	6 days
- Mechanically convert to if_inc_counter() the rest of counters.
- Do not set if_collisions on interrupt, read them in ti_get_counter().
- Add missing bus_dmamap_sync(BUS_DMASYNC_PREREAD) in ti_ioctl2(). [1]

Submitted by:	mav [1]
- Provide lagg_proto_attach(), lagg_proto_detach().
- Make detach a protocol method in lagg_protos.
- Simplify code to lookup protocols.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
Add smsc(4) to the list of drivers use the miibus interface.

X-MFC with:	r272165
Sponsored by:	Nginx, Inc.
Add smsc(4) to the hardware notes.
Add a line to the post-installation configuration dialog to enable the
local_unbound service.

MFC after:	3 days