diskimage-builder/diskimage_builder/elements/dhcp-all-interfaces
Harald Jensås f94508d537 Add IPv6 support in dhcp-all-interfaces
When the rdisc6 utility is available probe for router
advertisement. configure eni and rhel-netscripts interfaces
to do IPv6 address configuration according to the flags
in the RA recived from the router.

The systemd service file timeout is DIB_DHCP_TIMEOUT * 2,
so that DHCPv4 can timout, and dhcpv6 run before the service
times out.

Retries are commented in dhclient.conf, without it we end up
trying DIB_DHCP_TIMEOUT * 60 before the client move on to
IPv6.

WHEN:
  Stateful address conf.    :          No
  Stateful other conf.      :          No
THEN:
  Do not run dhclient at all, autoconfiguration via
  SLAAC only.

WHEN:
  Stateful address conf.    :          No
  Stateful other conf.      :          Yes
THEN:
  Run "dhclient -6 -S", The ``-S`` option makes the
  dhcp client not request an address, only other
  options such as DNS servers and NTP servers from
  DHCPv6 server.

WHEN:
  Stateful address conf.    :          Yes
  Stateful other conf.      :          Yes
THEN:
  The dhcp client should request an address _and_ other
  options such as DNS servers and NTP servers from
  DHCPv6 server.

NOTE: No IPv6 support added for suse-netscripts

Closes-Bug: 1754219
Change-Id: Icdc79875c33f894ab7eaec8afdfb33a731efff99
2019-11-13 09:31:01 +01:00
..
install.d Add IPv6 support in dhcp-all-interfaces 2019-11-13 09:31:01 +01:00
element-deps Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
package-installs.yaml Add IPv6 support in dhcp-all-interfaces 2019-11-13 09:31:01 +01:00
pkg-map Add IPv6 support in dhcp-all-interfaces 2019-11-13 09:31:01 +01:00
README.rst Set the dhclient timeout to match DIB_DHCP_TIMEOUT 2018-04-05 14:29:22 +01:00

===================
dhcp-all-interfaces
===================
Autodetect network interfaces during boot and configure them for DHCP

The rationale for this is that we are likely to require multiple
network interfaces for use cases such as baremetal and there is no way
to know ahead of time which one is which, so we will simply run a
DHCP client on all interfaces with real MAC addresses (except lo) that
are visible on the first boot.

On non-Gentoo based distributions the script
/usr/local/sbin/dhcp-all-interfaces.sh will be called early in each
boot and will scan available network interfaces and ensure they are
configured properly before networking services are started.

On Gentoo based distributions we will install the dhcpcd package and
ensure the service starts at boot.  This service automatically sets
up all interfaces found via dhcp and/or dhcpv6 (or SLAAC).

Environment Variables
---------------------

DIB_DHCP_TIMEOUT
  :Required: No
  :Default: 30
  :Description: Amount of time in seconds that the systemd service(or dhclient)
   will wait to get an address. Should be increased in networks such as
   Infiniband.
  :Example: DIB_DHCP_TIMEOUT=300