Baseline passive receive functionality, including a configurable
deadline for waiting for missing TCP segments that may never be
visible due to packet loss in the tap path.
Wrap inm_is_ifp_detached() declaration and definition with #ifdef KTR
to avoid unused function error from clang.
TCP_REASSDL is now in milliseconds instead of seconds.
- Passive client sockets now inherit timer settings from the listen
socket that spawned them.

- so_passive_peer is now only set on passive sockets
- Provided finer control over verbosity

- Increased idle timeout and decreased reassembly deadline

- Fixed interface instance numbering bug
Fixed wrong-buffer bug that resulted in incorrected IP addresses in connection labels.
Added a trace to announce any sent packets on the netmap interface.
Neuter syncache responses differently for passive entries so that the
syncache is always completely silent on the wire and the usual aging
mechanism is used for such entries.
Silence tcp_respond() for passive connections.  There are places where
tcp_respond() might be invoked when doing a passive + promiscuous
listen because of arbitrary packets from the wire matching the
promiscuous inpcb, then later being rejected by the state machine
logic.
Fixed capture of SYN|ACK during passive reconstruction with a fully
promiscuous listen.  Silenced tcp_dropwithreset() for passive
connections as there are places where it may be invoked when doing a
fully promicsuous passive listen.
Do not pass SS_ISCONNECTED to sonewconn() in syncache_socket() as this
creates a race between setting up the socket and making it available on
the completed connection queue to soaccept().  This fix appears in the
FreeBSD svn repo at r261242, but I disagree with the second part of that
patch, which is to call soisconnected() later in syncache_socket().  This
is not necessary, as the ACK that caused syncache_socket() to be called
in the first place will be processed after its return, resulting in the
call to soisconnected().
Oops, last patch was misplaced.  Now placed properly.
Inherit reassembly deadline timer from listen socket.
Fixed error checking on uinet_soaccept() calls.
Avoid tcp_dropwithreset() for passive sockets in TIMEWAIT. Added detail to a drop trace msg.
- mbufs can now represent holes, although support is only partially
  plumbed through the mbuf routines - enough to serve soreceive() plus
  some low-hanging fruit.

- tcp reassembly in passive mode now adds holes to the receive sockbuf
  efficiently using the new mbuf hole support.

- a new flag, UINET_MSG_HOLE_BREAK, can be passed to uinet_soreceive()
  to cause it to return when it encounters a real-data/hole boundary.
  If UINET_MSG_HOLE_BREAK is set in the flags after uinet_soreceive()
  returns, the read buffer contains hole fill, otherwise it contains
  real data.

- reassembly deadline timer overhead has been reduced somewhat, and
  the deadline timer is no longer reset when it should not be.
Added missing lock around pend list modification.
Sketch of FIN handling during reassembly timeout.
Initialize allproc and its lock so the sysctl tree can be walked.
Don't increment pcpup in uinet_subr_smp.  It's odd treatment of a
global, but worse, it broke uinet_pcpu_get().