HOSTNAME.IF(5)            OpenBSD Programmer's Manual           HOSTNAME.IF(5)

NAME
     hostname.if - interface-specific configuration files

DESCRIPTION
     The hostname.* files contain information regarding the configuration of
     each network interface.  One file should exist for each interface that is
     to be configured, such as hostname.fxp0 or hostname.bridge0.  A configu-
     ration file is not needed for lo0.

     The configuration information is expressed in a line-by-line packed for-
     mat which makes the most common cases simpler; those dense formats are
     described below.  Any lines not matching these packed formats are passed
     directly to ifconfig(8).  The packed formats are converted using a some-
     what inflexible parser and the administrator should not expect magic --
     if in doubt study ifconfig(8) and the per-driver manual pages to see what
     arguments are permitted.

     Arguments containing either whitespace or single quote characters must be
     double quoted.  For example:

           inet 10.0.0.1 255.255.255.0 10.0.0.255 description "Bob's uplink"

STATIC ADDRESS CONFIGURATION
     The following packed formats are valid for configuring network interfaces
     with static addresses:

     Regular IPv4 network setup:

           inet [alias] addr netmask broadcast_addr options
           dest dest_addr

     Regular IPv6 network setup:

           inet6 [alias] addr prefixlen options
           dest dest_addr

     Other network setup:

           addr_family options

     A typical file contains only one line, but more extensive files are pos-
     sible, for example:

      inet 10.0.1.12 255.255.255.0 10.0.1.255 media 100baseTX description Uplink
      inet alias 10.0.1.13 255.255.255.255 10.0.1.13
      inet alias 10.0.1.14 255.255.255.255 NONE
      inet alias 10.0.1.15 255.255.255.255
      inet alias 10.0.1.16 0xffffffff
      # This is an example comment line.
      inet6 alias fec0::1 64
      inet6 alias fec0::2 64 anycast
      !route add 65.65.65.65 10.0.1.13
      up

     The above formats have the following field values:

           addr_family
                   The address family of the interface, generally ``inet'' or
                   ``inet6''.

           alias   The literal string ``alias'' if this is an additional net-
                   work address for the interface.

           addr    The optional address that belongs to the interface, such as
                   190.191.192.1 or fe80:2::1.  It is also feasible to use a
                   hostname as specified in /etc/hosts.  It is recommended
                   that an address be used instead of symbolic information,
                   since the latter might activate resolver(3) library rou-
                   tines.

                   If no address is specified, the netmask, broadcast_addr,
                   dest, and dest_addr options are invalid and will be ig-
                   nored.

           netmask
                   The optional network mask for the interface, e.g.,
                   255.255.255.0.  If addr is specified but netmask is not,
                   the classful mask based on addr is used.

           broadcast_addr
                   The optional broadcast address for the interface, e.g.,
                   190.191.192.255.  The word ``NONE'' can also be specified
                   in order to configure the broadcast address based on the
                   netmask.  The netmask option must be present in order to
                   use this option.

           options
                   Miscellaneous options to set on the interface, e.g.,
                   ``media 100baseTX mediaopt full-duplex''.  Valid options
                   for a particular interface type can be found in
                   ifconfig(8).  When used, the netmask and broadcast_addr op-
                   tions must also be present.

           dest    If the interface needs a destination address set, this is
                   the literal text ``dest''.  As shown in the example, this
                   declaration should start on a separate line.

           dest_addr
                   The destination address to be set on the interface, such as
                   190.191.192.2.  It is also feasible to use a hostname as
                   specified in /etc/hosts.  It is recommended that an address
                   be used instead of symbolic information which might acti-
                   vate resolver(3) library routines.

           prefixlen
                   The prefixlen number, or number of bits in the netmask, to
                   be set on the interface, such as 64.

           #       Comments are allowed.  Anything following a comment charac-
                   ter is treated as a comment.

           !command-line
                   Arbitrary shell commands can be executed using this direc-
                   tive.  Useful for doing interface-specific configuration
                   such as setting up custom routes using route(8) or estab-
                   lishing tunnels using ifconfig(8).  It is worth noting that
                   ``\$if'' in a command line will be replaced by the inter-
                   face name.

DYNAMIC ADDRESS CONFIGURATION
     The following packed formats are valid for configuring network interfaces
     with dynamic addresses:

     A DHCP-configured network interface setup consists of

           dhcp options

     The above format has the following field values:

           dhcp    The literal string ``dhcp'' if the interface is to be con-
                   figured using DHCP.  See dhclient(8) and dhclient.conf(5)
                   for more details.

           options
                   Miscellaneous options to set on the interface, e.g.,
                   ``media 100baseTX mediaopt full-duplex''.  Valid options
                   for a particular interface type can be found in
                   ifconfig(8).  The OpenBSD installation script will create
                   hostname.if with options of ``NONE NONE NONE'' when DHCP
                   configuration is chosen.  This is the same as specifying
                   just ``dhcp''.

     IPv6 stateless address autoconfiguration:

           rtsol options

     The above format has the following field values:

           rtsol   The literal string ``rtsol'' if the interface is to be con-
                   figured using IPv6 stateless address autoconfiguration.
                   This should be used on single interface hosts only, since
                   the IPv6 specifications are silent about the behavior on
                   multi-interface hosts.  Also note that the kernel must be
                   configured to accept IPv6 router advertisement, and config-
                   ured as a host (i.e. non-router).  Add the following lines
                   into sysctl.conf(5):

                         net.inet6.ip6.forwarding=0
                         net.inet6.ip6.accept_rtadv=1

           options
                   Miscellaneous options to set on the interface, e.g.,
                   ``media 100baseTX mediaopt full-duplex''.  Valid options
                   for a particular interface type can be found in
                   ifconfig(8).

BRIDGE INTERFACE CONFIGURATION
     If the network interface is a bridge, the options described in the bridge
     section of the ifconfig(8) manual page apply.

     For example:

           add fxp0
           add ep1
           -learn fxp0
           #
           !ipsecctl -F
           #
           static fxp0 8:0:20:1e:2f:2b
           up    # and finally enable it

SEE ALSO
     hosts(5), dhcp(8), ifconfig(8), lmccontrol(8), netstart(8), rc(8)

OpenBSD 4.7                    December 10, 2009                             3
