freebsd kernel with SKQ
Go to file
Brian Somers 17871c5f6c Fix the interface alias code. Previously, I was expecting something
like

tun0: flags=blah
	10.0.0.1 -> 10.0.0.100
	10.0.0.2 -> 10.0.0.100
	10.0.0.3 -> 10.0.0.100

to DTRT, despite the SIOCAIFADDR for each new alias returning
-1 & EEXIST while adding the alias anyway.  In real life, once
we have the second alias with the same destination, nothing will
route any more !  Also, because I was ignoring EEXIST, the
dynamic IP assignment code was assigning duplicate addresses
('cos it was being lied to by iface_inAdd()).

Now we have

tun0: flags=blah
	10.0.0.1 -> 255.255.255.255
	10.0.0.2 -> 10.0.0.100
	10.0.0.3 -> 255.255.255.255

This works - stuff bound to 10.1 & 10.3 will be considered alive
by the kernel, and when they route back to the tun device, the
packets get aliased to 10.2 and go out to 10.100 (as with the
original plan).

We still see the EEXIST in SIOCAIFADDR, but ignore it when our
destination is 255.255.255.255, assuming that the alias *was*
actually added.

Additionally, ``iface add'' may now optionally be given only
the interface address.  The mask & destination default to
255.255.255.255.
1998-10-26 19:07:36 +00:00
bin Fix behaviour for 'mkdir -m 777 / /tmp/foo'. Play "guess the style bug" 1998-10-23 06:28:40 +00:00
contrib update to match reality 1998-10-25 22:34:33 +00:00
crypto
etc
games
gnu Another instance where we default to elf only on alpha, but should 1998-10-26 18:27:32 +00:00
include
kerberos5
kerberosIV
lib Bogon I somehow inserted between compiling and commiting... 1998-10-26 13:33:39 +00:00
libexec
lkm Move the kld stuff to here. 1998-10-23 11:49:47 +00:00
release Remove redundant files (they are recreated during building from templates 1998-10-25 15:48:18 +00:00
sbin Oops, don't quite use RAW_PART instead of RAWPARTITION. Use 'a' + RAW_PART 1998-10-23 18:57:39 +00:00
secure
share FIxed a bogus comment. 1998-10-22 16:12:16 +00:00
sys Removed redundant bitrotted checks for major numbers instead of updating 1998-10-26 08:53:13 +00:00
tools Removed all `vector xxxintr' specifications. Interrupt handlers are now 1998-10-22 15:53:06 +00:00
usr.bin If we know the content-length, only read that number of bytes from 1998-10-26 02:39:21 +00:00
usr.sbin Fix the interface alias code. Previously, I was expecting something 1998-10-26 19:07:36 +00:00
COPYRIGHT
Makefile
Makefile.inc0
Makefile.inc1
Makefile.upgrade
README

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.12 1998/06/30 08:08:05 jkh Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Export controlled stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html