Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I am trying the following: I am having a DHCPv6 server (machine A) with a /48 subnet which will delegate /64 subnets to other routers using the prefix delegation mechanism.

One of these routers is a FreeBSD machine (machine B) which uses the WIDE dhcp6c client to configure the inner-facing NIC.

My problem:

After booting the FreeBSD router it fetches correctly the prefix and configures the lagg0 NIC which is the LAN interface and sends out router advertisements.

However when I restart the dhcp6c using service dhcp6c restart it does not work anymore. I analyzed the traffic going over the wire using tcpdump and it shows the following:

on boot

full DHCPv6 handshake is performed:

SOLICIT ADVERTISE REQUEST REPLY

after boot when restarting dhcp6c service

SOLICIT ADVERTISE

See debug output of dhcp6c below for details of how it fails.

No complete DHCP handshake is performed, the dhcp6c client does not request a prefix after boot time.

For debug purposes I deactivated the pf firewall on the FreeBSD router, so this cannot be the issue.

dhcp6c.conf

# for stateless DHCPv6 configuration, e.g. DNS servers
# em2 is the WAN interface in the same network as the DHCPv6 server
interface em2 {
        send ia-pd 0;
        request domain-name-servers;
};

# interface facing to inner subnet: lagg0
id-assoc pd {
        prefix-interface lagg0 {
                sla-len 0;
                sla-id 0;
        };
};

Output from dhcp6c -d -f -c /usr/local/etc/dhcp6c.conf

Jan/12/2014 17:39:31: get_duid: extracted an existing DUID from /var/db/dhcp6c_duid: 00:01:00:01:1a:04:35:83:30:85:a9:a6:50:bf
Jan/12/2014 17:39:31: cfdebug_print: <3>comment [# for stateless DHCPv6 configuration, e.g. DNS servers] (54)
Jan/12/2014 17:39:31: cfdebug_print: <3>[interface] (9)
Jan/12/2014 17:39:31: cfdebug_print: <5>[em2] (3)
Jan/12/2014 17:39:31: cfdebug_print: <3>begin of closure [{] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>[send] (4)
Jan/12/2014 17:39:31: cfdebug_print: <3>[ia-pd] (5)
Jan/12/2014 17:39:31: cfdebug_print: <3>[0] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>comment [#        send ia-na 0;] (22)
Jan/12/2014 17:39:31: cfdebug_print: <3>[request] (7)
Jan/12/2014 17:39:31: cfdebug_print: <3>[domain-name-servers] (19)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>comment [#        information-only;] (26)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of closure [}] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>comment [# interface facing to clients] (29)
Jan/12/2014 17:39:31: cfdebug_print: <3>[id-assoc] (8)
Jan/12/2014 17:39:31: cfdebug_print: <13>[pd] (2)
Jan/12/2014 17:39:31: cfdebug_print: <13>begin of closure [{] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>[prefix-interface] (16)
Jan/12/2014 17:39:31: cfdebug_print: <5>[lagg0] (5)
Jan/12/2014 17:39:31: cfdebug_print: <3>begin of closure [{] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>[sla-len] (7)
Jan/12/2014 17:39:31: cfdebug_print: <3>[0] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>[sla-id] (6)
Jan/12/2014 17:39:31: cfdebug_print: <3>[0] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>comment [#                ifid 1;] (24)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of closure [}] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of closure [}] (1)
Jan/12/2014 17:39:31: cfdebug_print: <3>end of sentence [;] (1)
Jan/12/2014 17:39:31: configure_pool: called
Jan/12/2014 17:39:31: clear_poolconf: called
Jan/12/2014 17:39:31: dhcp6_reset_timer: reset a timer on em2, state=INIT, timeo=0, retrans=383
Jan/12/2014 17:39:32: client6_send: a new XID (aa7bd8) is generated
Jan/12/2014 17:39:32: copy_option: set client ID (len 14)
Jan/12/2014 17:39:32: copy_option: set elapsed time (len 2)
Jan/12/2014 17:39:32: copy_option: set option request (len 2)
Jan/12/2014 17:39:32: copyout_option: set IA_PD
Jan/12/2014 17:39:32: client6_send: send solicit to ff02::1:2%em2
Jan/12/2014 17:39:32: dhcp6_reset_timer: reset a timer on em2, state=SOLICIT, timeo=0, retrans=1088
Jan/12/2014 17:39:33: copy_option: set client ID (len 14)
Jan/12/2014 17:39:33: copy_option: set elapsed time (len 2)
Jan/12/2014 17:39:33: copy_option: set option request (len 2)
Jan/12/2014 17:39:33: copyout_option: set IA_PD
Jan/12/2014 17:39:33: client6_send: send solicit to ff02::1:2%em2
Jan/12/2014 17:39:33: dhcp6_reset_timer: reset a timer on em2, state=SOLICIT, timeo=1, retrans=2151
Jan/12/2014 17:39:35: copy_option: set client ID (len 14)
Jan/12/2014 17:39:35: copy_option: set elapsed time (len 2)
Jan/12/2014 17:39:35: copy_option: set option request (len 2)
Jan/12/2014 17:39:35: copyout_option: set IA_PD
Jan/12/2014 17:39:35: client6_send: send solicit to ff02::1:2%em2
Jan/12/2014 17:39:35: dhcp6_reset_timer: reset a timer on em2, state=SOLICIT, timeo=2, retrans=4283
Jan/12/2014 17:39:39: copy_option: set client ID (len 14)
Jan/12/2014 17:39:39: copy_option: set elapsed time (len 2)
Jan/12/2014 17:39:39: copy_option: set option request (len 2)
Jan/12/2014 17:39:39: copyout_option: set IA_PD
Jan/12/2014 17:39:39: client6_send: send solicit to ff02::1:2%em2
Jan/12/2014 17:39:39: dhcp6_reset_timer: reset a timer on em2, state=SOLICIT, timeo=3, retrans=8905
share|improve this question

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.