mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 16:49:40 +00:00
mdoc(7) police: scheduled sweep.
Approved by: re
This commit is contained in:
parent
e60fa8374d
commit
d962d52ac0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=107383
@ -139,17 +139,17 @@ The
|
||||
macro copies a variable argument list, previously initialized by
|
||||
.Fn va_start ,
|
||||
from
|
||||
.Va src
|
||||
.Fa src
|
||||
to
|
||||
.Va dest .
|
||||
.Fa dest .
|
||||
The state is preserved such that it is equivalent to calling
|
||||
.Fn va_start
|
||||
with the same second argument used with
|
||||
.Va src ,
|
||||
.Fa src ,
|
||||
and calling
|
||||
.Fn va_arg
|
||||
the same number of times as called with
|
||||
.Va src .
|
||||
.Fa src .
|
||||
.Pp
|
||||
The
|
||||
.Fn va_copy
|
||||
|
@ -168,12 +168,13 @@ at a later time when the system is up and running, see
|
||||
.Xr atacontrol 8 .
|
||||
.Pp
|
||||
The driver attempts to set the maximum performance transfer mode on your disk
|
||||
drives by selecting the highest possible DMA mode. However the
|
||||
drives by selecting the highest possible DMA mode.
|
||||
However the
|
||||
.Nm
|
||||
driver sometimes issue the message
|
||||
"DMA limited to UDMA33, non-ATA66 cable or device",
|
||||
driver sometimes issues the message
|
||||
.Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device" ,
|
||||
if the cable is ATA66 (or above) compliant, it is because the other device
|
||||
on this channel states it can only accept upto UDMA2/ATA33 signals.
|
||||
on this channel states it can only accept up to UDMA2/ATA33 signals.
|
||||
ATAPI devices are left in PIO mode because DMA problems are common despite the
|
||||
device specifications.
|
||||
You can always try to set DMA mode on an ATAPI device using
|
||||
@ -184,7 +185,7 @@ support it and can
|
||||
.Em hang
|
||||
the system.
|
||||
.Sh FILES
|
||||
.Bl -tag -width "/sys/i386/conf/GENERIC " -compact
|
||||
.Bl -tag -width ".Pa /sys/i386/conf/GENERIC" -compact
|
||||
.It Pa /dev/ad*
|
||||
ATA disk device nodes
|
||||
.It Pa /dev/acd*
|
||||
|
@ -8,42 +8,53 @@
|
||||
.Nm dummynet
|
||||
.Nd traffic shaper, bandwidth manager and delay emulator
|
||||
.Sh DESCRIPTION
|
||||
.Em dummynet
|
||||
is a system facility that permits the control of traffic
|
||||
The
|
||||
.Nm
|
||||
system facility permits the control of traffic
|
||||
going through the various network interfaces, by applying bandwidth
|
||||
and queue size limitations, implementing different scheduling and queue
|
||||
management policies, and emulating delays and losses.
|
||||
.Pp
|
||||
The user interface for
|
||||
.Em dummynet
|
||||
is implemented by the
|
||||
.Nm ipfw
|
||||
program, so the reader is referred to the
|
||||
.Xr ipfw 8
|
||||
manpage for a complete description of the capabilities of
|
||||
.Nm
|
||||
and on how to use it.
|
||||
.Sh KERNEL OPTIONS
|
||||
is implemented by the
|
||||
.Xr ipfw 8
|
||||
utility, so please refer to the
|
||||
.Xr ipfw 8
|
||||
manpage for a complete description of the
|
||||
.Nm
|
||||
capabilities and how to use it.
|
||||
.Ss Kernel Options
|
||||
The following options in the kernel configuration file are related to
|
||||
.Nm
|
||||
operation:
|
||||
.Bd -literal
|
||||
IPFIREWALL - enable ipfirewall (required for dummynet).
|
||||
IPFIREWALL_VERBOSE - enable firewall output.
|
||||
IPFIREWALL_VERBOSE_LIMIT - limit firewall output.
|
||||
DUMMYNET - enable dummynet operation.
|
||||
NMBCLUSTERS - set the amount of network packet buffers
|
||||
HZ - sets the timer granularity
|
||||
.Ed
|
||||
.Pp
|
||||
.Bl -tag -width ".Dv IPFIREWALL_VERBOSE_LIMIT" -offset indent -compact
|
||||
.It Dv IPFIREWALL
|
||||
enable ipfirewall (required for
|
||||
.Nm )
|
||||
.It Dv IPFIREWALL_VERBOSE
|
||||
enable firewall output
|
||||
.It Dv IPFIREWALL_VERBOSE_LIMIT
|
||||
limit firewall output
|
||||
.It Dv DUMMYNET
|
||||
enable
|
||||
.Nm
|
||||
operation
|
||||
.It Dv NMBCLUSTERS
|
||||
set the amount of network packet buffers
|
||||
.It Dv HZ
|
||||
set the timer granularity
|
||||
.El
|
||||
.Pp
|
||||
Generally, the following options are required:
|
||||
.Bd -literal
|
||||
options IPFIREWALL
|
||||
options DUMMYNET
|
||||
options HZ=1000 # strongly recommended
|
||||
.Bd -literal -offset indent
|
||||
options IPFIREWALL
|
||||
options DUMMYNET
|
||||
options HZ=1000 # strongly recommended
|
||||
.Ed
|
||||
.Pp
|
||||
additionally, one may want to increase the number
|
||||
Additionally, one may want to increase the number
|
||||
of mbuf clusters (used to store network packets) according to the
|
||||
sum of the bandwidth-delay products and queue sizes of all configured
|
||||
pipes.
|
||||
@ -54,11 +65,17 @@ pipes.
|
||||
.Xr ipfw 8 ,
|
||||
.Xr sysctl 8
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
was initially implemented as a testing tool for TCP congestion control
|
||||
by
|
||||
facility
|
||||
was initially implemented as a testing tool for
|
||||
.Tn TCP
|
||||
congestion control by
|
||||
.An Luigi Rizzo Aq luigi@iet.unipi.it ,
|
||||
as described on ACM Computer Communication Review, Jan.97 issue.
|
||||
Later it has been then modified to work at the ip and bridging
|
||||
level, integrated with the IPFW packet filter, and extended to
|
||||
Later it has been modified to work at the
|
||||
.Tn IP
|
||||
and bridging levels, integrated with the
|
||||
.Xr ipfw 4
|
||||
packet filter, and extended to
|
||||
support multiple queueing and scheduling policies.
|
||||
|
@ -1,47 +1,52 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 22, 1997
|
||||
.Dd October 28, 2002
|
||||
.Dt IPFW 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm ipfw
|
||||
.Nd IP packet filter and traffic accounting
|
||||
.Sh DESCRIPTION
|
||||
.Em ipfw
|
||||
is a system facility which allows filtering,
|
||||
redirecting, and other operations on IP packets travelling through
|
||||
system interfaces.
|
||||
The
|
||||
.Nm
|
||||
system facility allows filtering,
|
||||
redirecting, and other operations on
|
||||
.Tn IP
|
||||
packets travelling through
|
||||
network interfaces.
|
||||
.Pp
|
||||
The user interface for
|
||||
.Em ipfw
|
||||
.Nm
|
||||
is implemented by the
|
||||
.Nm ipfw
|
||||
program, so the reader is referred to the
|
||||
.Xr ipfw 8
|
||||
manpage for a complete description of the capabilities of
|
||||
.Em ipfw
|
||||
and how to use it.
|
||||
.Pp
|
||||
.Sh KERNEL OPTIONS
|
||||
utility, so please refer to the
|
||||
.Xr ipfw 8
|
||||
manpage for a complete description of the
|
||||
.Nm
|
||||
capabilities and how to use it.
|
||||
.Ss Kernel Options
|
||||
The following options in the kernel configuration file are related to
|
||||
.Em ipfw
|
||||
.Nm
|
||||
operation:
|
||||
Options in the kernel configuration file:
|
||||
.Bl -tag -width "options IPFIREWALL_VERBOSE_LIMIT"
|
||||
.It Cd options IPFIREWALL
|
||||
.Pp
|
||||
.Bl -tag -width ".Dv IPFIREWALL_VERBOSE_LIMIT" -compact
|
||||
.It Dv IPFIREWALL
|
||||
enable
|
||||
.Nm
|
||||
.It Cd options IPFIREWALL_VERBOSE
|
||||
enable firewall logging
|
||||
.It Cd options IPFIREWALL_VERBOSE_LIMIT
|
||||
limit firewall logging
|
||||
.It Cd options IPDIVERT
|
||||
.It Dv IPFIREWALL_VERBOSE
|
||||
enable
|
||||
.Nm
|
||||
logging
|
||||
.It Dv IPFIREWALL_VERBOSE_LIMIT
|
||||
limit
|
||||
.Nm
|
||||
logging
|
||||
.It Dv IPDIVERT
|
||||
enable
|
||||
.Xr divert 4
|
||||
sockets
|
||||
.El
|
||||
.Pp
|
||||
.Sh SEE ALSO
|
||||
.Xr setsockopt 2 ,
|
||||
.Xr divert 4 ,
|
||||
|
@ -98,7 +98,7 @@ It can also be examined and set after booting via the
|
||||
.Va debug.ktr.cpumask
|
||||
sysctl.
|
||||
By default events on all CPUs are enabled.
|
||||
.Ss Verbose mode
|
||||
.Ss Verbose Mode
|
||||
By default, events are only logged to the internal buffer for examination
|
||||
later, but if the verbose flag is set then they are dumped to the kernel
|
||||
console as well.
|
||||
@ -137,50 +137,57 @@ modifier is specified, then they are displayed in addition to the normal
|
||||
output.
|
||||
Note that the events are displayed in reverse chronological order.
|
||||
That is, the most recent events are displayed first.
|
||||
.Ss Logging ktr to disk
|
||||
.Ss Logging ktr to Disk
|
||||
The
|
||||
.Dv KTR_ALQ
|
||||
option can be used to log ktr entries to disk for post analysis using the
|
||||
option can be used to log
|
||||
.Nm
|
||||
entries to disk for post analysis using the
|
||||
.Xr ktrdump 8
|
||||
utility.
|
||||
Due to the potentially high volume of trace messages the trace mask should be
|
||||
selected carefully.
|
||||
This feature is configured through a group of sysctls.
|
||||
.Pp
|
||||
.Va debug.ktr.alq_file
|
||||
displays or sets the file that ktr will log to. By default its value is
|
||||
"/tmp/ktr.out".
|
||||
If the file name is changed while ktr is enabled it will not take effect until
|
||||
.Bl -tag -width ".Va debug.ktr.alq_enable"
|
||||
.It Va debug.ktr.alq_file
|
||||
displays or sets the file that
|
||||
.Nm
|
||||
will log to.
|
||||
By default its value is
|
||||
.Pa /tmp/ktr.out .
|
||||
If the file name is changed while
|
||||
.Nm
|
||||
is enabled it will not take effect until
|
||||
the next invocation.
|
||||
.Pp
|
||||
.Va debug.ktr.alq_enable
|
||||
enables logging of ktr entries to disk if it is set to one.
|
||||
.It Va debug.ktr.alq_enable
|
||||
enables logging of
|
||||
.Nm
|
||||
entries to disk if it is set to one.
|
||||
Setting this to 0 will terminate logging.
|
||||
.Pp
|
||||
.Va debug.ktr.alq_max
|
||||
.It Va debug.ktr.alq_max
|
||||
is the maximum number of entries that will be recorded to disk, or 0 for
|
||||
infinite.
|
||||
This is helpful for limiting the number of particularly high frequency entries
|
||||
that are recorded.
|
||||
.Pp
|
||||
.Va debug.ktr.alq_depth
|
||||
.It Va debug.ktr.alq_depth
|
||||
determines the number of entries in the write buffer.
|
||||
This is the buffer that holds entries before they are written to disk and
|
||||
defaults to the value of the
|
||||
.Dv KTR_ENTRIES
|
||||
option.
|
||||
.Pp
|
||||
.Va debug.ktr.alq_failed
|
||||
.It Va debug.ktr.alq_failed
|
||||
records the number of times we failed to write an entry due to overflowing the
|
||||
write buffer.
|
||||
This may happen if the frequency of the logged ktr messages outpaces the depth
|
||||
This may happen if the frequency of the logged
|
||||
.Nm
|
||||
messages outpaces the depth
|
||||
of the queue.
|
||||
.Pp
|
||||
.Va debug.ktr.alq_cnt
|
||||
.It Va debug.ktr.alq_cnt
|
||||
records the number of entries that have currently been written to disk.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr ktr 9 ,
|
||||
.Xr ktrdump 8
|
||||
.Xr ktrdump 8 ,
|
||||
.Xr ktr 9
|
||||
.Sh HISTORY
|
||||
The KTR kernel tracing facility first appeared in
|
||||
.Bsx 3.0
|
||||
|
@ -147,7 +147,7 @@ Packets with limited broadcast address as outer IPv4 source/destination
|
||||
.Pq Li 255.0.0.0/8
|
||||
.It
|
||||
Packets with private address as outer IPv4 source/destination
|
||||
.Pq Li 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
|
||||
.Pq Li 10.0.0.0/8 , 172.16.0.0/12 , 192.168.0.0/16
|
||||
.It
|
||||
Packets with subnet broadcast address as outer IPv4 source/destination.
|
||||
The check is made against subnet broadcast addresses for
|
||||
|
@ -231,8 +231,8 @@ On the last close of the data device, the interface is
|
||||
brought down
|
||||
(as if with
|
||||
.Dq ifconfig tap Ns Sy N No down )
|
||||
unless the device is a
|
||||
.Em VMnet
|
||||
unless the device is a
|
||||
.Em VMnet
|
||||
device.
|
||||
All queued frames are thrown away.
|
||||
If the interface is up when the data
|
||||
@ -242,8 +242,8 @@ letting them pile up.
|
||||
The
|
||||
.Nm
|
||||
device can also be used with the VMware port as a replacement
|
||||
for the old
|
||||
.Em VMnet
|
||||
for the old
|
||||
.Em VMnet
|
||||
device driver.
|
||||
The driver uses the minor number
|
||||
to select between
|
||||
@ -251,29 +251,29 @@ to select between
|
||||
and
|
||||
.Nm vmnet
|
||||
devices.
|
||||
.Em VMnet
|
||||
.Em VMnet
|
||||
minor numbers begin at
|
||||
.Va 0x800000
|
||||
+
|
||||
.Va N ;
|
||||
where
|
||||
.Va N
|
||||
is a
|
||||
.Em VMnet
|
||||
is a
|
||||
.Em VMnet
|
||||
unit number.
|
||||
In this case the control device is expected to be
|
||||
.Pa /dev/vmnet Ns Sy N ,
|
||||
and the network interface will be
|
||||
.Sy vmnet Ns Ar N .
|
||||
Additionally,
|
||||
.Em VMnet
|
||||
devices do not
|
||||
.Xr ifconfig 8
|
||||
Additionally,
|
||||
.Em VMnet
|
||||
devices do not
|
||||
.Xr ifconfig 8
|
||||
themselves down when the
|
||||
control device is closed.
|
||||
Everything else is the same.
|
||||
.Pp
|
||||
In addition to the above mentioned
|
||||
In addition to the above mentioned
|
||||
.Xr ioctl 2
|
||||
calls, there is an additional one for the VMware port.
|
||||
.Bl -tag -width VMIO_SIOCSETMACADDR
|
||||
|
@ -318,7 +318,7 @@ Enable
|
||||
.Tn TCP
|
||||
bandwidth delay product limiting. An attempt will be made to calculate
|
||||
the bandwidth delay product for each individual TCP connection and limit
|
||||
the amount of inflight data being transmitted to avoid building up
|
||||
the amount of inflight data being transmitted to avoid building up
|
||||
unnecessary packets in the network. This option is recommended if you
|
||||
are serving a lot of data over connections with high bandwidth-delay
|
||||
products, such as modems, GigE links, and fast long-haul WANs, and/or
|
||||
|
@ -42,20 +42,27 @@ driver provides support for Mass Storage devices that attach to the USB
|
||||
port.
|
||||
Supported are
|
||||
.Pp
|
||||
.Bl -tag -compact -width xxxxxx
|
||||
.It Iomega USB Zip 100 drive
|
||||
.It Iomega USB Zip 250 drive
|
||||
.It Microtech International, Inc. USB-SCSI-HD 50 USB to SCSI cable.
|
||||
.It Panasonic ("Matshita FDD CF-VFDU03")
|
||||
.It VAIO floppy drive (includes Y-E Data Flashbuster-U)
|
||||
.Bl -item -compact
|
||||
.It
|
||||
Iomega USB Zip 100 drive
|
||||
.It
|
||||
Iomega USB Zip 250 drive
|
||||
.It
|
||||
Microtech International, Inc. USB-SCSI-HD 50 USB to SCSI cable.
|
||||
.It
|
||||
Panasonic ("Matshita FDD CF-VFDU03")
|
||||
.It
|
||||
VAIO floppy drive (includes Y-E Data Flashbuster-U)
|
||||
.El
|
||||
.Pp
|
||||
The driver also supports some USB adapters for removable media.
|
||||
Among the supported models are:
|
||||
.Pp
|
||||
.Bl -tag -compact -width xxxxxx
|
||||
.It SanDisk SDDR-31 (Compact Flash)
|
||||
.It SanDisk SDDR-75 (only Compact Flash port works)
|
||||
.Bl -item -compact
|
||||
.It
|
||||
SanDisk SDDR-31 (Compact Flash)
|
||||
.It
|
||||
SanDisk SDDR-75 (only Compact Flash port works)
|
||||
.El
|
||||
.Pp
|
||||
.Nm usb
|
||||
|
@ -104,31 +104,31 @@ A device may operate in different configurations.
|
||||
Depending on the
|
||||
configuration, the device may present different sets of endpoints
|
||||
and interfaces.
|
||||
.Pp
|
||||
Each device located on a hub has several
|
||||
.Xr config 8
|
||||
locators:
|
||||
.Bl -tag -compact -width xxxxxx
|
||||
.It Cd port
|
||||
this is the number of the port on the closest upstream hub.
|
||||
.It Cd configuration
|
||||
this is the configuration the device must be in for this driver to attach.
|
||||
This locator does not set the configuration; it is iterated by the bus
|
||||
enumeration.
|
||||
.It Cd interface
|
||||
this is the interface number within a device that an interface driver
|
||||
attaches to.
|
||||
.It Cd vendor
|
||||
this is the 16 bit vendor id of the device.
|
||||
.It Cd product
|
||||
this is the 16 bit product id of the device.
|
||||
.It Cd release
|
||||
this is the 16 bit release (revision) number of the device.
|
||||
.El
|
||||
The first locator can be used to pin down a particular device
|
||||
according to its physical position in the device tree.
|
||||
The last three locators can be used to pin down a particular
|
||||
device according to what device it actually is.
|
||||
.\" .Pp
|
||||
.\" Each device located on a hub has several
|
||||
.\" .Xr config 8
|
||||
.\" locators:
|
||||
.\" .Bl -tag -compact -width xxxxxx
|
||||
.\" .It Cd port
|
||||
.\" this is the number of the port on the closest upstream hub.
|
||||
.\" .It Cd configuration
|
||||
.\" this is the configuration the device must be in for this driver to attach.
|
||||
.\" This locator does not set the configuration; it is iterated by the bus
|
||||
.\" enumeration.
|
||||
.\" .It Cd interface
|
||||
.\" this is the interface number within a device that an interface driver
|
||||
.\" attaches to.
|
||||
.\" .It Cd vendor
|
||||
.\" this is the 16 bit vendor id of the device.
|
||||
.\" .It Cd product
|
||||
.\" this is the 16 bit product id of the device.
|
||||
.\" .It Cd release
|
||||
.\" this is the 16 bit release (revision) number of the device.
|
||||
.\" .El
|
||||
.\" The first locator can be used to pin down a particular device
|
||||
.\" according to its physical position in the device tree.
|
||||
.\" The last three locators can be used to pin down a particular
|
||||
.\" device according to what device it actually is.
|
||||
.Pp
|
||||
The bus enumeration of the
|
||||
.Tn USB
|
||||
|
@ -135,15 +135,15 @@ Notes on the kernel configuration file and device resource hints.
|
||||
.Sh EXAMPLES
|
||||
The following example sets up resources for the
|
||||
.Xr sio 4
|
||||
driver on the ISA bus.
|
||||
driver on the ISA bus:
|
||||
.Bd -literal -offset indent
|
||||
hint.sio.0.at="isa"
|
||||
hint.sio.0.port="0x3F8"
|
||||
hint.sio.0.flags="0x10"
|
||||
hint.sio.0.irq="4"
|
||||
.Ed
|
||||
|
||||
The following example disables the ACPI driver
|
||||
.Pp
|
||||
The following example disables the ACPI driver:
|
||||
.Bd -literal -offset indent
|
||||
hint.acpi.0.disabled="1"
|
||||
.Ed
|
||||
|
@ -76,9 +76,9 @@ extension).
|
||||
The third field,
|
||||
.Ar floppy ,
|
||||
specifies which floppy disk should include the kernel module.
|
||||
A value of '2' represents the
|
||||
A value of 2 represents the
|
||||
.Pa mfsroot.flp
|
||||
floppy image, and a value of '3' represents the optional
|
||||
floppy image, and a value of 3 represents the optional
|
||||
.Pa driver.flp
|
||||
floppy image.
|
||||
.Pp
|
||||
|
@ -360,7 +360,7 @@ the cylinder group structure
|
||||
The
|
||||
.Em Inode :
|
||||
The inode is the focus of all file activity in the
|
||||
.Tn UNIX
|
||||
.Ux
|
||||
filesystem.
|
||||
There is a unique inode allocated
|
||||
for each active file,
|
||||
|
@ -114,7 +114,8 @@ CFLAGS+=${BDECFLAGS}
|
||||
.It Va CPUTYPE
|
||||
.Pq Vt str
|
||||
Controls which processor should be targeted for generated
|
||||
code. This controls processor-specific optimizations in
|
||||
code.
|
||||
This controls processor-specific optimizations in
|
||||
certain code (currently only OpenSSL) as well as modifying
|
||||
the value of
|
||||
.Va CFLAGS
|
||||
@ -130,7 +131,8 @@ may be overridden using the
|
||||
.Va NO_CPU_CFLAGS
|
||||
and
|
||||
.Va NO_CPU_COPTFLAGS
|
||||
variables, respectively. Refer to
|
||||
variables, respectively.
|
||||
Refer to
|
||||
.Pa /usr/share/examples/etc/make.conf
|
||||
for a list of recognized
|
||||
.Va CPUTYPE
|
||||
@ -174,13 +176,12 @@ Controls the shell used internally by
|
||||
.Xr make 1
|
||||
to process the command scripts in makefiles.
|
||||
.Xr sh 1 ,
|
||||
.Xr ksh 1,
|
||||
.Xr ksh 1 ,
|
||||
and
|
||||
.Xr csh 1
|
||||
all currently supported.
|
||||
.Bd -literal -offset indent
|
||||
MAKE_SHELL?=sh
|
||||
.Ed
|
||||
.Pp
|
||||
.Dl "MAKE_SHELL?=sh"
|
||||
.It Va MTREE_FOLLOWS_SYMLINKS
|
||||
.Pq Vt str
|
||||
Set this to
|
||||
@ -317,7 +318,9 @@ loader retrieves the kernel via NFS.
|
||||
Defining this and recompiling
|
||||
.Pa /usr/src/sys/boot
|
||||
will cause it to retrieve the kernel via TFTP.
|
||||
This allows pxeboot to load a custom BOOTP diskless kernel yet
|
||||
This allows
|
||||
.Xr pxeboot 8
|
||||
to load a custom BOOTP diskless kernel yet
|
||||
still mount the server's
|
||||
.Pa /
|
||||
rather than load the server's kernel.
|
||||
@ -385,7 +388,8 @@ Normally
|
||||
.Pq Vt str
|
||||
If you want to install the MIT Kerberos5 port somewhere other than
|
||||
.Pa /usr/local ,
|
||||
define this. This is also used to tell ssh1 that kerberos is needed).
|
||||
define this.
|
||||
This is also used to tell ssh1 that Kerberos is needed.
|
||||
.It Va MAKE_IDEA
|
||||
.Pq Vt bool
|
||||
Set to build the IDEA encryption code.
|
||||
@ -420,7 +424,7 @@ will not be able to change users' groups.
|
||||
.Pq Vt bool
|
||||
Set this to install
|
||||
.Xr ssh 1
|
||||
with the setuid bit turned on.
|
||||
with the set-user-ID bit turned on.
|
||||
.It Va MODULES_WITH_WORLD
|
||||
.Pq Vt bool
|
||||
Set to build modules with the system instead of the kernel.
|
||||
@ -443,7 +447,7 @@ and related libraries.
|
||||
.It Va NO_GDB
|
||||
.Pq Vt bool
|
||||
Set to not build
|
||||
.Xr gdb 1
|
||||
.Xr gdb 1 .
|
||||
.It Va NO_I4B
|
||||
.Pq Vt bool
|
||||
Set to not build isdn4bsd package.
|
||||
@ -568,7 +572,7 @@ Note that
|
||||
.Va SENDMAIL_CF
|
||||
is now deprecated.
|
||||
Avoid using a value of
|
||||
.Pa /etc/mail/sendmail.mc
|
||||
.Pa /etc/mail/sendmail.mc ,
|
||||
as a buildworld will create
|
||||
.Pa /etc/mail/sendmail.cf
|
||||
before installworld installs an updated
|
||||
@ -585,7 +589,7 @@ file, e.g.,
|
||||
Use with caution as a make install will overwrite any existing
|
||||
.Pa /etc/mail/submit.cf .
|
||||
Avoid using a value of
|
||||
.Pa /etc/mail/submit.mc
|
||||
.Pa /etc/mail/submit.mc ,
|
||||
as a buildworld will create
|
||||
.Pa /etc/mail/submit.cf
|
||||
before installworld installs an updated
|
||||
@ -604,7 +608,7 @@ file(s), e.g.,
|
||||
.Pa /etc/mail/foo.mc
|
||||
.Pa /etc/mail/bar.mc .
|
||||
Avoid using a value of
|
||||
.Pa /etc/mail/sendmail.mc
|
||||
.Pa /etc/mail/sendmail.mc ,
|
||||
as a buildworld will create
|
||||
.Pa /etc/mail/sendmail.cf
|
||||
before installworld installs an updated
|
||||
@ -663,8 +667,9 @@ The default value is 0640.
|
||||
.It Va TOP_TABLE_SIZE
|
||||
.Pq Vt int
|
||||
.Xr top 1
|
||||
uses a hash table for the user names. The size of this hash can be tuned
|
||||
to match the number of local users. The table size should be a prime number
|
||||
uses a hash table for the user names.
|
||||
The size of this hash can be tuned to match the number of local users.
|
||||
The table size should be a prime number
|
||||
approximately twice as large as the number of lines in
|
||||
.Pa /etc/passwd .
|
||||
The default number is 20011.
|
||||
@ -679,7 +684,8 @@ times \(em this is worse on the Alpha platform.
|
||||
The value assigned is the highest optimization value used.
|
||||
.It Va WANT_OPENSSL_MANPAGES
|
||||
.Pq Vt bool
|
||||
Set this to build the OpenSSL manual pages. These are not built by
|
||||
Set this to build the OpenSSL manual pages.
|
||||
These are not built by
|
||||
default because they clobber a number of system manual pages with
|
||||
manual pages describing parts of the OpenSSL toolkit, including
|
||||
.Xr passwd 1 ,
|
||||
|
@ -292,7 +292,7 @@ On some systems, the
|
||||
.Ar passwd
|
||||
field may also be overridden.
|
||||
.Sh FILES
|
||||
.Bl -tag -width /etc/master.passwd -compact
|
||||
.Bl -tag -width ".Pa /etc/master.passwd" -compact
|
||||
.It Pa /etc/passwd
|
||||
.Tn ASCII
|
||||
password file, with passwords removed
|
||||
|
@ -1993,8 +1993,12 @@ by default.
|
||||
When set to
|
||||
.Dq Li YES ,
|
||||
verbose messages about the actions done by the start script are displayed.
|
||||
.Em Note:
|
||||
the pcvt driver must be comiled into the kernel before the pcvt related
|
||||
.Em Note :
|
||||
the
|
||||
.Xr pcvt 4
|
||||
driver must be compiled into the kernel before the
|
||||
.Xr pcvt 4
|
||||
related
|
||||
options described here take any effect.
|
||||
.It Va pcvt_keymap
|
||||
.Pq Vt str
|
||||
@ -2002,31 +2006,37 @@ Set to
|
||||
.Dq Li NO
|
||||
by default.
|
||||
Use this to configure a national keyboard mapping found in the
|
||||
.Pa /usr/share/misc/keycap.pcvt
|
||||
.Pa /usr/share/misc/keycap.pcvt
|
||||
file of keyboard mappings.
|
||||
(see also the manual pages
|
||||
(See also the manual pages
|
||||
.Xr keycap 5
|
||||
and
|
||||
.Xr keycap 3
|
||||
for usage of pcvt's keycap database and the manual page
|
||||
for usage of
|
||||
.Xr pcvt 4 Ns 's
|
||||
keycap database and the manual page
|
||||
.Xr kcon 1
|
||||
option -m for national keyboard mapping configuration).
|
||||
option
|
||||
.Fl m
|
||||
for national keyboard mapping configuration.)
|
||||
.It Va pcvt_keydel
|
||||
.Pq Vt int
|
||||
Set to
|
||||
.Dq Li NO
|
||||
by default.
|
||||
Used to set the keyboard key repeat delay value. Valid values are
|
||||
Used to set the keyboard key repeat delay value.
|
||||
Valid values are
|
||||
in the range 0..3 for delay values of 250, 500, 750 and 1000 msec.
|
||||
(See also the
|
||||
.Xr kcon 1
|
||||
manual page).
|
||||
manual page.)
|
||||
.It Va pcvt_keyrate
|
||||
.Pq Vt int
|
||||
Set to
|
||||
.Dq Li NO
|
||||
by default.
|
||||
Used to set the keyboard key repetition rate value. Valid values are
|
||||
Used to set the keyboard key repetition rate value.
|
||||
Valid values are
|
||||
in the range 0..31 for repetition values of 2..30 characters per second.
|
||||
.It Va pcvt_keyrepeat
|
||||
.Pq Vt bool
|
||||
@ -2043,28 +2053,40 @@ Set to
|
||||
by default.
|
||||
Set to
|
||||
.Dq Li YES
|
||||
to force pcvt to use 24 lines only (in 25 lines mode) for compatibility
|
||||
with the original VT220 terminal.
|
||||
to force
|
||||
.Xr pcvt 4
|
||||
to use 24 lines only (in 25 lines mode) for compatibility
|
||||
with the original
|
||||
.Tn VT220
|
||||
terminal.
|
||||
.It Va pcvt_hpext
|
||||
.Pq Vt bool
|
||||
Set to
|
||||
.Dq Li NO
|
||||
by default.
|
||||
Set to
|
||||
.Dq Li YES
|
||||
to enable the display and funtionality of function key labels (as found
|
||||
on Hewlett-Packard terminals such as the HP2392A and the HP700/92 in
|
||||
ANSI mode).
|
||||
.Dq Li YES
|
||||
to enable the display and funtionality of function key labels (as found
|
||||
on
|
||||
.Tn Hewlett-Packard
|
||||
terminals such as the
|
||||
.Tn HP2392A
|
||||
and the
|
||||
.Tn HP700/92
|
||||
in
|
||||
.Tn ANSI
|
||||
mode).
|
||||
.It Va pcvt_lines
|
||||
.Pq Vt int
|
||||
Set to
|
||||
.Dq Li NO
|
||||
by default resulting in a value of 25.
|
||||
Used to set the number of lines on the screen. For VGA displays, valid
|
||||
Used to set the number of lines on the screen.
|
||||
For VGA displays, valid
|
||||
values are 25, 28, 40 and 50 lines.
|
||||
(See also the
|
||||
.Xr scon 1
|
||||
manual page).
|
||||
manual page.)
|
||||
.It Va pcvt_blanktime
|
||||
.Pq Vt int
|
||||
Set to
|
||||
@ -2080,7 +2102,7 @@ by default.
|
||||
Used to set the cursor top scanline.
|
||||
(See also the
|
||||
.Xr cursor 1
|
||||
manual page).
|
||||
manual page.)
|
||||
.It Va pcvt_cursorl
|
||||
.Pq Vt int
|
||||
Set to
|
||||
@ -2093,12 +2115,14 @@ Set to
|
||||
.Dq Li NO
|
||||
by default.
|
||||
Set to
|
||||
.Dq Li YES
|
||||
.Dq Li YES
|
||||
to set intensity to high on monochrome monitors.
|
||||
(See also the
|
||||
.Xr scon 1
|
||||
manual page, option -p, for more information on changing VGA palette
|
||||
values).
|
||||
manual page, option
|
||||
.Fl p ,
|
||||
for more information on changing VGA palette
|
||||
values.)
|
||||
.El
|
||||
.Sh FILES
|
||||
.Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact
|
||||
|
@ -110,7 +110,7 @@ disconnect is requested by the user.
|
||||
This host is on a dial-up line.
|
||||
.It Cm \&dv
|
||||
(str)
|
||||
.Tn UNIX
|
||||
.Ux
|
||||
device(s) to open to establish a connection.
|
||||
If this file refers to a terminal line,
|
||||
.Xr tip 1
|
||||
|
@ -154,8 +154,8 @@ Summary: if
|
||||
.Dv HZ
|
||||
is not 1000000 then the application is probably using the wrong clock.
|
||||
.Sh SEE ALSO
|
||||
.Xr clock_gettime 2 ,
|
||||
.Xr gprof 1 ,
|
||||
.Xr clock_gettime 2 ,
|
||||
.Xr getitimer 2 ,
|
||||
.Xr getrusage 2 ,
|
||||
.Xr gettimeofday 2 ,
|
||||
|
@ -62,7 +62,7 @@ a firewall in the sample firewall section below.
|
||||
.Sh IPFW KERNEL CONFIGURATION
|
||||
You do not need to create a custom kernel to use the IP firewalling features.
|
||||
If you enable firewalling in your
|
||||
.Em /etc/rc.conf
|
||||
.Em /etc/rc.conf
|
||||
(see below), the ipfw kernel module will be loaded automatically
|
||||
when necessary.
|
||||
However,
|
||||
@ -359,8 +359,8 @@ to indirectly bind services that do not otherwise give you the option.
|
||||
.Xr dummynet 4 ,
|
||||
.Xr ipnat 5 ,
|
||||
.Xr rc.conf 5 ,
|
||||
.Xr smb.conf 5 [ /usr/ports/net/samba ] ,
|
||||
.Xr samba 7 [ /usr/ports/net/samba ] ,
|
||||
.Xr smb.conf 5 net samba ,
|
||||
.Xr samba 7 net samba ,
|
||||
.Xr config 8 ,
|
||||
.Xr ipfw 8 ,
|
||||
.Xr jail 8 ,
|
||||
|
@ -692,9 +692,9 @@ see
|
||||
.It Pa db/
|
||||
misc. automatically generated system-specific database files
|
||||
.It Pa empty/
|
||||
empty directory used by sshd(8) for privilege separation;
|
||||
see
|
||||
empty directory used by
|
||||
.Xr sshd 8
|
||||
for privilege separation
|
||||
.It Pa games/
|
||||
misc. game status and score files
|
||||
.It Pa log/
|
||||
|
@ -106,8 +106,10 @@ but the introduction of
|
||||
led to massive confusion
|
||||
by program writers so today programs haphazardly use one or the
|
||||
other and thus no real distinction can be made between the two.
|
||||
So it makes sense to have just one temporary directory and
|
||||
softlink to it from the other tmp directory locations.
|
||||
So it makes sense to have just one temporary directory and
|
||||
softlink to it from the other
|
||||
.Pa tmp
|
||||
directory locations.
|
||||
However you handle
|
||||
.Pa /tmp ,
|
||||
the one thing you do not want to do is leave it sitting
|
||||
@ -272,7 +274,7 @@ We recommend enabling softupdates on most filesystems; however, there
|
||||
are two limitations to softupdates that you should be aware of when
|
||||
determining whether to use it on a filesystem.
|
||||
First, softupdates guarantees filesystem consistency in the
|
||||
case of a crash but could very easily be several seconds (even a minute!)
|
||||
case of a crash but could very easily be several seconds (even a minute!\&)
|
||||
behind on pending write to the physical disk.
|
||||
If you crash you may lose more work
|
||||
than otherwise.
|
||||
@ -283,7 +285,8 @@ close to full, doing a major update of it, e.g.\&
|
||||
.Dq Li "make installworld" ,
|
||||
can run it out of space and cause the update to fail.
|
||||
For this reason, softupdates will not be enabled on the root filesystem
|
||||
during a typical install. There is no loss of performance since the root
|
||||
during a typical install.
|
||||
There is no loss of performance since the root
|
||||
filesystem is rarely written to.
|
||||
.Pp
|
||||
A number of run-time
|
||||
@ -525,72 +528,99 @@ TCP session disconnections.
|
||||
.Pp
|
||||
The
|
||||
.Va net.inet.tcp.delayed_ack
|
||||
TCP feature is largly misunderstood. Historically speaking this feature
|
||||
TCP feature is largly misunderstood.
|
||||
Historically speaking, this feature
|
||||
was designed to allow the acknowledgement to transmitted data to be returned
|
||||
along with the response. For example, when you type over a remote shell
|
||||
along with the response.
|
||||
For example, when you type over a remote shell,
|
||||
the acknowledgement to the character you send can be returned along with the
|
||||
data representing the echo of the character. With delayed acks turned off
|
||||
the acknowledgement may be sent in its own packet before the remote service
|
||||
has a chance to echo the data it just received. This same concept also
|
||||
applies to any interactive protocol (e.g. SMTP, WWW, POP3) and can cut the
|
||||
number of tiny packets flowing across the network in half. The FreeBSD
|
||||
delayed-ack implementation also follows the TCP protocol rule that
|
||||
data representing the echo of the character.
|
||||
With delayed acks turned off,
|
||||
the acknowledgement may be sent in its own packet, before the remote service
|
||||
has a chance to echo the data it just received.
|
||||
This same concept also
|
||||
applies to any interactive protocol (e.g. SMTP, WWW, POP3), and can cut the
|
||||
number of tiny packets flowing across the network in half.
|
||||
The
|
||||
.Fx
|
||||
delayed ACK implementation also follows the TCP protocol rule that
|
||||
at least every other packet be acknowledged even if the standard 100ms
|
||||
timeout has not yet passed. Normally the worst a delayed ack can do is
|
||||
timeout has not yet passed.
|
||||
Normally the worst a delayed ACK can do is
|
||||
slightly delay the teardown of a connection, or slightly delay the ramp-up
|
||||
of a slow-start TCP connection. While we aren't sure we believe that
|
||||
of a slow-start TCP connection.
|
||||
While we are not sure we believe that
|
||||
the several FAQs related to packages such as SAMBA and SQUID which advise
|
||||
turning off delayed acks may be refering to the slow-start issue. In FreeBSD
|
||||
turning off delayed acks may be refering to the slow-start issue.
|
||||
In
|
||||
.Fx ,
|
||||
it would be more beneficial to increase the slow-start flightsize via
|
||||
the
|
||||
.Va net.inet.tcp.slowstart_flightsize
|
||||
sysctl rather then disable delayed acks.
|
||||
sysctl rather than disable delayed acks.
|
||||
.Pp
|
||||
The
|
||||
.Va net.inet.tcp.inflight_enable
|
||||
sysctl turns on bandwidth delay product limiting for all TCP connections.
|
||||
The system will attempt to calculate the bandwidth delay product for each
|
||||
connection and limit the amount of data queued to the network to just the
|
||||
amount required to maintain optimum throughput. This feature is useful
|
||||
amount required to maintain optimum throughput.
|
||||
This feature is useful
|
||||
if you are serving data over modems, GigE, or high speed WAN links (or
|
||||
any other link with a high bandwidth*delay product), especially if you are
|
||||
also using window scaling or have configured a large send window. If
|
||||
you enable this option you should also be sure to set
|
||||
also using window scaling or have configured a large send window.
|
||||
If you enable this option, you should also be sure to set
|
||||
.Va net.inet.tcp.inflight_debug
|
||||
to 0 (disable debugging), and for production use setting
|
||||
.Va net.inet.tcp.inflight_min
|
||||
to at least 6144 may be beneficial. Note, however, that setting high
|
||||
to at least 6144 may be beneficial.
|
||||
Note however, that setting high
|
||||
minimums may effectively disable bandwidth limiting depending on the link.
|
||||
The limiting feature reduces the amount of data built up in intermediate
|
||||
router and switch packet queues as well as reduces the amount of data built
|
||||
up in the local host's interface queue. With fewer packets queued up,
|
||||
up in the local host's interface queue.
|
||||
With fewer packets queued up,
|
||||
interactive connections, especially over slow modems, will also be able
|
||||
to operate with lower round trip times. However, note that this feature
|
||||
only effects data transmission (uploading / server-side). It does not
|
||||
to operate with lower round trip times.
|
||||
However, note that this feature
|
||||
only effects data transmission (uploading / server-side).
|
||||
It does not
|
||||
effect data reception (downloading).
|
||||
.Pp
|
||||
The
|
||||
.Va net.inet.ip.portrange.*
|
||||
sysctls control the port number ranges automatically bound to TCP and UDP
|
||||
sockets. There are three ranges: A low range, a default range, and a
|
||||
high range, selectable via an IP_PORTRANGE setsockopt() call. Most
|
||||
sockets.
|
||||
There are three ranges: a low range, a default range, and a
|
||||
high range, selectable via the
|
||||
.Dv IP_PORTRANGE
|
||||
.Xr setsockopt 2
|
||||
call.
|
||||
Most
|
||||
network programs use the default range which is controlled by
|
||||
.Va net.inet.ip.portrange.first
|
||||
and
|
||||
.Va net.inet.ip.portrange.last ,
|
||||
which defaults to 1024 and 5000 respectively. Bound port ranges are
|
||||
used for outgoing connections and it is possible to run the system out
|
||||
of ports under certain circumstances. This most commonly occurs when you are
|
||||
running a heavily loaded web proxy. The port range is not an issue
|
||||
when running serves which handle mainly incoming connections such as a
|
||||
normal web server, or has a limited number of outgoing connections such
|
||||
as a mail relay. For situations where you may run yourself out of
|
||||
ports we recommend increasing
|
||||
which default to 1024 and 5000, respectively.
|
||||
Bound port ranges are
|
||||
used for outgoing connections, and it is possible to run the system out
|
||||
of ports under certain circumstances.
|
||||
This most commonly occurs when you are
|
||||
running a heavily loaded web proxy.
|
||||
The port range is not an issue
|
||||
when running serves which handle mainly incoming connections, such as a
|
||||
normal web server, or has a limited number of outgoing connections, such
|
||||
as a mail relay.
|
||||
For situations where you may run yourself out of
|
||||
ports, we recommend increasing
|
||||
.Va net.inet.ip.portrange.last
|
||||
modestly. A value of 10000 or 20000 or 30000 may be reasonable. You should
|
||||
also consider firewall effects when changing the port range. Some firewalls
|
||||
modestly.
|
||||
A value of 10000 or 20000 or 30000 may be reasonable.
|
||||
You should also consider firewall effects when changing the port range.
|
||||
Some firewalls
|
||||
may block large ranges of ports (usually low-numbered ports) and expect systems
|
||||
to use higher ranges of ports for outgoing connections. For this reason
|
||||
to use higher ranges of ports for outgoing connections.
|
||||
For this reason,
|
||||
we do not recommend that
|
||||
.Va net.inet.ip.portrange.first
|
||||
be lowered.
|
||||
@ -638,7 +668,7 @@ This gives a helping hand
|
||||
to the pageout daemon.
|
||||
Do not turn this option on unless you need it,
|
||||
because the tradeoff you are making is to essentially pre-page memory sooner
|
||||
rather then later, eating more swap and disk bandwidth.
|
||||
rather than later, eating more swap and disk bandwidth.
|
||||
In a small system
|
||||
this option will have a detrimental effect but in a large system that is
|
||||
already doing moderate paging this option allows the VM system to stage
|
||||
@ -855,7 +885,7 @@ For example, in
|
||||
we describe a firewall protecting internal hosts with a topology where
|
||||
the externally visible hosts are not routed through it.
|
||||
Use 100BaseT rather
|
||||
than 10BaseT, or use 1000BaseT rather then 100BaseT, depending on your needs.
|
||||
than 10BaseT, or use 1000BaseT rather than 100BaseT, depending on your needs.
|
||||
Most bottlenecks occur at the WAN link (e.g.\&
|
||||
modem, T1, DSL, whatever).
|
||||
If expanding the link is not an option it may be possible to use the
|
||||
|
@ -40,16 +40,12 @@
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm rc
|
||||
.Nd command scripts for auto\-reboot and daemon startup
|
||||
.Nd command scripts for auto-reboot and daemon startup
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Nm rc.d/
|
||||
.Nm rc.d/atm*
|
||||
.Nm rc.d/network*
|
||||
.Nm rc.d/pccard
|
||||
.Nm rc.d/serial
|
||||
.Nm rc.conf
|
||||
.Nm rc.conf.local
|
||||
.Nm rc.d/
|
||||
.Nm rc.firewall
|
||||
.Nm rc.local
|
||||
.Nm rc.shutdown
|
||||
@ -63,22 +59,24 @@ after being called by
|
||||
The
|
||||
.Nm rc.local
|
||||
script contains commands which are pertinent only
|
||||
to a specific site. Typically, the
|
||||
.Nm /usr/local/etc/rc.d
|
||||
to a specific site.
|
||||
Typically, the
|
||||
.Pa /usr/local/etc/rc.d/
|
||||
mechanism is used instead of
|
||||
.Nm rc.local
|
||||
these days but if
|
||||
you want to use
|
||||
.Nm rc.local
|
||||
it is still supported. In this case it should source
|
||||
.Nm /etc/rc.conf
|
||||
.Nm rc.local ,
|
||||
it is still supported.
|
||||
In this case, it should source
|
||||
.Pa /etc/rc.conf
|
||||
and contain additional custom startup code for your system.
|
||||
The best way to handle
|
||||
.Nm rc.local ;
|
||||
.Nm rc.local ,
|
||||
however, is to separate it out into
|
||||
.Nm /etc/rc.d
|
||||
style scripts and place them in
|
||||
.Nm /usr/local/etc/rc.d .
|
||||
.Nm rc.d/
|
||||
style scripts and place them under
|
||||
.Pa /usr/local/etc/rc.d/ .
|
||||
The
|
||||
.Nm rc.conf
|
||||
file contains the global system configuration information referenced
|
||||
@ -90,10 +88,10 @@ See
|
||||
for more information.
|
||||
.Pp
|
||||
The
|
||||
.Nm rc.d
|
||||
.Nm rc.d/
|
||||
directories contain scripts which will be automatically
|
||||
executed at boot time and shutdown time.
|
||||
.Ss Operation of rc
|
||||
.Ss Operation of Nm
|
||||
.Bl -enum
|
||||
.It
|
||||
Source
|
||||
@ -103,16 +101,16 @@ to load various
|
||||
shell functions to use.
|
||||
.It
|
||||
If autobooting, set
|
||||
.Sy autoboot=yes
|
||||
.Va autoboot Ns = Ns Li yes
|
||||
and enable a flag
|
||||
.Sy ( rc_fast=yes ) ,
|
||||
.Pq Va rc_fast Ns = Ns Li yes ,
|
||||
which prevents the
|
||||
.Nm rc.d
|
||||
.Nm rc.d/
|
||||
scripts from performing the check for already running processes
|
||||
(thus speeding up the boot process).
|
||||
This
|
||||
.Sy rc_fast=yes
|
||||
speedup won't occur when
|
||||
.Va rc_fast Ns = Ns Li yes
|
||||
speedup will not occur when
|
||||
.Nm
|
||||
is started up after exiting the single-user shell.
|
||||
.It
|
||||
@ -121,25 +119,27 @@ Invoke
|
||||
to order the files in
|
||||
.Pa /etc/rc.d/
|
||||
that do not have a
|
||||
.Dq nostart
|
||||
.Dq Li nostart
|
||||
keyword (refer to
|
||||
.Xr rcorder 8 's
|
||||
.Xr rcorder 8 Ns 's
|
||||
.Fl s
|
||||
flag),
|
||||
and assigns the result to a variable.
|
||||
and assign the result to a variable.
|
||||
.It
|
||||
Calls each script in turn using run_rc_script() (from
|
||||
Call each script in turn using
|
||||
.Fn run_rc_script
|
||||
(from
|
||||
.Xr rc.subr 8 ) ,
|
||||
which sets
|
||||
.Dv $1
|
||||
.Va $1
|
||||
to
|
||||
.Sq start ,
|
||||
.Dq Li start ,
|
||||
and sources the script in a subshell.
|
||||
If the script has a
|
||||
.Sq .sh
|
||||
.Pa .sh
|
||||
suffix then it is sourced directly into the current shell.
|
||||
.El
|
||||
.Ss Operation of rc.shutdown
|
||||
.Ss Operation of Nm rc.shutdown
|
||||
.Bl -enum
|
||||
.It
|
||||
Source
|
||||
@ -153,53 +153,51 @@ Invoke
|
||||
to order the files in
|
||||
.Pa /etc/rc.d/
|
||||
that have a
|
||||
.Dq shutdown
|
||||
.Dq Li shutdown
|
||||
keyword (refer to
|
||||
.Xr rcorder 8 's
|
||||
.Xr rcorder 8 Ns 's
|
||||
.Fl k
|
||||
flag),
|
||||
reverses that order, and assigns the result to a variable.
|
||||
reverse that order, and assign the result to a variable.
|
||||
.It
|
||||
Calls each script in turn using run_rc_script() (from
|
||||
Call each script in turn using
|
||||
.Fn run_rc_script
|
||||
(from
|
||||
.Xr rc.subr 8 ) ,
|
||||
which sets
|
||||
.Dv $1
|
||||
.Va $1
|
||||
to
|
||||
.Sq stop ,
|
||||
.Dq Li stop ,
|
||||
and sources the script in a subshell.
|
||||
If the script has a
|
||||
.Sq .sh
|
||||
.Pa .sh
|
||||
suffix then it is sourced directly into the current shell.
|
||||
.El
|
||||
.Ss Contents of rc.d/
|
||||
.Ss Contents of Nm rc.d/
|
||||
.Nm rc.d/
|
||||
is located in
|
||||
.Pa /etc/rc.d .
|
||||
.Pa /etc/rc.d/ .
|
||||
The following file naming conventions are currently used in
|
||||
.Nm rc.d/ :
|
||||
.Bl -tag -width ALLUPPERCASExx -offset indent
|
||||
.Bl -tag -width ".Pa ALLUPPERCASE" -offset indent
|
||||
.It Pa ALLUPPERCASE
|
||||
Scripts that are
|
||||
.Sq placeholders
|
||||
.Dq placeholders
|
||||
to ensure that certain operations are performed before others.
|
||||
In order of startup, these are:
|
||||
.Bl -tag -width NETWORKINGxx
|
||||
.Bl -tag -width ".Pa NETWORKING"
|
||||
.It Pa NETWORKING
|
||||
Ensure basic network services are running, including general
|
||||
network configuration (
|
||||
.Pa network1,
|
||||
.Pa network2
|
||||
.Pa network3 ) .
|
||||
network configuration
|
||||
.Pq Pa network1 , network2 , network3 .
|
||||
.It Pa SERVERS
|
||||
Ensure basic services (such as
|
||||
.Pa NETWORKING ,
|
||||
.Pa ppp-user ,
|
||||
.Pa syslogd ,
|
||||
.Pa NETWORKING , ppp-user , syslogd ,
|
||||
and
|
||||
.Pa isdnd )
|
||||
exist for services that start early (such as
|
||||
.Pa named ) ,
|
||||
because they're required by
|
||||
because they are required by
|
||||
.Pa DAEMON
|
||||
below.
|
||||
.It Pa DAEMON
|
||||
@ -220,7 +218,7 @@ and
|
||||
.It Pa foo.sh
|
||||
Scripts that are to be sourced into the current shell rather than a subshell
|
||||
have a
|
||||
.Sq Pa .sh
|
||||
.Pa .sh
|
||||
suffix.
|
||||
Extreme care must be taken in using this, as the startup sequence will
|
||||
terminate if the script does.
|
||||
@ -228,11 +226,11 @@ terminate if the script does.
|
||||
Scripts that are sourced in a subshell.
|
||||
These can stop the boot if necessary with the following shell
|
||||
commands:
|
||||
.Bd -literal -offset
|
||||
if [ "$autoboot" = yes ]; then
|
||||
kill -TERM $$
|
||||
fi
|
||||
exit 1
|
||||
.Bd -literal -offset indent
|
||||
if [ "$autoboot" = yes ]; then
|
||||
kill -TERM $$
|
||||
fi
|
||||
exit 1
|
||||
.Ed
|
||||
.Pp
|
||||
Note that this should be used extremely sparingly!
|
||||
@ -241,19 +239,22 @@ Note that this should be used extremely sparingly!
|
||||
Each script should contain
|
||||
.Xr rcorder 8
|
||||
keywords, especially an appropriate
|
||||
.Dq PROVIDE
|
||||
.Dq Li PROVIDE
|
||||
entry, and if necessary
|
||||
.Dq REQUIRE
|
||||
.Dq Li REQUIRE
|
||||
and
|
||||
.Dq BEFORE
|
||||
keywords. In addition, all scripts must have a
|
||||
.Dq # KEYWORD: FreeBSD
|
||||
.Dq Li BEFORE
|
||||
keywords.
|
||||
In addition, all scripts must have a
|
||||
.Dq Li "# KEYWORD: FreeBSD"
|
||||
line.
|
||||
.Pp
|
||||
Each script is expected to support at least the following arguments, which
|
||||
are automatically supported if it uses the run_rc_command() function.
|
||||
.Bl -tag -width restart -offset indent
|
||||
.It Sy start
|
||||
are automatically supported if it uses the
|
||||
.Fn run_rc_command
|
||||
function:
|
||||
.Bl -tag -width ".Cm restart" -offset indent
|
||||
.It Cm start
|
||||
Start the service.
|
||||
This should check that the service is to be started as specified by
|
||||
.Xr rc.conf 5 .
|
||||
@ -264,35 +265,35 @@ This latter check is not performed by standard
|
||||
scripts if the system is starting directly to multi-user mode, to
|
||||
speed up the boot process.
|
||||
If
|
||||
.Sq forcestart
|
||||
.Cm forcestart
|
||||
is given, ignore the
|
||||
.Xr rc.conf 5
|
||||
check and start anyway.
|
||||
.It Sy stop
|
||||
.It Cm stop
|
||||
If the service is to be started as specified by
|
||||
.Xr rc.conf 5 ,
|
||||
stop the service.
|
||||
This should check that the service is running and complain if it's not.
|
||||
This should check that the service is running and complain if it is not.
|
||||
If
|
||||
.Sq forcestop
|
||||
.Cm forcestop
|
||||
is given, ignore the
|
||||
.Xr rc.conf 5
|
||||
check and attempt to stop.
|
||||
.It Sy restart
|
||||
.It Cm restart
|
||||
Perform a
|
||||
.Sy stop
|
||||
.Cm stop
|
||||
then a
|
||||
.Sy start .
|
||||
.It Sy status
|
||||
.Cm start .
|
||||
.It Cm status
|
||||
If the script starts a process (rather than performing a one-off
|
||||
operation), show the status of the process.
|
||||
Otherwise it's not necessary to support this argument.
|
||||
Otherwise it is not necessary to support this argument.
|
||||
Defaults to displaying the process ID of the program (if running).
|
||||
.It Sy poll
|
||||
.It Cm poll
|
||||
If the script starts a process (rather than performing a one-off
|
||||
operation), wait for the command to exit.
|
||||
Otherwise it's not necessary to support this argument.
|
||||
.It Sy rcvar
|
||||
Otherwise it is not necessary to support this argument.
|
||||
.It Cm rcvar
|
||||
Display which
|
||||
.Xr rc.conf 5
|
||||
variables are used to control the startup of the service (if any).
|
||||
@ -300,16 +301,16 @@ variables are used to control the startup of the service (if any).
|
||||
.Pp
|
||||
If a script must implement additional commands it can list them in
|
||||
the
|
||||
.Sq extra_commands
|
||||
variable and define their actions in a variable constructed from
|
||||
.Va extra_commands
|
||||
variable, and define their actions in a variable constructed from
|
||||
the command name (see the
|
||||
.Sx EXAMPLES
|
||||
section).
|
||||
.Pp
|
||||
The following key points apply to old-style scripts in
|
||||
.Nm /usr/local/etc/rc.d :
|
||||
.Pa /usr/local/etc/rc.d/ :
|
||||
.Pp
|
||||
.Bl -bullet -compact
|
||||
.Bl -bullet
|
||||
.It
|
||||
Scripts are only executed if their
|
||||
.Xr basename 1
|
||||
@ -320,16 +321,16 @@ Any other files or directories present within the directory are silently
|
||||
ignored.
|
||||
.It
|
||||
When a script is executed at boot time, it is passed the string
|
||||
.Dq start
|
||||
.Dq Li start
|
||||
as its first and only argument.
|
||||
At shutdown time, it is passed the string
|
||||
.Dq stop
|
||||
.Dq Li stop
|
||||
as its first and only argument.
|
||||
All
|
||||
.Nm rc.d
|
||||
.Nm rc.d/
|
||||
scripts are expected to handle these arguments appropriately.
|
||||
If no action needs to be taken at a given time
|
||||
(either boot time or shutdown time)
|
||||
(either boot time or shutdown time),
|
||||
the script should exit successfully and without producing an error message.
|
||||
.It
|
||||
The scripts within each directory are executed in lexicographical order.
|
||||
@ -348,13 +349,13 @@ a trailing newline character (see the
|
||||
.Sx EXAMPLES
|
||||
section).
|
||||
.El
|
||||
.Sh Scripts of Interest
|
||||
.Sh SCRIPTS OF INTEREST
|
||||
When an automatic reboot is in progress,
|
||||
.Nm
|
||||
is invoked with the argument
|
||||
.Em autoboot .
|
||||
.Cm autoboot .
|
||||
One of the scripts run from
|
||||
.Nm /etc/rc.d
|
||||
.Pa /etc/rc.d/
|
||||
is
|
||||
.Pa /etc/rc.d/fsck .
|
||||
This script runs
|
||||
@ -363,61 +364,70 @@ with option
|
||||
.Fl p
|
||||
and
|
||||
.Fl F
|
||||
to ``preen'' all the disks of minor inconsistencies resulting
|
||||
from the last system shutdown. If this fails, then checks/repairs of serious inconsistencies
|
||||
caused by hardware or software failure will be performed in the background at the end
|
||||
of the booting process. If
|
||||
.Em autoboot
|
||||
is not set, when going from single-user to multi-user mode for example, the script
|
||||
does not do anything.
|
||||
to
|
||||
.Dq preen
|
||||
all the disks of minor inconsistencies resulting
|
||||
from the last system shutdown.
|
||||
If this fails, then checks/repairs of serious inconsistencies
|
||||
caused by hardware or software failure will be performed
|
||||
in the background at the end of the booting process.
|
||||
If
|
||||
.Cm autoboot
|
||||
is not set, when going from single-user to multi-user mode for example,
|
||||
the script does not do anything.
|
||||
.Pp
|
||||
The
|
||||
.Nm rc.early
|
||||
script is run very early in the startup process, immediately before the
|
||||
filesystem check. The
|
||||
filesystem check.
|
||||
The
|
||||
.Nm rc.early
|
||||
script is deprecated. Any commands in this
|
||||
script is deprecated.
|
||||
Any commands in this
|
||||
file should be separated out into
|
||||
.Nm rc.d
|
||||
.Nm rc.d/
|
||||
style scripts and integrated into the
|
||||
.Nm rc
|
||||
.Nm
|
||||
system.
|
||||
.Pp
|
||||
The
|
||||
.Nm /etc/rc.d/local
|
||||
.Pa /etc/rc.d/local
|
||||
script can execute scripts from multiple
|
||||
.Nm rc.d
|
||||
.Nm rc.d/
|
||||
directories.
|
||||
The default locations are
|
||||
.Pa /usr/local/etc/rc.d
|
||||
.Pa /usr/local/etc/rc.d/
|
||||
and
|
||||
.Pa /usr/X11R6/etc/rc.d ,
|
||||
.Pa /usr/X11R6/etc/rc.d/ ,
|
||||
but these may be overridden with the
|
||||
.Va local_startup
|
||||
.Xr rc.conf 5
|
||||
variable.
|
||||
.Pp
|
||||
The
|
||||
.Nm /etc/rc.d/serial
|
||||
.Pa /etc/rc.d/serial
|
||||
script is used to set any special configurations for serial devices.
|
||||
.Pp
|
||||
The
|
||||
.Nm /etc/rc.d/pccard
|
||||
.Pa /etc/rc.d/pccard
|
||||
script is used to enable PC-cards.
|
||||
.Pp
|
||||
The
|
||||
.Nm /etc/rc.d/network*
|
||||
.Pa /etc/rc.d/network*
|
||||
scripts are used to start the network.
|
||||
The network is started in three passes.
|
||||
The network is started in several passes.
|
||||
The first pass,
|
||||
.Nm /etc/rc.d/network1 ,
|
||||
.Pa /etc/rc.d/network1 ,
|
||||
sets the hostname and domainname and configures the network
|
||||
interfaces. The
|
||||
.Nm /etc/rc.d/network2
|
||||
script starts routing and sets routing options. The
|
||||
.Nm /etc/rc.d/network3
|
||||
script sets additional networking options. Lastly, the
|
||||
.Nm /etc/rc.d/network_ipv6
|
||||
interfaces.
|
||||
The
|
||||
.Pa /etc/rc.d/network2
|
||||
script starts routing and sets routing options.
|
||||
The
|
||||
.Pa /etc/rc.d/network3
|
||||
script sets additional networking options.
|
||||
Finally, the
|
||||
.Pa /etc/rc.d/network_ipv6
|
||||
script configures IPv6 interfaces and options.
|
||||
.Pp
|
||||
The
|
||||
@ -426,23 +436,25 @@ script is used to configure rules for the kernel based firewall
|
||||
service.
|
||||
It has several possible options:
|
||||
.Pp
|
||||
.Bl -tag -width "fBfilename" -compact -offset indent
|
||||
.It open
|
||||
will allow anyone in.
|
||||
.It client
|
||||
will try to protect just this machine.
|
||||
.It simple
|
||||
will try to protect a whole network.
|
||||
.It closed
|
||||
totally disables IP services except via lo0 interface.
|
||||
.It UNKNOWN
|
||||
disables the loading of firewall rules.
|
||||
.It filename
|
||||
.Bl -tag -width ".Ar filename" -compact -offset indent
|
||||
.It Cm open
|
||||
will allow anyone in
|
||||
.It Cm client
|
||||
will try to protect just this machine
|
||||
.It Cm simple
|
||||
will try to protect a whole network
|
||||
.It Cm closed
|
||||
totally disables IP services except via
|
||||
.Pa lo0
|
||||
interface
|
||||
.It Cm UNKNOWN
|
||||
disables the loading of firewall rules
|
||||
.It Ar filename
|
||||
will load the rules in the given filename (full path required).
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.Nm /etc/rc.d/atm*
|
||||
.Pa /etc/rc.d/atm*
|
||||
scripts are used to configure ATM network interfaces.
|
||||
The interfaces are configured in three passes.
|
||||
The first pass performs the initial interface configuration.
|
||||
@ -451,7 +463,7 @@ permanent ATMARP entries.
|
||||
The third pass starts any ATM daemons.
|
||||
.Pp
|
||||
Most daemons, including network related daemons, have their own script in
|
||||
.Nm /etc/rc.d ,
|
||||
.Pa /etc/rc.d/ ,
|
||||
which can be used to start, stop, and check the status of the service.
|
||||
.Pp
|
||||
Any architecture specific scripts, such as
|
||||
@ -463,8 +475,9 @@ Following tradition, all startup files reside in
|
||||
.Pa /etc .
|
||||
.Sh EXAMPLES
|
||||
The following is a minimal
|
||||
.Nm /etc/rc.d
|
||||
style script. Most scripts require little more than the following.
|
||||
.Nm rc.d/
|
||||
style script.
|
||||
Most scripts require little more than the following.
|
||||
.Bd -literal -offset indent
|
||||
#!/bin/sh
|
||||
#
|
||||
@ -474,7 +487,7 @@ style script. Most scripts require little more than the following.
|
||||
# BEFORE: baz_service_requiring_foo_to_precede_it
|
||||
# KEYWORD: FreeBSD
|
||||
|
||||
. /etc/rc.subr
|
||||
\&. /etc/rc.subr
|
||||
|
||||
name="foo"
|
||||
rcvar=`set_rcvar`
|
||||
@ -484,9 +497,9 @@ load_rc_config $name
|
||||
run_rc_command "$1"
|
||||
.Ed
|
||||
.Pp
|
||||
Certain scripts may want to provide enhanced functionality. The
|
||||
user may access this functionality through additional commands. The
|
||||
script may list and define as many commands at it needs.
|
||||
Certain scripts may want to provide enhanced functionality.
|
||||
The user may access this functionality through additional commands.
|
||||
The script may list and define as many commands at it needs.
|
||||
.Bd -literal -offset indent
|
||||
#!/bin/sh
|
||||
#
|
||||
@ -496,7 +509,7 @@ script may list and define as many commands at it needs.
|
||||
# BEFORE: baz_service_requiring_foo_to_precede_it
|
||||
# KEYWORD: FreeBSD
|
||||
|
||||
. /etc/rc.subr
|
||||
\&. /etc/rc.subr
|
||||
|
||||
name="foo"
|
||||
rcvar=`set_rcvar`
|
||||
@ -515,7 +528,7 @@ run_rc_command "$1"
|
||||
.Ed
|
||||
.Pp
|
||||
The following is a simple, hypothetical example of an old-style
|
||||
.Nm /usr/local/etc/rc.d
|
||||
.Pa /usr/local/etc/rc.d/
|
||||
script,
|
||||
which would start a daemon at boot time,
|
||||
and kill it at shutdown time.
|
||||
@ -542,6 +555,17 @@ As all processes are killed by
|
||||
at shutdown, the explicit
|
||||
.Xr kill 1
|
||||
is unnecessary, but is often included.
|
||||
.Sh FILES
|
||||
.Bl -tag -compact
|
||||
.It Pa /etc/rc
|
||||
.It Pa /etc/rc.conf
|
||||
.It Pa /etc/rc.conf.local
|
||||
.It Pa /etc/rc.d/
|
||||
.It Pa /etc/rc.firewall
|
||||
.It Pa /etc/rc.local
|
||||
.It Pa /etc/rc.shutdown
|
||||
.It Pa /etc/rc.subr
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr kill 1 ,
|
||||
.Xr rc.conf 5 ,
|
||||
|
@ -241,9 +241,11 @@ if (${sendmail_enable} != NONE &&
|
||||
endif
|
||||
.Ed
|
||||
.Pp
|
||||
To completely prevent any sendmail daemons from starting you must
|
||||
To completely prevent any
|
||||
.Xr sendmail 8
|
||||
daemons from starting, you must
|
||||
set the following variables in
|
||||
/etc/rc.conf:
|
||||
.Pa /etc/rc.conf :
|
||||
.Bd -literal -offset indent
|
||||
sendmail_enable="NO"
|
||||
sendmail_submit_enable="NO"
|
||||
|
@ -64,7 +64,9 @@ The file should not be locked on entry.
|
||||
.Sh RETURN VALUES
|
||||
If successful, zero is returned, otherwise an appropriate error code.
|
||||
.Pp
|
||||
If the ioctl is not recognized or not handled, ENOTTY should be returned.
|
||||
If the ioctl is not recognized or not handled,
|
||||
.Er ENOTTY
|
||||
should be returned.
|
||||
.Sh PSEUDOCODE
|
||||
.Bd -literal
|
||||
int
|
||||
|
@ -52,13 +52,17 @@ the vnode of the file to be linked
|
||||
pathname information about the file
|
||||
.El
|
||||
.Pp
|
||||
The pathname info should NOT be released on exit because it is done
|
||||
The pathname info should
|
||||
.Em not
|
||||
be released on exit because it is done
|
||||
by the caller.
|
||||
The directory and file vnodes should NOT be released on exit.
|
||||
The directory and file vnodes should
|
||||
.Em not
|
||||
be released on exit.
|
||||
.Sh LOCKS
|
||||
.Xr VOP_LINK 9
|
||||
expects the directory and file vnodes to be locked on entry and will leave
|
||||
the vnodes locked on return.
|
||||
the vnodes locked on return.
|
||||
.Sh RETURN VALUES
|
||||
Zero is returned if the file was linked successfully, otherwise an
|
||||
error is returned.
|
||||
@ -97,12 +101,8 @@ vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp)
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EMLINK
|
||||
The file has too many links.
|
||||
.El
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EPERM
|
||||
The file is immutable.
|
||||
.El
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EXDEV
|
||||
A hard link is not possible between different file systems.
|
||||
.El
|
||||
|
@ -298,10 +298,10 @@ The file is immutable.
|
||||
It is not possible to rename a file between different file systems.
|
||||
.It Bq Er EINVAL
|
||||
An attempt was made to rename
|
||||
.Ql .\&
|
||||
.Pa \&.
|
||||
or
|
||||
.Ql \&.. ,
|
||||
or a perform an operation which would break the directory tree structure.
|
||||
.Pa .. ,
|
||||
or to perform an operation which would break the directory tree structure.
|
||||
.It Bq Er ENOTDIR
|
||||
An attempt was made to rename a directory to a file or vice versa.
|
||||
.It Bq Er ENOTEMPTY
|
||||
|
@ -444,7 +444,7 @@ This interface is in promiscuous mode.
|
||||
.It Dv IFF_PPROMISC
|
||||
.Aq D
|
||||
This interface is in the permanently promiscuous mode (implies
|
||||
IFF_PROMISC).
|
||||
.Dv IFF_PROMISC ) .
|
||||
.It Dv IFF_ALLMULTI
|
||||
.Aq D*
|
||||
This interface is in all-multicasts mode (used by multicast routers).
|
||||
|
@ -30,6 +30,7 @@
|
||||
.Os
|
||||
.Dt RANDOM 9
|
||||
.Sh NAME
|
||||
.Nm arc4rand ,
|
||||
.Nm arc4random ,
|
||||
.Nm random ,
|
||||
.Nm read_random ,
|
||||
@ -58,11 +59,11 @@ by calling
|
||||
with
|
||||
.Ql 1
|
||||
as the
|
||||
.Ar seed .
|
||||
.Fa seed .
|
||||
The
|
||||
.Fn srandom
|
||||
function may be called with any arbitrary
|
||||
.Ar seed
|
||||
.Fa seed
|
||||
value to get slightly more unpredictable numbers.
|
||||
It is important to remember that the
|
||||
.Fn random
|
||||
@ -79,7 +80,7 @@ are seeded from the entropy device if it is available.
|
||||
Automatic reseeds happen after a certain timeinterval and after a
|
||||
certain number of bytes have been delivered.
|
||||
A forced reseed can be forced by passing a non-zero value in the
|
||||
.Ar reseed
|
||||
.Fa reseed
|
||||
argument.
|
||||
.Pp
|
||||
The
|
||||
@ -87,17 +88,17 @@ The
|
||||
function is used to return entropy directly from the entropy device
|
||||
if it has been loaded. If the entropy device is not loaded, then
|
||||
the
|
||||
.Ar buffer
|
||||
.Fa buffer
|
||||
is filled with output generated by
|
||||
.Fn random .
|
||||
The
|
||||
.Ar buffer
|
||||
.Fa buffer
|
||||
is filled with no more than
|
||||
.Ar count
|
||||
.Fa count
|
||||
bytes. It is advised that
|
||||
.Fn read_random
|
||||
is not used; instead use
|
||||
.Fn arc4rand
|
||||
.Fn arc4rand
|
||||
.Pp
|
||||
All the bits generated by
|
||||
.Fn random ,
|
||||
@ -133,7 +134,7 @@ bytes.
|
||||
The
|
||||
.Fn arc4random
|
||||
function
|
||||
uses
|
||||
uses
|
||||
.Fn arc4rand
|
||||
to generate pseudo-random numbers in the range from 0 to
|
||||
.if t 2\u\s732\s10\d\(mi1.
|
||||
@ -142,7 +143,7 @@ to generate pseudo-random numbers in the range from 0 to
|
||||
The
|
||||
.Fn read_random
|
||||
function returns the number of bytes placed in
|
||||
.Ar buffer .
|
||||
.Fa buffer .
|
||||
.Sh AUTHORS
|
||||
.An Dan Moschuk
|
||||
wrote
|
||||
|
@ -195,7 +195,9 @@ greater than 20 lines, or where a series of nested
|
||||
.Ic #ifdef 's
|
||||
may be confusing to the reader.
|
||||
Exceptions may be made for cases where code is conditionally not compiled for
|
||||
the purposes of lint, even though the uncompiled region may be small.
|
||||
the purposes of
|
||||
.Xr lint 1 ,
|
||||
even though the uncompiled region may be small.
|
||||
The comment should be separated from the
|
||||
.Ic #endif
|
||||
or
|
||||
@ -252,8 +254,11 @@ enum enumtype { ONE, TWO } et;
|
||||
.Pp
|
||||
In declarations, do not put any whitespace between asterisks and
|
||||
adjacent tokens, except for tokens that are identifiers related to
|
||||
types. (These identifiers are the names of basic types, type
|
||||
qualifiers, and typedef-names other than the one being declared.)
|
||||
types.
|
||||
(These identifiers are the names of basic types, type
|
||||
qualifiers, and
|
||||
.Ic typedef Ns -names
|
||||
other than the one being declared.)
|
||||
Separate these identifers from asterisks using a single space.
|
||||
.Pp
|
||||
When declaring variables in structures, declare them sorted by use, then
|
||||
|
@ -136,7 +136,7 @@ when scheduling a software interrupt handler can be used to implement the
|
||||
functionality performed by
|
||||
.Fn setdelayed
|
||||
in earlier versions of
|
||||
.Fx .
|
||||
.Fx .
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
|
@ -101,9 +101,11 @@ the uma subsystem at the time of the call to
|
||||
.Fn uma_zalloc
|
||||
and
|
||||
.Fn uma_zfree
|
||||
respectively. Their purpose is to provide hooks for initializing or
|
||||
respectively.
|
||||
Their purpose is to provide hooks for initializing or
|
||||
destroying things that need to be done at the time of the allocation
|
||||
or release of a resource. A good useage for the
|
||||
or release of a resource.
|
||||
A good useage for the
|
||||
.Fa ctor
|
||||
and
|
||||
.Fa dtor
|
||||
@ -115,13 +117,20 @@ The
|
||||
and
|
||||
.Fa fini
|
||||
arguments are used to optimize the allocation of
|
||||
objects from the zone. They are called by the uma subsystem whenever
|
||||
objects from the zone.
|
||||
They are called by the uma subsystem whenever
|
||||
it needs to allocate or free several items to satisfy requests or memory
|
||||
pressure. A good use for the uminit and fini callbacks might be to
|
||||
initialize and destroy mutexes contained within the object. This would
|
||||
pressure.
|
||||
A good use for the
|
||||
.Fa uminit
|
||||
and
|
||||
.Fa fini
|
||||
callbacks might be to
|
||||
initialize and destroy mutexes contained within the object.
|
||||
This would
|
||||
allow one to re-use already initialized mutexes when an object is returned
|
||||
from the uma subsystem's object cache. They are not called on each call
|
||||
to
|
||||
from the uma subsystem's object cache.
|
||||
They are not called on each call to
|
||||
.Fn uma_zalloc
|
||||
and
|
||||
.Fn uma_zfree
|
||||
|
Loading…
Reference in New Issue
Block a user