test/debug/fdpassing: Correct a typo.
tcp: Make PAWS robust against segments reordering

This tends to prevent valid new segments from being dropped by the
reordered segments sent by the fast retransmission algorithm on the
sending side, i.e. the fast retransmitted segment w/ larger timestamp
arrives earlier than the previously sent new segments w/ smaller
timestamp, which causes the valid new segments being dropped.
kernel/profiling: Fix a kprintf format.
tcp: Ignore TCP_NOPUSH socketopt by default

For ill optimized programs which misuses this sockopt will cause
unpredicted length of network stalling, if the total sending size
is not TCP sending segment size aligned.

sysctl node net.inet.tcp.disable_nopush controls whether TCP_NOPUSH
will take effect or not

I am not going to fight agaist the stupid programs in the wild.

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2368

This is actually _not_ a bug on our side.
vkernel: Fix compilation with profiling support.

The vkernel is a special userland program in the regard that its Makefile
is generated by config(8), which is kind of tailored to the real kernel.

So first of all, we have to modify config(8) to detect it's a vkernel we
want to build and in this case it should not define GPROF which otherwise
activates the real kernel's profiling bits.

Then, modify libkern's mcount.c to skip kernel specific parts too.

Then, modify the vkernels' Makefiles to take into account ${PROF} (and
while we're here, ${DEBUG} too) which are set by the surrounding Makefile
which is generated by config(8).

The vkernel is now (from profiling point of view) treated like any other
userland program.

Last but not least, add some documentation about building a vkernel with
profiling support to vkernel's manpage.

To build with profiling, simply add CONFIGARGS=-p to the buildkernel
command line. It will need the config(8) program to be in /usr/obj's
btools dir, so either a buildworld with this commit needs to be done,
or config can be installed manually to /usr/sbin and nativekernel can
be used.

Tested-by: tuxillo
examples/rconfig: Some fixes to our installation scripts.

* Allow the script to be run in a netbooted scenario, too.

* Raise the default size of the root partition to 768M (like the
  installer's default).

* While here, add some comments and whitespace.

Submitted-by: Joachim de Groot <jdegroot@web.de>
share/man/man1/Makefile: One MLINK per line.
builtin.1: Sync with what we have.
kernel: Remove some bogus casts to the own type.
tcp: Improve RFC3517bis support

- Factor out tcp_fast_recovery()
- Delay fast retransmit or fast recovery for duplicated ACK which
  carries data or updates receiving window, so that
  o  The segments sent by fast retransmit/recovery could carry
     proper ack sequence and SACK information.
  o  Receiving window could get updated, so more new data could be
     injected into the network by the fast recovery.
tcp: Implement RFC4653 Non-Congestion Robustness (NCR)

It is enabled by default and can be disabled using sysctl node:
net.inet.tcp.ncr

As far as I have tested on heavily reordered network path, this
algorithm does avoid most of the spurious fast retransmits.  While
on the normal network path, the fast retransmits stil could be
triggered properly.
builtin.1: Add two more built-in commands.
builtin.1: Bring in some enhancements from FreeBSD.

It is modeled after what they did but based on what we actually have in
our shells' source.

* Use "No**" to mark commands which exist externally but are implemented
  as a script executing the builtin.

* Some further explanations and mdoc fixes.
bsd-family-tree: Sync with FreeBSD.
Fix some typos in manual pages.
amr(4): Some fixes.

* Bring in some small updates from FreeBSD.

* Add MODULE_VERSION.

* Make the interrupt handler MPSAFE. This was a porting oversight by me.