NAME

ifconfig.if - interface-specific configuration files or variables

DESCRIPTION

The ifconfig.if files or variables contain information regarding the configuration of each network interface. ifconfig.if is processed by /etc/rc.d/network at system boot time.

For each interface (nnX) that is to be configured, there should be either an ifconfig_nnX variable in rc.conf(5), or an /etc/ifconfig.nnX file (such as the ifconfig_fxp0 variable or the /etc/ifconfig.fxp0 file for the fxp0 interface). The variable or file will get evaluated only if the interface exists on the system. Multiple lines can be placed in a variable or file, and will be evaluated sequentially. In the case of a variable, semicolons may be used instead of newlines, as described in rc.conf(5).

Normally, a line will be evaluated as command line arguments to ifconfig(8). ``ifconfig nnX'' will be prepended on evaluation. Arguments with embedded shell metacharacters should be quoted in sh(1) style.

If the line is equal to ``dhcp'', dhcpcd(8) will be started for the interface.

If a line is empty, or starts with `#', the line will be ignored as comment.

If a line starts with `!', the rest of line will get evaluated as shell script fragment. Shell variables declared in /etc/rc.d/network are accessible but may not be modified. The most useful variable is $int, as it will be bound to the interface being configured with the file.

For example, the following illustrates static interface configuration:

# IPv4, with an alias
inet 10.0.1.12 netmask 255.255.255.0 media 100baseTX
inet 10.0.1.13 netmask 255.255.255.255 alias
# let us have IPv6 address on this interface
inet6 2001:db8::1 prefixlen 64 alias
# have subnet router anycast address too
inet6 2001:db8:: prefixlen 64 alias anycast

The following illustrates dynamic configuration setup with dhclient(8) and rtsol(8):

up
# autoconfigure IPv4 address
!dhclient $int
# autoconfigure IPv6 address.  Be sure to set $ip6mode to autohost.
!rtsol $int

The following example sets a network name for a wireless interface (using quotes to protect special characters in the name), and starts dhcpcd(8):

ssid 'my network'
dhcp

The following example is for dynamically-created pseudo interfaces like gif(4). Earlier versions of /etc/rc.d/network required an explicit `create' command for such interfaces, but creation is now handled automatically.

up
# configure IPv6 default route toward the interface
!route add -inet6 default ::1
!route change -inet6 default -ifp $int

FILES

/etc/rc.d/network

SEE ALSO

rc.conf(5), ifconfig(8)