DHCP6 installation is mis-configured

I have installed and (mis-?)configured a DHCP v6 server. The server starts cleanly; it does not serve any addresses, not even the “fixed-address6 fd2f:4760:521f:3f3c::c0a8:456d” value for the host. I have clearly done something incorrectly.

DHCP6 is added to both the external and public firewalls.

Any suggestions where this has gone astray?

$ cat /etc/sysconfig/network/ifcfg-eth0
DHCLIENT_SET_DEFAULT_ROUTE='yes'
NETWORK=''
NAME='RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
BOOTPROTO='dhcp'
STARTMODE='auto'
ZONE='public'
$ wicked show eth0
eth0            up
      link:     #2, state up, mtu 1500
      type:     ethernet, hwaddr 00:24:8c:88:9d:f3
      config:   compat:suse:/etc/sysconfig/network/ifcfg-eth0
      leases:   ipv4 dhcp granted
      leases:   ipv6 dhcp requesting
      addr:     ipv4 192.168.69.109/24 [dhcp]
      addr:     ipv6 fd2f:4760:521f:3f3c:c9a:4854:dcc4:779a/64
      addr:     ipv6 fd2f:4760:521f:3f3c:224:8cff:fe88:9df3/64
      route:    ipv4 default via 192.168.69.1 proto dhcp
# /etc/dhcpd6.conf
#
# Don't forget to set the DHCPD6_INTERFACE in the
# /etc/sysconfig/dhcpd file. -- set to "eth0"
#
# Define RFC 4833 timezone options:
#
#option dhcp6.rfc4833-tz-posix-string code 41 = string;
#option dhcp6.rfc4833-tz-name code 42 = string;
#

# Please allocate own prefix (6to4, tunnel broker) !
#

# IPv6 address valid lifetime
#  (at the end the address is no longer usable by the client)
#  (set to 30 days, the usual IPv6 default)
default-lease-time 2592000;

# IPv6 address preferred lifetime
#  (at the end the address is deprecated, i.e., the client should use
#   other addresses for new connections)
#  (set to 7 days, the    usual IPv6 default)
preferred-lifetime 604800;

# T1, the delay before Renew
#  (default is 1/2 preferred lifetime)
#  (set to 1 hour)
option dhcp-renewal-time 3600;

# T2, the delay before Rebind (if Renews failed)
#  (default is 3/4 preferred lifetime)
#  (set to 2 hours)
option dhcp-rebinding-time 7200;

# Enable RFC 5007 support (same than for DHCPv4)
allow leasequery;

# Global definitions for name server address(es) and domain search list
option dhcp6.name-servers  fd2f:4760:521f:3f3c::c0a8:45f6;
option dhcp6.domain-search "sma.com";

# Set preference to 255 (maximum) in order to avoid waiting for
# additional servers when there is only one
option dhcp6.preference 255;

# Server side command to enable rapid-commit (2 packet exchange)
option dhcp6.rapid-commit;

# The delay before information-request refresh
#  (minimum is 10 minutes, maximum one day, default is to not refresh)
#  (set to 6 hours)
option dhcp6.info-refresh-time 21600;

# Static definition (must be global)
host stn12l-client {
#    # The entry is looked up by this
    host-identifier option
               dhcp6.client-id 00:01:00:01:1d:eb:a3:ea:30:85:a9:ad:05:31;
#
#    # A fixed address
    fixed-address6 fd2f:4760:521f:3f3c::c0a8:456d;
#
#    # A fixed prefix
    fixed-prefix6 fd2f:4760:521f:3f3c::/64;
#
#    # Override of the global definitions,
#    # works only when a resource (address or prefix) is assigned
#    option dhcp6.name-servers fc00:501:ffff:100:200:ff:fe00:4f4e;
#
#    # For debug (to see when the entry statements are executed)
#    #  (log "sol" when a matching Solicitation is received)
#    ##if packet(0,1) = 1 { log(debug,"sol"); }
}

# The subnet where the server is attached
#  (i.e., the server has an address in this subnet)
subnet6 fd2f:4760:521f:3f3c::/64 {
#    # Two addresses available to clients
#    #  (the third client should get NoAddrsAvail)
    range6 fd2f:4760:521f:3f3c::c0a8:45c8 fd2f:4760:521f:3f3c::c0a8:45ef;
#
#    # Use the whole /64 prefix for temporary addresses
#    #  (i.e., direct application of RFC 4941)
#    range6 fc00:501:ffff:100:: temporary;
#
#    # Some /64 prefixes available for Prefix Delegation (RFC 3633)
#    prefix6 fd2f:4760:521f:3f3c::/64;
}

Do you have any client that is using DHCPv6 to assign address? It is not that common as with DHCPv4 and needs either extra flag in RA or explicit configuration on clients.

not even the “fixed-address6 fd2f:4760:521f:3f3c::c0a8:456d” value for the host.

Is this client set up to use DHCPv6 to obtain addresses? Does it using this DUID? There are multiple possible formats and which one is used depends on client.

Anyway, the first place to look at is dhcpd log files. “does not serve” implies there are requests that are ignored. Do you see any request in dhcpd log?