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 grouped together in a few files that can be sourced when needed.
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.