freebsd with flexible iflib nic queues
Go to file
Bruce M Simpson d32438c3f1 When acquiring a lease, record the value of the BOOTP siaddr field
contained in the DHCP offer, and write it out to the lease file
as an unquoted value of the "next-server" keyword. The value is ignored
when the lease is read back by dhclient, however other applications
are free to parse it.

The intent behind this change is to allow easier interoperability
with automated installation systems e.g. Cobbler, Foreman, Razor;
FreeBSD installation kernels can automatically probe the network
to discover deployment servers.  There are no plans to MFC this
change unless a backport is specifically requested.

The syntax of the "next-server <ip>" lease keyword is intended to be
identical to that used by the ISC DHCPD server in its configuration files.
The required defines are already present in dhclient but were unused before
this change. (Note: This is NOT the same as Option 66, tftp-server-name).

It has been exercised in a university protocol testbed environment, with
Cobbler and an mfsBSD image containing pc-sysinstall (driven by Cobbler
Cheetah templates). The SYSLINUX memdisk driver is used to boot mfsBSD.
Currently this approach requires that a dedicated system profile has
been created for the node where FreeBSD is to be deployed. If this
is not present, the pc-sysinstall wrapper will be unable to obtain
a node configuration. There is code in progress to allow mfsBSD images
to obtain the required hints from the memdisk environment by parsing
the MBFT ACPI chunk.  This is non-standard as it is not linked into
the platform's ACPI RSDT.

Reviewed by:	des
2013-07-02 13:24:37 +00:00
bin Fix a -Wunsequenced warning. 2013-06-29 15:49:26 +00:00
cddl MFV r252215: 2013-06-25 22:14:32 +00:00
contrib Work around an ARM EABI issue where clang would sometimes incorrectly align 2013-07-02 08:04:41 +00:00
crypto Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import. 2013-06-30 07:46:22 +00:00
etc Add syslog(3) support to devd(8). 2013-07-01 21:20:17 +00:00
games Remove a reference to instant-server which has been removed from the 2013-03-21 12:42:25 +00:00
gnu Bump shlib for dialog because ABI has changed when version 1.2 was imported 2013-06-23 21:59:52 +00:00
include Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import. 2013-06-30 07:46:22 +00:00
kerberos5 Fix the getpwnam_r() call in the pname_to_uid() kerberos library function so 2013-05-02 12:52:49 +00:00
lib Move pos++ out of the complicated equation, introduced at r240780. 2013-07-01 17:23:13 +00:00
libexec Add the name of the file that could not be opened to the error message 2013-06-11 18:46:46 +00:00
release Revert r252126, r252124, r252121. 2013-06-24 09:18:41 +00:00
rescue - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
sbin When acquiring a lease, record the value of the BOOTP siaddr field 2013-07-02 13:24:37 +00:00
secure Remove references to MK_IDEA. 2013-04-27 05:44:39 +00:00
share Import an implementation of the CAIA Delay-Gradient (CDG) congestion control 2013-07-02 08:44:56 +00:00
sys - Update newvers.sh to include svn revision in uname(1) if the 2013-07-02 10:36:57 +00:00
tools Count the number of hits for a filter by default. 2013-07-01 17:32:07 +00:00
usr.bin If you've compiled your base system with WITH_ICONV, then use it for svn 2013-07-01 07:07:35 +00:00
usr.sbin Fix up option parsing to allow a colon in the config section. 2013-07-01 23:53:22 +00:00
COPYRIGHT Happy New Year 2013! 2012-12-31 11:22:55 +00:00
LOCKS Test commit to make sure commit mail works after moving the server. 2012-12-29 16:03:23 +00:00
MAINTAINERS Use my @freebsd.org username, rather than ${WORK} username. 2013-05-18 14:05:32 +00:00
Makefile Flag recursive make targets with .MAKE 2013-06-14 16:30:11 +00:00
Makefile.inc1 Use && rather than ; when success of previous job matters. 2013-06-30 15:00:07 +00:00
ObsoleteFiles.inc Fix typo in vfs_mount(9) item. 2013-07-01 21:58:08 +00:00
README Vendor import of OpenSSH 6.2p1. 2013-03-22 11:19:48 +00:00
UPDATING Use && rather than ; when success of previous job matters. 2013-06-30 15:00:07 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

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, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  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 is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/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 NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


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

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography 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.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

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/doc/en_US.ISO8859-1/books/handbook/synching.html