Red Hat Linux makes use of several files that contain important functions that
are used in various ways to bring interfaces up and down. Rather than
forcing each interface control file to contain the same functions as
another, these functions are conveniently grouped together in a few
files that can be sourced when needed. If you are altering your
interface control files for particular reasons, it may be well worth it
to also group common functions in these files.
The most common network functions file is
network-functions, located in the
/etc/sysconfig/network-scripts directory. This file
contains a variety of common IPv4 functions useful to many interface control
scripts, such as contacting running programs that have requested
information about changes in an interface's status, setting host names,
finding a gateway device, seeing if a particular device is down or not,
and adding a default route.
As the functions required for IPv6 interfaces are different than IPv4
interfaces, a network-functions-ipv6 file exists
specifically to hold this information. IPv6 support must be enabled in
the kernel in order to communicate via that protocol. A function is
present in this file that checks for the presence of IPv6
support. Additionally, functions that configure and delete static IPv6
routes, create and remove tunnels, add and remove IPv6 addresses to an
interface, and test for the existence of an IPv6 address on an interface
can also be found in this file.