Add SS_FORCE flag
Support SS_FORCE bit in sonewconn1() to override accept queue limit for SYN cache
Keep track of maximum mtu of non-local interface
in_pcbnotify() returns a result indicating whether or not it actually matched a pcb.
Change return value for in_pcbnotify().
Add syn_cache variables
Add prototype for in_setmaxmtu()
Incorporate David Borman of BSDI's tcp SYN caching patches for
4.4BSD-lite2:

	- define non-global syn cache variables
	- define syn cache hashing algorithm

	in tcp_input():

	- package ts_val, ts_ecr and ts_present in a tcp_opt_info
	  structure so that they can be passed en masse to the
	  syn_cache code.

	if the packet matched a socket that's in the ACCEPTING state:

	- if an incoming connection does not yet have a tcpcb, but
	  it's not a SYN packet, check in the syn cache to see if we
	  cached the initial SYN.   If not, send an RST packet.   If
	  so, and if it's an RST packet, though, just blow away the
	  cache entry.   If there was a cache entry and we aren't
	  processing an RST packet, create the full-blown connection
	  now and jump into the part of tcp_input() that deals with
	  connected sockets.

	- if it is a SYN, and sonewconn() wouldn't queue it because
	  the limit for incoming half-up connections has been
	  exceeded, but the limit for established connections hasn't
	  yet been exceeded, then put this connection into the syn
	  cache.

	after we've handled the accepting state:

	- call tcp_dooptions with tcp_opt_info structure rather than
	  discrete option state variables.

	- If the connection is half-up, and we get an ACK packet, but
	  it's not for the SYN we sent, drop the connection and send
	  an RST, per rfc793, p. 36.

	in tcp_dooptions:

	- combine all the option state passed as arguments into one
	  tcp_opt_info structure.

	add syn cache management functions, verbatim from David's
	patch:

	syn_cache_insert: insert a connection into the SYN cache.   If
	  we reach the per-bucket or cache size limit, toss the oldest
	  entry in the bucket, or if there are no entries in this
	  bucket yet, go looking for an entry to toss.

	syn_cache_timer: blow away aging cache entries.

	syn_cache_lookup: find the syn cache entry matching a
	  particular tcp packet, if any.

	syn_cache_get: take an entry out of the cache and make a
	  socket for it.

	syn_cache_reset: zap a connection in the syn cache based on
	  receipt of an RST packet.

	syn_cache_unreach: zap a connection in the syn cache based on
	  an ICMP unreachable message.

	syn_cache_add: given a LISTEN socket and an inbound SYN
	  request, add an entry to the syn cache and send a SYN,ACK to
	  the source.

	syn_cache_respond: actually sends the SYN,ACK.
More of David Borman's SYN cache patches for 4.4BSD-lite2:

	tcp_respond:

	- return a error code if the reponse could not be sent, zero
	  otherwise (was void).

	- generate SYN/ACK packet if tp==0 and SYN bit is set.   Do
	  not adjust window in this case.

	- if SYN bit is set, use ti_off as passed in rather than
	  setting it locally.


	tcp_ctlinput:

	- call syn_cache_unreach if in_pcbnotify fails.
More of David Borman's SYN cache patches for Lite2:

	tcp_slowtimo:

	- call syn_cache_timer()
More of David Borman's SYN cache patches for Lite2:

	- Define syn_cache entry and syn_cache_head structures.
	- Add syn_cache statistics to tcpstat structure.
	- Declare externs for syn cache variables.
	- Update prototypes: tcp_dooptions, tcp_mss, tcp_respond.
	- Add prototypes for syn_cache_* functions.
SS_PRIV -> SS_FORCE
PR/3660: Dave Huang: Fix formatting misalignments in appletalk
PR/3659: Dave Huang: Fix PCB reporting in appletalk
Pointers are 64 bits on alpha - fix warning.
Update from trunk.
Add a TODO list, from Charles M. Hannum.
Update from trunk.
Oops, remove nested comment in the TODO list.
Casting pointers to u_int64_t isn't correct.  Casting to u_long is fine
for arithmetic operations.
tcp_mss() needs to take a u_int, not a u_int16_t.