Use proper links field for ports linking.
Extend capabilities to 64-bits in preparation for some API changes.
The v1.0 virtio spec supports an extended size for guest/host
caps, but in practice 64-bits should last for a long time.
units(1): Add 'terse' support
	terse output is used when calling units from another script.
units: Support start of line comments with '#'
	Modern GNU units(1) supports comments anywhere with '#' but take the easy route for now and at least support start of line # comments.
units(1): Convert units.lib to use '#' instead of '/'.
	This allows us to run GNU units against our data files and compare the output.
	In addition, current units(1) does not support '/' as a comment at all.
Make options KPI more generic to allow it to be used for ports too,
not only for LUNs.
units(1): Clean up
	Remove unused constant.  Add 'static' where able.
Improve readability of XML generated by CTL_LUN_LIST.
Introduce new IOCTL CTL_PORT_LIST reporting in more flexible XML format.

Leave old CTL_GET_PORT_LIST in place so far.  Garbage-collect it later.
When getting the initial value of numeric tunables use the
getenv_xxx() functions instead of strtoq(), because the getenv_xxx()
functions include wrappers for various postfixes like G/M/K, which
strtoq() doesn't do.
Fix compile-time errors when NO_WERROR and WITHOUT_INET6_SUPPORT
(NO_INET6) are specified.

Approved by:	glebius
MFC after:	1 week
Implement and use ctl_frontend_find().
Improve CTL_BEARG_* flags support, including optional values copyout.
Fix minor copy-paste bug in r268284.
Merge from OpenSolaris (24-Jul-2010):

6679140 asymmetric alloc/dealloc activity can induce dynamic variable drops
6679193 dtrace_dynvar walker produces flood of dtrace_dynhash_sink

This finishes a set of merges from the older OpenSolaris releases.
Still the FreeBSD port has many differences that are difficult to
account for but that seems normal given that the kernels are different.

MFC after:	1 week
Create separate CTL port for every iSCSI target (and maybe portal group).

Having single port for all iSCSI connections makes problematic implementing
some more advanced SCSI functionality in CTL, that require proper ports
enumeration and identification.

This change extends CTL iSCSI API, making ctld daemon to control list of
iSCSI ports in CTL.  When new target is defined in config fine, ctld will
create respective port in CTL.  When target is removed -- port will be
also removed after all active commands through that port properly aborted.
This change require ctld to be rebuilt to match the kernel.

As a minor side effect, this allows to have iSCSI targets without LUNs.
While that may look odd and not very useful, that is not incorrect.
Dominion Day became Canada Day in 1982, update the holiday calendar.

PR:		191533
Submitted by:	db
Obtained from:	http://www.pch.gc.ca/eng/1359137387574/1359137429809
MFC after:	3 days
Burry devid port method, which was a gross hack.

Instead make ports provide wanted port and target IDs, and LUNs provide
wanted LUN IDs.  After that core Device ID VPD code only had to link all
of them together and add relative port and port group numbers.

LUN ID for iSCSI LUNs no longer created by CTL, but by ctld, and passed
to CTL as "scsiname" LUN option.  This makes LUNs to report the same set
of IDs, independently from the port through which it is accessed, as
required by SCSI specifications.
Allow the PVID setting on CPU port.

Return our static list of supported media for the CPU port.

Tested on TP-Link 1043ND.
Fix equation and limerick to be correct.  NetBSD fixed this 14 years ago
(src/games/fortune/datfiles/fortunes2 1.7).

PR:		188714
Submitted by:	ksmakoto dd.iij4u.or.jp
Reviewed by:	Wolfram Alpha
MFC after:	3 days