IFCONFIG(8)

NAME
ifconfig - configure network interface parameters

SYNOPSIS
ifconfig [-L] [-m] interface [create] [address_family] [ address [dest_address]] [parameters]
ifconfig interface destroy
ifconfig -a [-L] [-d] [-m] [-u] [address_family]
ifconfig -l [-d] [-u] [address_family]
ifconfig [-L] [-d] [-m] [-u] [-C]

DESCRIPTION
The ifconfig utility is used to assign an address to a network interface and/or configure network interface parameters. The ifconfig utility must be used at boot time to define the network address of each interface present on a machine; it may also be used at a later time to redefine an interface's address or other operating parameters.

The following options are available:

address
    For the DARPA-Internet family, the address is either a host name present in the host name data base, hosts(5), or a DARPA Internet address expressed in the Internet standard “dot notation”.

    It is also possible to use the CIDR notation (also known as the slash notation) to include the netmask. That is, one can specify an address like 192.168.0.1/16.

    For “inet6” family, it is also possible to specify the prefix length using the slash notation, like ::1/128. See the prefixlen parameter below for more information.

    The link-level (“link”) address is specified as a series of colon-separated hex digits. This can be used to e.g. set a new MAC address on an ethernet interface, though the mechanism used is not ethernet-specific. If the interface is already up when this option is used, it will be briefly brought down and then brought back up again in order to ensure that the receive filter in the underlying ethernet hardware is properly reprogrammed.

address_family
    Specify the address family which affects interpretation of the remaining parameters. Since an interface can receive transmissions in differing protocols with different naming schemes, specifying the address family is recommended. The address or protocol families currently supported are “inet”, “inet6”, “atalk”, “ipx”, and “link”. The default is “inet”. “ether” and “lladdr” are synonyms for “link”.

dest_address
    Specify the address of the correspondent on the other end of a point to point link.

interface
    This parameter is a string of the form “name unit”, for example, “ed0”.

The following parameters may be set with ifconfig:

add Another name for the alias parameter. Introduced for compatibility with BSD/OS.

alias
    Establish an additional network address for this interface. This is sometimes useful when changing network numbers, and one wishes to accept packets addressed to the old interface. If the address is on the same subnet as the first network address for this interface, a non-conflicting netmask must be given. Usually 0xffffffff is most appropriate.

-alias
    Remove the network address specified. This would be used if you incorrectly specified an alias, or it was no longer needed. If you have incorrectly set an NS address having the side effect of specifying the host portion, removing all NS addresses will allow you to respecify the host portion.

anycast
    (Inet6 only.) Specify that the address configured is an anycast address. Based on the current specification, only routers may configure anycast addresses. Anycast address will not be used as source address of any of outgoing IPv6 packets.

arp Enable the use of the Address Resolution Protocol (arp(4)) in mapping between network level addresses and link level addresses (default). This is currently implemented for mapping between DARPA Internet addresses and IEEE 802 48-bit MAC addresses (Ethernet, FDDI, and Token Ring addresses).

-arp
    Disable the use of the Address Resolution Protocol (arp(4)).

staticarp
    If the Address Resolution Protocol is enabled, the host will only reply to requests for its addresses, and will never send any requests.

-staticarp
    If the Address Resolution Protocol is enabled, the host will perform normally, sending out requests and listening for replies.

broadcast
    (Inet only.) Specify the address to use to represent broadcasts to the network. The default broadcast address is the address with a host part of all 1's.

debug
    Enable driver dependent debugging code; usually, this turns on extra console error logging.

-debug
    Disable driver dependent debugging code.

promisc
    Put interface into permanently promiscuous mode.

-promisc
    Disable permanently promiscuous mode.

delete
    Another name for the -alias parameter.

down
    Mark an interface “down”. When an interface is marked “down”, the system will not attempt to transmit messages through that interface. If possible, the interface will be reset to disable reception as well. This action does not automatically disable routes using the interface.

eui64
    (Inet6 only.) Fill interface index (lowermost 64bit of an IPv6 address) automatically.

ipdst
    This is used to specify an Internet host who is willing to receive IP packets encapsulating IPX packets bound for a remote network. An apparent point to point link is constructed, and the address specified will be taken as the IPX address and network of the destination.

maclabel label
    If Mandatory Access Control support is enabled in the kernel, set the MAC label to label.

media type
    If the driver supports the media selection system, set the media type of the interface to type. Some interfaces support the mutually exclusive use of one of several different physical media connectors. For example, a 10Mb/s Ethernet interface might support the use of either AUI or twisted pair connectors. Setting the media type to “10base5/AUI” would change the currently active connector to the AUI port. Setting it to “10baseT/UTP” would activate twisted pair. Refer to the interfaces' driver specific documentation or man page for a complete list of the available types.

mediaopt opts
    If the driver supports the media selection system, set the specified media options on the interface. The opts argument is a comma delimited list of options to apply to the interface. Refer to the interfaces' driver specific man page for a complete list of available options.

-mediaopt opts
    If the driver supports the media selection system, disable the specified media options on the interface.

mode mode
    If the driver supports the media selection system, set the specified operating mode on the interface to mode. For IEEE 802.11 wireless interfaces that support multiple operating modes this directive is used to select between 802.11a (“11a”), 802.11b (“11b”), and 802.11g (“11g”) operating modes.

name name
    Set the interface name to name.

rxcsum, txcsum
    If the driver supports user-configurable checksum offloading, enable receive (or transmit) checksum offloading on the interface. Some drivers may not be able to enable these flags independently of each other, so setting one may also set the other. The driver will offload as much checksum work as it can reliably support, the exact level of offloading varies between drivers.

-rxcsum, -txcsum
    If the driver supports user-configurable checksum offloading, disable receive (or transmit) checksum offloading on the interface. These settings may not always be independent of each other.

polling
    If the driver has user-configurable polling(4) support, select the polling mode on the interface.

-polling
    If the driver has user-configurable polling(4) support, select the interrupt mode on the interface.

tunnel src_addr dest_addr
    (IP tunnel devices only.) Configure the physical source and destination address for IP tunnel interfaces (gif(4)). The arguments src_addr and dest_addr are interpreted as the outer source/destination for the encapsulating IPv4/IPv6 header.

deletetunnel
    Unconfigure the physical source and destination address for IP tunnel interfaces previously configured with tunnel.

create
    Create the specified network pseudo-device. If the interface is given without a unit number, try to create a new device with an arbitrary unit number. If creation of an arbitrary device is successful, the new device name is printed to standard output unless the interface is renamed or destroyed in the same ifconfig invocation.

destroy
    Destroy the specified network pseudo-device.

plumb
    Another name for the create parameter. Included for Solaris compatibility.

unplumb
    Another name for the destroy parameter. Included for Solaris compatibility.

vlan vlan_tag
    If the interface is a vlan(4) pseudo interface, set the VLAN tag value to vlan_tag. This value is a 16-bit number which is used to create an 802.1Q VLAN header for packets sent from the vlan(4) interface. Note that vlan and vlandev must both be set at the same time.

vlandev iface
    If the interface is a vlan(4) pseudo device, associate physical interface iface with it. Packets transmitted through the vlan(4) interface will be diverted to the specified physical interface iface with 802.1Q VLAN encapsulation. Packets with 802.1Q encapsulation received by the parent interface with the correct VLAN tag will be diverted to the associated vlan(4) pseudo-interface. The vlan(4) interface is assigned a copy of the parent interface's flags and the parent's ethernet address. The vlandev and vlan must both be set at the same time. If the vlan(4) interface already has a physical interface associated with it, this command will fail. To change the association to another physical interface, the existing association must be cleared first.

    Note: if the hardware tagging capability is set on the parent interface, the vlan(4) pseudo interface's behavior changes: the vlan(4) interface recognizes that the parent interface supports insertion and extraction of VLAN tags on its own (usually in firmware) and that it should pass packets to and from the parent unaltered.

-vlandev iface
    If the driver is a vlan(4) pseudo device, disassociate the physical interface iface from it. This breaks the link between the vlan(4) interface and its parent, clears its VLAN tag, flags and its link address and shuts the interface down.

vlanmtu, vlanhwtag
    If the driver offers user-configurable VLAN support, enable reception of extended frames or tag processing in hardware, respectively. Note that this must be issued on a physical interface associated with vlan(4), not on a vlan(4) interface itself.

-vlanmtu, -vlanhwtag
    If the driver offers user-configurable VLAN support, disable reception of extended frames or tag processing in hardware, respectively.

metric n
    Set the routing metric of the interface to n, default 0. The routing metric is used by the routing protocol (routed(8)). Higher metrics have the effect of making a route less favorable; metrics are counted as addition hops to the destination network or host.

mtu n
    Set the maximum transmission unit of the interface to n, default is interface specific. The MTU is used to limit the size of packets that are transmitted on an interface. Not all interfaces support setting the MTU, and some interfaces have range restrictions.

netmask mask
    (Inet only.) Specify how much of the address to reserve for subdividing networks into sub-networks. The mask includes the network part of the local address and the subnet part, which is taken from the host field of the address. The mask can be specified as a single hexadecimal number with a leading ‘0x’, with a dot-notation Internet address, or with a pseudo-network name listed in the network table networks(5). The mask contains 1's for the bit positions in the 32-bit address which are to be used for the network and subnet parts, and 0's for the host part. The mask should contain at least the standard network portion, and the subnet field should be contiguous with the network portion.

    The netmask can also be specified in CIDR notation after the address. See the address option above for more information.

prefixlen len
    (Inet6 only.) Specify that len bits are reserved for subdividing networks into sub-networks. The len must be integer, and for syntactical reason it must be between 0 to 128. It is almost always 64 under the current IPv6 assignment rule. If the parameter is omitted, 64 is used.

    The prefix can also be specified using the slash notation after the address. See the address option above for more information.

range netrange
    Under appletalk, set the interface to respond to a netrange of the form startnet-endnet. Appletalk uses this scheme instead of netmasks though FreeBSD implements it internally as a set of netmasks.

remove
    Another name for the -alias parameter. Introduced for compatibility with BSD/OS.

phase
    The argument following this specifies the version (phase) of the Appletalk network attached to the interface. Values of 1 or 2 are permitted.

link[0-2]
    Enable special processing of the link level of the interface. These three options are interface specific in actual effect, however, they are in general used to select special modes of operation. An example of this is to enable SLIP compression, or to select the connector type for some Ethernet cards. Refer to the man page for the specific driver for more information.

-link[0-2]
    Disable special processing at the link level with the specified interface.

monitor
    Put the interface in monitor mode. No packets are transmitted, and received packets are discarded after bpf(4) processing.

-monitor
    Take the interface out of monitor mode.

up  Mark an interface “up”. This may be used to enable an interface after an “ifconfig down”. It happens automatically when setting the first address on an interface. If the interface was reset when previously marked down, the hardware will be re-initialized.

ssid ssid
    For IEEE 802.11 wireless interfaces, set the desired Service Set Identifier (aka network name). The SSID is a string up to 32 characters in length and may be specified as either a normal string or in hexadecimal when proceeded by ‘0x’. Additionally, the SSID may be cleared by setting it to ‘-’.

nwid ssid
    Another name for the ssid parameter. Included for NetBSD compatibility.

stationname name
    For IEEE 802.11 wireless interfaces, set the name of this station. It appears that the station name is not really part of the IEEE 802.11 protocol though all interfaces seem to support it. As such it only seems to be meaningful to identical or virtually identical equipment. Setting the station name is identical in syntax to setting the SSID.

station name
    Another name for the stationname parameter. Included for BSD/OS compatibility.

channel number
    For IEEE 802.11 wireless interfaces, set the desired channel. Channels range from 1 to 14, but the exact selection available depends on the region your adaptor was manufactured for. Setting the channel to 0 will give you the default for your adaptor. Many adaptors ignore this setting unless you are in ad-hoc mode.

authmode mode
    For IEEE 802.11 wireless interfaces, set the desired authentication mode in infrastructure mode. Not all adaptors support all modes. The set of valid modes is “none”, “open”, and “shared”. Modes are case insensitive.

powersave
    For IEEE 802.11 wireless interfaces, enable powersave mode.

-powersave
    For IEEE 802.11 wireless interfaces, disable powersave mode.

powersavesleep sleep
    For IEEE 802.11 wireless interfaces, set the desired max powersave sleep time in milliseconds.

protmode technique
    For IEEE 802.11 wireless interfaces operating in 11g, use the specified technique for protecting OFDM frames in a mixed 11b/11g network. The set of valid techniques is “off”, “cts” (CTS to self), and “rtscts” (RTS/CTS). Technique names are case insensitive.

rtsthreshold length
    For IEEE 802.11 wireless interfaces, set the threshold for which transmitted frames are preceded by transmission of an RTS control frame. The length argument is the frame size in bytes and must be in the range 1 to 2312. Not all adaptors support setting the RTS threshold.

txpower power
    For IEEE 802.11 wireless interfaces, set the power used to transmit frames. The power argument is a unitless value in the range 0 to 100 that is interpreted by drivers to derive a device-specific value. Out of range values are truncated. Typically only a few discreet power settings are available and the driver will use the setting closest to the specified value. Not all adaptors support changing the transmit power.

wepmode mode
    For IEEE 802.11 wireless interfaces, set the desired WEP mode. Not all adaptors support all modes. The set of valid modes is “off”, “on”, and “mixed”. The “mixed” mode explicitly tells the adaptor to allow association with access points which allow both encrypted and unencrypted traffic. On these adaptors, “on” means that the access point must only allow encrypted connections. On other adaptors, “on” is generally another name for “mixed”. Modes are case insensitive.

weptxkey index
    For IEEE 802.11 wireless interfaces, set the WEP key to be used for transmission.

wepkey key|index:key
    For IEEE 802.11 wireless interfaces, set the selected WEP key. If an index is not given, key 1 is set. A WEP key will be either 5 or 13 characters (40 or 104 bits) depending of the local network and the capabilities of the adaptor. It may be specified either as a plain string or as a string of hexadecimal digits proceeded by ‘0x’. For maximum portability, hex keys are recommended; the mapping of text keys to WEP encryption is usually driver-specific. In particular, the Windows drivers do this mapping differently to FreeBSD. A key may be cleared by setting it to ‘-’. If WEP is supported then there are at least four keys. Some adaptors support more than four keys. If that is the case, then the first four keys (1-4) will be the standard temporary keys and any others will be adaptor specific keys such as permanent keys stored in NVRAM.

wep Another way of saying wepmode on. Included for BSD/OS compatibility.

-wep
    Another way of saying wepmode off. Included for BSD/OS compatibility.

nwkey key
    Another way of saying:

    “wepmode on weptxkey 1 wepkey 1:key wepkey 2:- wepkey 3:- wepkey 4:-”.

    Included for NetBSD compatibility.

nwkey
    n:k1,k2,k3,k4 Another way of saying

    “wepmode on weptxkey n wepkey 1:k1 wepkey 2:k2 wepkey 3:k3 wepkey 4:k4”.

    Included for NetBSD compatibility.

-nwkey
    Another way of saying wepmode off.

    Included for NetBSD compatibility.

The ifconfig utility displays the current configuration for a network interface when no optional parameters are supplied. If a protocol family is specified, ifconfig will report only the details specific to that protocol family.

If the driver does supports the media selection system, the supported media list will be included in the output.

If the -m flag is passed before an interface name, ifconfig will display the capability list and all of the supported media for the specified interface. If -L flag is supplied, address lifetime is displayed for IPv6 addresses, as time offset string.

Optionally, the -a flag may be used instead of an interface name. This flag instructs ifconfig to display information about all interfaces in the system. The -d flag limits this to interfaces that are down, and -u limits this to interfaces that are up. When no arguments are given, -a is implied.

The -l flag may be used to list all available interfaces on the system, with no other additional information. Use of this flag is mutually exclusive with all other flags and commands, except for -d (only list interfaces that are down) and -u (only list interfaces that are up).

The -C flag may be used to list all of the interface cloners available on the system, with no additional information. Use of this flag is mutually exclusive with all other flags and commands.

Only the super-user may modify the configuration of a network interface.

NOTES
The media selection system is relatively new and only some drivers support it (or have need for it).

DIAGNOSTICS
Messages indicating the specified interface does not exist, the requested address is unknown, or the user is not privileged and tried to alter an interface's configuration.

BUGS
Basic IPv6 node operation requires a link-local address on each interface configured for IPv6. Normally, such an address is automatically configured by the kernel on each interface added to the system; this behaviour may be disabled by setting the sysctl MIB variable net.inet6.ip6.auto_linklocal to 0.

If you delete such an address using ifconfig, the kernel may act very oddly. Do this at your own risk.

SEE ALSO
netstat(1), carp(4), netintro(4), polling(4), vlan(4), rc(8), routed(8), sysctl(8)

HISTORY
The ifconfig utility appeared in 4.2BSD.