Bug 1102127

Summary: Enable autoconf for ipv6 by default
Product: [openSUSE] openSUSE Tumbleweed Reporter: William Brown <william.brown>
Component: NetworkAssignee: wicked maintainers <wicked-maintainers>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P5 - None CC: mt
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description William Brown 2018-07-21 07:37:57 UTC
IPv6 is the next generation ip address protocol. It is growing in usage in the datacenter and for consumers. In server installs of tumbleweed (IE non-laptop, non-networkmanager), SUSE only enable ipv4 dhcp out of the box.

SUSE should configure ifcfg with "dhcp+autoip" out of the box.

As an additional important note, autoconfiguration is a required part of dhcpv6, so the default "dhcp for v4 and v6 only" may be non functional for ipv6 as auto addressing is not available. 

Please consider enabling autoconf for server installs by default.
Comment 1 Tomáš Chvátal 2018-07-23 08:34:30 UTC
Not sure if this is more for the network stack maintainer, or installer. Please reassign if it is the other group.
Comment 2 Marius Tomaschewski 2019-10-07 13:56:00 UTC
STARTMODE=dhcp means dhcp4 _or_ dhcp6, that is it the default permits dhcp6
as well. An "autoip" is to enable IPv4 zeroconf/autoip as fallback to dhcp4
and nothing about ipv6. Not enabling it by default is an requested+approved
feature.

IPv6 autoconfig is enabled by sysctl and is enabled by default since ever
(even before SLES-12-GA where we've started to use wicked) by default in
the kernel, see "sysctl net.ipv6.conf" output:

 net.ipv6.conf.all.accept_ra = 1 ## permission to process the IPv6 RAs
 net.ipv6.conf.all.autoconf = 1  ## stateless IPv6 address / SLAAC via IPv6 RA
                                 ## prefix with "AdvAutonomous on" enabled.

When this does not work for you by default, it's most probably because your
network does not have a IPv6 router (and or DHCPv6 server), which would send
and advertisement with a network admin policy that enables it (dhcp6 here):

RA {
  AdvManagedFlag on;       ## managed/stateful address autoconfiguration,
                           ## that is use dhcp6 to request an IPv6 address
  AdvOtherConfigFlag on;   ## when AdvManagedFlag=off, use dhcp6 to request
                           ## other config, like dns+ntp, but no IPv6 address.

  AdvDefaultLifetime 3600; ## create an IPv6 default route with given lifetime;
                           ## set to 0 to not create any.

  prefix 2001:db8::/64 {   ## defines a prefix and prefix-length
    AdvOnLink on;          ## prefix can be used for on-link determination
    AdvAutonomous off;     ## use prefix for stateless address autoconfiguration
  };
}

Not having an RA on the network/router disables autoconfiguration in a network.

You can discover what your router is sending (on request or every few minutes)
with the "radvdump" utility from the radvd package, which also provides the
"radvd" daemon (configured in /etc/radvd.conf), that's supposed to run on a
router in order to send IPv6 RAs. The dhcp-server package (/etc/dhcpd6.conf)
provides a dhcp6 server/service.

Using the variables DHCLIENT6_MODE=managed and DHCLIENT6_ADDRESS_LENGTH=64
you can provide and also override the IPv6 RA settings in case your router
is not IPv6 ready.