mdoc(7) police: scheduled sweep.

Approved by:	re
This commit is contained in:
Ruslan Ermilov 2002-11-29 11:39:20 +00:00
parent e60fa8374d
commit d962d52ac0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=107383
31 changed files with 527 additions and 387 deletions

View File

@ -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

View File

@ -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*

View File

@ -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.

View File

@ -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 ,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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,

View 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 ,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ,

View File

@ -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 ,

View File

@ -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/

View File

@ -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

View File

@ -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 ,

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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).

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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