<html><head></head><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:13px"><div id="yui_3_16_0_ym18_1_1458325701681_8260"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8150"><span id="yui_3_16_0_ym18_1_1458325701681_8149">OK I found the issue. It's a bug in dhcpd, failover.c source file.</span></div><div id="yui_3_16_0_ym18_1_1458325701681_8156"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8258"><span>With reference to version 4.3.3-P1:</span></div><div id="yui_3_16_0_ym18_1_1458325701681_8259"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8247" dir="ltr"><span id="yui_3_16_0_ym18_1_1458325701681_8246">On line 5504, the pot_expire local variable is defined as a u_int32_t, which on my 64-bit Ubuntu is a 4-byte integer. </span></div><div id="yui_3_16_0_ym18_1_1458325701681_8183"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8212"><span id="yui_3_16_0_ym18_1_1458325701681_8211">On line 5546, pot_expire is assigned lease->tstp, which is defined as a TIME, which is a time_t, which is an 8-byte integer.</span></div><div id="yui_3_16_0_ym18_1_1458325701681_8213"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8217" dir="ltr"><span id="yui_3_16_0_ym18_1_1458325701681_8216">This causes truncation and tsfp to NOT be set to the potential expiry time acknowledged by the partner.</span></div><div id="yui_3_16_0_ym18_1_1458325701681_8286"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8288" dir="ltr"><span id="yui_3_16_0_ym18_1_1458325701681_8287">To fix, define pot_expire as a TIME instead:</span></div><div id="yui_3_16_0_ym18_1_1458325701681_8181"><span></span><br></div><div id="yui_3_16_0_ym18_1_1458325701681_8179" dir="ltr"><span id="yui_3_16_0_ym18_1_1458325701681_8180">> diff dhcp-4.3.3-P1/server/failover.c ../dhcp-4.3.3-P1/server/failover.c<br id="yui_3_16_0_ym18_1_1458325701681_8127">5504c5504<br id="yui_3_16_0_ym18_1_1458325701681_8128">< u_int32_t pot_expire;<br id="yui_3_16_0_ym18_1_1458325701681_8129">---<br id="yui_3_16_0_ym18_1_1458325701681_8130">> TIME pot_expire;</span></div><div class="qtdSeparateBR" id="yui_3_16_0_ym18_1_1458325701681_8126"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_ym18_1_1458325701681_8161" style="display: block;"> <div id="yui_3_16_0_ym18_1_1458325701681_8160" style="font-family: times new roman, new york, times, serif; font-size: 13px;"> <div id="yui_3_16_0_ym18_1_1458325701681_8159" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_ym18_1_1458325701681_8158" dir="ltr"> <font id="yui_3_16_0_ym18_1_1458325701681_8157" face="Arial" size="2"> <hr size="1"> <b><span style="font-weight: bold;">From:</span></b> Alessandro Gherardi <alessandro.gherardi@yahoo.com><br> <b><span style="font-weight: bold;">To:</span></b> "dhcp-users@lists.isc.org" <dhcp-users@lists.isc.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, March 18, 2016 12:41 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Failover + infinite leases<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_ym18_1_1458325701681_8165"><br><div id="yiv1356744444"><div id="yui_3_16_0_ym18_1_1458325701681_8164"><div id="yui_3_16_0_ym18_1_1458325701681_8163" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; background-color: rgb(255, 255, 255);"><div id="yui_3_16_0_ym18_1_1458325701681_8289"><br clear="none"></div><div class="yiv1356744444qtdSeparateBR" id="yui_3_16_0_ym18_1_1458325701681_8162"><br clear="none"><br clear="none"></div><div class="yiv1356744444yahoo_quoted" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3831" style="display: block;"><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3830" style="font-family: times new roman, new york, times, serif; font-size: 13px;"><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3829" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3832"><div id="yiv1356744444"><div class="yiv1356744444yqt4968069894" id="yiv1356744444yqtfd67340"><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3838"><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3837" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; background-color: rgb(255, 255, 255);"><div class="yiv1356744444yahoo_quoted" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_6687" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px; display: block;" dir="ltr">Hi,</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2554" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);">I'm trying to configure dhcpd to dole out infinite leases + failover.</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2534" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2535" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">I set both default-lease-time and max-lease-time to -1 (full dhcpd.conf's are below). The problem is that dhcpd never doles out infinite leases. I understand that, because of the failover protocol, the very first leave expires after MCLT. However, when the client renews, the server should return an infinite lease.</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2632" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3946" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">I downloaded and built dhcp-4.3.3-P1, and added some log statements in dhcp.c to try and understand what's going on. Here's the modified code:</div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">#if defined (FAILOVER_PROTOCOL)<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3992" clear="none"> /* Okay, we know the lease duration. Now check the<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3993" clear="none"> failover state, if any. */<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3994" clear="none"> if (lease -> pool && lease -> pool -> failover_peer) {<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3995" clear="none"> TIME new_lease_time = lease_time;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3996" clear="none"> dhcp_failover_state_t *peer =<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3997" clear="none"> lease -> pool -> failover_peer;</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3998" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"> /* Copy previous lease failover ack-state. */<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3999" clear="none"> lt->tsfp = lease->tsfp;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4000" clear="none"> lt->atsfp = lease->atsfp;</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4001" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"> /* cltt set below */</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4002" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"> /* Lease times less than MCLT are not a concern. */<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4003" clear="none"> if (lease_time > peer->mclt) {</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4004" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">log_info("==> lease_time %ld MCLT %ld cur_time %ld tsfp %ld",<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4005" clear="none"> (long int)lease_time, (long int)peer->mclt, (long int)cur_time, (long int)lt->tsfp);</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4006" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"> /* Each server can only offer a lease time<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4007" clear="none"> * that is either equal to MCLT (at least),<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4008" clear="none"> * or up to TSFP+MCLT. Only if the desired<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4009" clear="none"> * lease time falls within TSFP+MCLT, can<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4010" clear="none"> * the server allow it.<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4011" clear="none"> */<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4012" clear="none"> if (lt->tsfp <= cur_time) {</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4013" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">log_info("==> setting new_lease_time to MCLT %ld", (long int)peer->mclt);</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4014" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"> new_lease_time = peer->mclt;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4015" clear="none"> }<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4016" clear="none"> else if ((cur_time + lease_time) > (lt->tsfp + peer->mclt)) {<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4017" clear="none"> new_lease_time = (lt->tsfp - cur_time) + peer->mclt;</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4018" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">log_info("==> new_lease_time %ld", (long int)new_lease_time);</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4019" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"> }<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4020" clear="none"> }<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4021" clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3968" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3967" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">Here's the output of dhcpd on the primary when a new client subscribes. I deleted the dhcpd.leases file from both primary and secondary before starting dhcpd and client:</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4116" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4063" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">==> lease_time 4294967295 MCLT 120 cur_time 1458325225 tsfp 0<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4046" clear="none">==> setting new_lease_time to MCLT 120<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4047" clear="none">DHCPDISCOVER from 08:00:27:5c:f4:e5 via eth1<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4048" clear="none">DHCPOFFER on 192.168.56.132 to 08:00:27:5c:f4:e5 (dhcpclient) via eth1<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4049" clear="none">==> lease_time 4294967295 MCLT 120 cur_time 1458325226 tsfp 0<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4050" clear="none">==> setting new_lease_time to MCLT 120<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4051" clear="none">DHCPREQUEST for 192.168.56.132 (192.168.56.2) from 08:00:27:5c:f4:e5 (dhcpclient) via eth1<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4052" clear="none">DHCPACK on 192.168.56.132 to 08:00:27:5c:f4:e5 (dhcpclient) via eth1</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4053" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4054" clear="none">==> lease_time 4294967295 MCLT 120 cur_time 1458325281 tsfp 1458325285<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4055" clear="none">==> new_lease_time 124<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4056" clear="none">DHCPREQUEST for 192.168.56.132 from 08:00:27:5c:f4:e5 (dhcpclient) via eth1<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4057" clear="none">DHCPACK on 192.168.56.132 to 08:00:27:5c:f4:e5 (dhcpclient) via eth1</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4115" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4059" clear="none">==> lease_time 4294967295 MCLT 120 cur_time 1458325332 tsfp 1458325342<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4060" clear="none">==> new_lease_time 130<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4061" clear="none">DHCPREQUEST for 192.168.56.132 from 08:00:27:5c:f4:e5 (dhcpclient) via eth1<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4062" clear="none">DHCPACK on 192.168.56.132 to 08:00:27:5c:f4:e5 (dhcpclient) via eth1</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4036" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">I see this in the leases file:</div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4208" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">lease 192.168.56.132 {<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4191" clear="none"> starts 5 2016/03/18 18:20:26;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4192" clear="none"> ends 5 2016/03/18 18:22:26;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4193" clear="none"> tstp 2 2152/04/25 00:49:41;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4194" clear="none"> tsfp 5 2016/03/18 18:21:25;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4195" clear="none"> atsfp 5 2016/03/18 18:21:25;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4196" clear="none"> cltt 5 2016/03/18 18:20:26;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4197" clear="none"> binding state active;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4198" clear="none"> next binding state expired;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4199" clear="none"> hardware ethernet 08:00:27:5c:f4:e5;<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4200" clear="none"> client-hostname "dhcpclient";<br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4201" clear="none">}</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4207" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4106" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">Since tstp is (basically) infinite but tsfp is always small, it appears that the secondary never acknowledges the infinite tsfp. </div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2903" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">Any suggestions?</div><div id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2905" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3870" clear="none"></div><div id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3871" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">Thank you in advance.</div><div class="yiv1356744444yqt4667047752" id="yiv1356744444yqtfd89837"><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2873" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3872" clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3930" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">dhcpd.conf on the primary:</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2762" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_3926" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2757" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">ddns-update-style none;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2724" clear="none">default-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2725" clear="none">max-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2726" clear="none">authoritative;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2727" clear="none">log-facility local7;</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2729" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">failover peer "dhcp-failover" {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2730" clear="none"> primary;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2731" clear="none"> address 192.168.56.2;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2732" clear="none"> port 647;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2733" clear="none"> peer address 192.168.56.3;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2734" clear="none"> peer port 648;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2735" clear="none"> max-response-delay 30;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2736" clear="none"> max-unacked-updates 10;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2737" clear="none"> load balance max seconds 3;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2738" clear="none"> mclt 120;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2739" clear="none"> split 128;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2740" clear="none">}</div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">omapi-port 7911;</div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2742" clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2722" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">subnet 192.168.56.0 netmask 255.255.255.0 {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2747" clear="none"> option routers 192.168.56.1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2748" clear="none"> option broadcast-address 192.168.56.255;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2749" clear="none"> pool {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2750" clear="none"> failover peer "dhcp-failover";<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2751" clear="none"> range 192.168.56.10 192.168.56.254;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2752" clear="none"> }<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2753" clear="none"> default-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2754" clear="none"> max-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2755" clear="none">}<br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2514" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2764" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">Here's dhcpd.conf on the secondary:</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2778" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2813" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">ddns-update-style none;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2781" clear="none">default-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2782" clear="none">max-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2783" clear="none">authoritative;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2784" clear="none">log-facility local7;</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2786" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">failover peer "dhcp-failover" {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2787" clear="none"> secondary;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2788" clear="none"> address 192.168.56.3;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2789" clear="none"> port 648;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2790" clear="none"> peer address 192.168.56.2;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2791" clear="none"> peer port 647;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2792" clear="none"> max-response-delay 30;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2793" clear="none"> max-unacked-updates 10;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2794" clear="none"> load balance max seconds 3;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2795" clear="none">}</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2796" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">omapi-port 7911;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2797" clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2802" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2803" clear="none">subnet 192.168.56.0 netmask 255.255.255.0 {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2804" clear="none"> option routers 192.168.56.1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2805" clear="none"> option broadcast-address 192.168.56.255;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2806" clear="none"> pool {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2807" clear="none"> failover peer "dhcp-failover";<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2808" clear="none"> range 192.168.56.10 192.168.56.254;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2809" clear="none"> }<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2810" clear="none"> default-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2811" clear="none"> max-lease-time -1;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2812" clear="none">}</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2819" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2820" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">Here's a snippet from /var/lib/dhcp/dhcpd.leases on the primary:</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2902" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2861" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">failover peer "dhcp-failover" state {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2858" clear="none"> my state normal at 4 2016/03/17 15:32:28;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2859" clear="none"> partner state normal at 4 2016/03/17 15:32:25;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2860" clear="none">}</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2874" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2891" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr">lease 192.168.56.132 {<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2880" clear="none"> starts 4 2016/03/17 16:03:03;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2881" clear="none"> ends 4 2016/03/17 16:05:03;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2882" clear="none"> tstp 0 2152/04/23 22:32:18;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2883" clear="none"> tsfp 4 2016/03/17 16:04:02;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2884" clear="none"> atsfp 4 2016/03/17 16:04:02;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2885" clear="none"> cltt 4 2016/03/17 16:03:03;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2886" clear="none"> binding state active;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2887" clear="none"> next binding state expired;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2888" clear="none"> hardware ethernet 08:00:27:5c:f4:e5;<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2889" clear="none"> client-hostname "dhcpclient";<br id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2890" clear="none">}</div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458230007899_2763" style="color: rgb(0, 0, 0); font-family: times new roman, new york, times, serif; font-size: 13px; display: block; background-color: rgb(255, 255, 255);" dir="ltr"><br clear="none"></div><div class="yiv1356744444y_msg_container" id="yiv1356744444yui_3_16_0_ym18_1_1458325701681_4248" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px; display: block;"><br clear="none"><br clear="none"></div><div class="yiv1356744444yahoo_quoted" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px; display: block;"> </div><div class="yiv1356744444yahoo_quoted" style="font-family: times new roman, new york, times, serif; font-size: 13px; display: block;"> </div><div class="yiv1356744444yahoo_quoted" style="display: block;"> </div></div></div></div></div></div><div class="yiv1356744444yqt4667047752" id="yiv1356744444yqtfd57692"><br clear="none"><br clear="none"></div></div><div class="yiv1356744444yqt4667047752" id="yiv1356744444yqtfd26094"> </div></div><div class="yiv1356744444yqt4667047752" id="yiv1356744444yqtfd26151"> </div></div><div class="yiv1356744444yqt4667047752" id="yiv1356744444yqtfd09408"> </div></div></div></div></div><br><br></div> </div> </div> </div></div></body></html>