ifup - start a pre-configured network interface. ifdown - stop a (pre-configured) network interface. ifstatus - show the state of a (pre-configured) network interface. ifrenew - renews the dhcp lease on a network interface. ifprobe - checks if the configuration for the interface has changed


if{up,down,status,renew,probe} [ <configuration-name> ] <interface> [-o options ]


We use the terms configuration, interface and device in a dedicated way. A device is always a piece of hardware representing a network interface, a PCI or PCMCIA card or a USB device. An interface then is the name of the network interface it gets from the kernel, when the device has been registered. A configuration is a set of parameters which can be assigned to an interface like IP addresses or routes.


ifup is used to bring up a pre-configured interface for networking. It is usually invoked by the network script at boot time or by the PCMCIA/hotplug system. It can also be used to start interfaces manually on the command line. It activates the link, adds addresses and other parameters and sets up the routes for an interface.

ifdown is used to set down the interface and flush all its addresses. It is possible to let ifdown check the interface if it is still used before setting it down. If configured it may then get rid of the using processes or refuse setting it down. Have a look at /etc/sysconfig/network/config to enable this feature.

ifstatus checks if the interface and its routes were set up properly.

ifrenew is used to renew the dhcp lease on the desired interface without shutting the interface down. It only restarts the corresponding dhcpcd or dhclient process.

ifprobe checks if any of the configuration files for this interface have been changed since the interface is up. Checked files are the corresponding ifcfg-*, ifroute-*, ifservices-* and common configuration files config, dhcp and routes.

<interface> is the network interface name. The network interface names of physical network devices are assigned by the kernel and may be modified by udev(7) rules; see the PERSISTENT INTERFACE NAMES section.

<configuration-name> is the optional parameter with the name of a configuration, that should be used to set up the interface. Every configuration is stored in files below /etc/sysconfig/network which are named ifcfg-<configuration-name>. By default, the interface name is used as configuration name. The parameter exists for compatibility reasons, but may be also used to circumvent this fixed relation.


The support for persistent interface names for physical network devices using ifcfg-<hardware-description> configuration files is removed from sysconfig since openSUSE 10.3. Instead, an automatic assignment of persistent interface names is implemented using udev(7) rules.

When a network device driver is loaded, the kernel assigns the next currently free interface name to it. For built-in devices there is most of the time a fixed relation between devices and interfaces, but this is no longer the case when using hot-pluggable devices. With such devices (like PCMCIA or USB) you cannot always know which interface name it will get - it depends for example on the order the devices got plugged in.

The network interface assigned in the kernel is reported to the udev daemon. When a device appears the first time, the udev persistent net generator rule creates a rule matching the device, by default using the hardware (MAC) address, that renames the interface name assigned by the kernel to one, that is not used in any another rule and thus unique for the device. This rule is appended to the persistent net rule file and executed. When the same device appears in the system next time, the generated rule renames the interface to the persistent name again.

The generated persistent interface name rules can be adopted in yast2 network module or by editing the rule file directly. Currently, they are stored in the /etc/udev/rules.d/70-persistent-net.rules udev rule file.


The following are options to be specified after the -o switch.

auto Only set up the interface if the configuration has the STARTMODE=auto (or boot, onboot or hotplug.)
[on]boot Alias for ’auto’.
hotplug Like auto, but do some extra jobs, because hotplug indicates that the interface was just (un)registered. These extra jobs contain (if configured): starting/stopping ifplugd, renaming interface and removing all status files at ifdown.
manual This is default operation mode and sets up interfaces with STARTMODE=manual. If option ’rc’ is used which implies mode ’auto’, you can force mode ’manual’.
rc Special option for the use in rcnetwork (/etc/init.d/network). See section rcnetwork below.
dhcp Indicates that script is called from dhcp client. When a interface has BOOTPROTO=dhcp ifup/down does not execute any post action immediately. After dhcp client got a lease and has set ip address, it calls ifup again, this time with option ’dhcp’. In this run we finish interface setup.
nodeps If there are interfaces based on this interface, ifdown takes these depending interfaces down first. If you don’t like that, use ’nodeps’.
prov=<n> Use provider <n> instead that from config file. Only usefull for dialup interfaces.
debug Be verbose.
(no)syslog With nosyslog the scripts don’t send messages to syslog even if the configuration variable USE_SYSLOG is set to "yes". This is default for ifstatus only. If you want also ifstatus messages send to syslog then call it with syslog.



The script itself.


General configuration options. See section GENERAL VARIABLES below.

/etc/sysconfig/network/ifcfg- <configuration-name>

The files containing the configuration of the devices. An example that shows a typical configuration with the name ifcfg-eth0:


/etc/sysconfig/network/ifroute- <configuration-name>

You can specify individual routes for every configuration in these files. See routes (5) for a detailed description.


Scripts in these directories will be executed when any interface is started, if-up.d, and when any interface is stopped, if-down.d. They have to be executable and may also be binary. The execution of these programs is controlled by the variables GLOBAL_POST_UP_EXEC and GLOBAL_PRE_DOWN_EXEC in the network configuration file /etc/sysconfig/network/config These are not interface specific, and can have any name. If you need interface/configfile specific scripts to be executed have a look at PRE_UP_SCRIPT, POST_UP_SCRIPT, PRE_DOWN_SCRIPTand POST_DOWN_SCRIPT.

/etc/sysconfig/network/ifservices- <configuration-name>/

If you don’t have a permanent network connection and like that certain services are not started at boot time unconditionally but later after the network connection was established then you can add these services here. See ifservices (5) for a detailed description.


A template for writing ifcfg-* files.


There are some general settings in the file /etc/sysconfig/network/config. If needed you can also set every general variable as an individual variable in the ifcfg-* files. Please see the description of these variables in /etc/sysconfig/network/config.

For dhcp there are additional global options in /etc/sysconfig/network/dhcp. Also these are described there and can be used individually in ifcfg-* files.

rcnetwork (/etc/init.d/network)

At boot time network devices are initialized asynchronously via hotplug. Once this initialization process registered an interface for it this will also trigger a hotplug event which will call ifup. If service network was still not started ifup will just exit. As soon as service network is active ifup will do its job and set up the interface. Therefore the job of the network start script consists of: - set the ’network active’ flag - set up all interfaces already available - wait for mandatory interfaces which are still not there - set up tunnel, vlan, et al.

At boot time the scripts tries to determine the list of mandatory devices automatically. It considers all interfaces that have a startmode ’auto’ or ’onboot’ as mandatory. Normally it waits 20 seconds for them and exits then with failed is any mandatory interface is still missing.

Alternatively you may specify all mandatory devices manually in the variable MANDATORY_DEVICES in the file. /etc/sysconfig/network/config. There you may also tweak the timeout in WAIT_FOR_INTERFACES.

The network script will only set up devices with with startmodes auto, onboot or hotplug. To set up an interface with startmode manual you have to call ifup manually. (rcnetwork calls ’ifup ... -o rc’).


ifstatus interface

ifup and rcnetwork write status files in /dev/.sysconfig/network. If something went completely wrong this files might be interesting.


Please report bugs at <>


Christian Zoz <> -- ifup script Michal Svec <> -- ifup script Bjoern Jacke -- ifup script Mads Martin Joergensen <> -- ifup manual page Michal Ludvig <> -- tunnel support


ifcfg(5), routes(5), ifservices(5), ifcfg-wireless(5), ifcfg-tunnel(5), ifcfg-vlan(5), ifcfg-bonding(5).

openSUSE Logo