## Path:	Network/DHCP/DHCP client
## Description:	DHCPv4 client configuration variables
#
# Note: 
# To configure one or more interfaces for DHCP configuration, you have to
# change the BOOTPROTO variable in /etc/sysconfig/network/ifcfg-<interface>
# to 'dhcp' (and possibly set STARTMODE='onboot'). 
#
# Most of the options can and should be overridden by per-interface
# settings in the ifcfg-* files.
#
# Note: NetworkManager is not using any sysconfig settings.
#

## Type:	yesno
## Default:	no
#
# Should the DHCPv4 client set the hostname? (yes|no)
# 
# When it is likely that this would occur during a running X session, 
# your DISPLAY variable could be screwed up and you won't be able to open
# new windows anymore, then this should be "no". 
#
# If it happens during booting it won't be a problem and you can 
# safely say "yes" here. For a roaming notebook with X kept running, "no"
# makes more sense. 
#
DHCLIENT_SET_HOSTNAME="no"

## Type:	string
## Default:	AUTO
#
# Specifies the hostname option field when DHCPv4 client sends messages.
# Some DHCP servers will update nameserver entries (dynamic DNS) to it.
# Also, some DHCP servers, notably those used by @Home Networks, require
# the hostname option field containing a specific string in the DHCP
# messages from clients.
#
# When set to "AUTO", the current hostname from /etc/hostname is sent.
# Use this variable to override it with another hostname, or leave it
# empty to not send any hostname.
#
DHCLIENT_HOSTNAME_OPTION="AUTO"

## Type:	yesno
## Default:	yes
#
# Should the DHCP client set a default route (default Gateway) (yes|no)
#
# When multiple copies of dhcp client run, it would make sense that only
# one of them does it. 
#
DHCLIENT_SET_DEFAULT_ROUTE="yes"

## Type:        integer
## Default:     "0"
#
# This option allows to set a metrics/priority for DHCPv4 routes.
#
DHCLIENT_ROUTE_PRIORITY="0"

## Type:	string
## Default:	""
#
# specify a client ID
#
# Specifies a client identifier string. By default an id derived from the
# hardware address of the network interface is sent as client identifier.
#
DHCLIENT_CLIENT_ID=""

## Type:	string
## Default:	""
#
# Specifies the vendor class identifier string. The default is dhcp client
# specific.
#
DHCLIENT_VENDOR_CLASS_ID=""

## Type:        list<rfc3004,string>
## Default:     string
#
# Specifies the format of the DHCLIENT_USER_CLASS_ID variable.
#
# The DHCPv4 option and it's format is specified by RFC3004 as an array
# of class identifiers, but most DHCP clients/servers aren't compliant
# with the specification and send/expect a single string without proper
# RFC3004 length-value tuple format instead.
#
# When set to "rfc3004" DHCLIENT_USER_CLASS_ID[SUFFIX] permit an RFC
# compliant array, otherwise DHCLIENT_USER_CLASS_ID is used as string.
#
DHCLIENT_USER_CLASS_FORMAT=""

## Type:        string
## Default:     ""
## Suffix:      yes
#
# Specifies the user class identifier (array) to send in dhcp requests.
# The DHCLIENT_USER_CLASS_FORMAT variable specified how to interpret it.
#
DHCLIENT_USER_CLASS_ID=""

## Type:	integer
## Default:	""
#
# Specifies the lease time (in seconds), that is suggested to the
# server. Default is to use the lease time offered by the server.
#
DHCLIENT_LEASE_TIME=""

## Type:        yesno
## Default:     yes
#
# This setting controls whether dhcp client should try to use DHCP settings
# provided in its last lease when the dhcp-server is not reachable and
# the lease hasn't expired yet.
# Set this variable to "no" to disable the fallback to the last lease.
#
DHCLIENT_USE_LAST_LEASE="yes"

## Type:	yesno
## Default:	no
#
# Send a DHCPRELEASE to the server (sign off the address)? (yes|no)
# This may lead to getting a different address/hostname next time an address
# is requested. But some servers require it.
#
DHCLIENT_RELEASE_BEFORE_QUIT="no"

## Type:	integer
## Default:	0
#
# Some interfaces need time to initialize and/or do not report correct status.
# Add the latency time in seconds so these can be handled properly. Should
# probably set per interface rather than here.
# This setting causes a sleep time before dhcp clients are started regardless
# of the link status.
#
# Note: RFC 2131 specifies, that the dhcp client should wait a random time
# between one and ten seconds to desynchronize the use of DHCP at startup.
# We do not use this initial delay to not slow down start/boot time.
#
DHCLIENT_SLEEP="0"

## Type:	integer
## Default:	15
#
# The DHCPv4 client will try to get a lease for DHCLIENT_WAIT_AT_BOOT seconds,
# then inform ifup waiting for it, that it continues in background.
# When you increase this time, increase also the WAIT_FOR_INTERFACES variable
# e.g. to a value twice as high as the time specified here.
#
DHCLIENT_WAIT_AT_BOOT="15"

## Type:	integer
## Default:	"0"
#
# The DHCPv4 client will stop processing / fail after this time when it does
# not get a reply from the dhcp server. Before you set this variable, take a
# look at DHCLIENT_WAIT_AT_BOOT allowing to continue in background instead.
#
DHCLIENT_TIMEOUT="0"

## Path:	Network/DHCP/DHCPv6 client
## Description:	Global DHCPv6 client configuration

## Type:        list(auto,managed,info)
## Default:     auto
#
# This option allows to specify the request mode used by the DHCPv6
# client when the BOOTPROTO is set to dhcp or dhcp6, and overrides
# the "Managed Address Configuration" and the "Other Configuration"
# flags provided by the IPv6 router its Router Advertisement (RA)
# for the network connected to this interface.
#
#   auto:    follow RA flags, remain silent when no RA flag is set
#   info:    request other configuration (dns,ntp) only, no IP address
#   managed: request IP address as well as other configuration
#
DHCLIENT6_MODE="auto"

## Type:        yesno
### Default:     yes
#
# This option allows the DHCPv6 client to indicate its desire to accept
# rapid commit leases using two-packet exchange (solicitation, lease ack)
# instead of the four packet (solicitation, offer, request, lease ack).
#
DHCLIENT6_RAPID_COMMIT="yes"

## Type:	yesno
## Default:	no
#
# Should the DHCPv6 client set the hostname? (yes|no)
#
# When it is likely that this would occur during a running X session,
# your DISPLAY variable could be screwed up and you won't be able to
# open new windows anymore, then this should be "no".
#
# If it happens during booting it won't be a problem and you can
# safely say "yes" here. For a roaming notebook with X kept running,
# "no" makes more sense.
#
DHCLIENT6_SET_HOSTNAME="no"

## Type:        string
### Default:     AUTO
#
# Specifies the hostname option field when DHCPv6 client sends messages.
# Some DHCP servers will update nameserver entries (dynamic DNS) to it.
#
# When set to "AUTO", the current hostname from /etc/hostname is sent.
# Use this variable to override it with another hostname, or leave it
# empty to not send any hostname.
#
DHCLIENT6_HOSTNAME_OPTION="AUTO"

## Type:        integer
### Default:     ""
#
# Specifies the preferred lifetime (in seconds) used as T1/renewal
# (1/2 of it) and T1/rebind (4/5 of it) in DHCPv6 IA NA requests.
#
# Default is to not propose anything but use the times as offered
# by the DHCPv6 server.
#
DHCLIENT6_LEASE_TIME=""

## Type:        yesno
## Default:     yes
#
# This setting controls whether DHCPv6 client should try to use settings
# provided in its last lease when the DHCPv6-server is not reachable and
# the lease hasn't expired yet.
# Set this variable to "no" to disable the fallback to the last lease.
#
DHCLIENT6_USE_LAST_LEASE="yes"

## Type:	yesno
## Default:	no
#
# Send a DHCPv6 RELEASE to the server (sign off the address)? (yes|no)
# This may lead to getting a different address/hostname next time an address
# is requested. But some servers require it.
#
DHCLIENT6_RELEASE_BEFORE_QUIT="no"

## Type:	integer
## Default:	0
#
# Some interfaces need time to initialize and/or do not report correct status.
# By default, DHCPv6 waits until the link-local address (fe80::) is available
# and then ~1 second as specified by RFC3315.
# This setting allows override to use a non-standsrd initial delay.
#
DHCLIENT6_SLEEP="0"

## Type:	integer
## Default:	15
#
# The DHCPv6 client will try to get a lease for DHCLIENT6_WAIT_AT_BOOT seconds,
# then inform ifup waiting for it, that it continues in background.
# When you increase this time, increase also the WAIT_FOR_INTERFACES variable
# e.g. to a value twice as high as the time specified here.
#
DHCLIENT6_WAIT_AT_BOOT="15"

## Type:	integer
## Default:	"0"
#
# The dhcpv6 client will stop processing / fail after this time when it does
# not get a reply from the dhcp server. Before you set this variable, take a
# look at DHCLIENT6_WAIT_AT_BOOT allowing to continue in background instead.
#
DHCLIENT6_TIMEOUT="0"

