default value for delayed-ack, however, has been changed from 28 to 0
(i.e. disabled). This was done to minimize the impact on users not
currently using the feature. Please note that the delayed-ack feature
- is not currently compatible with support for DHPCv4o6 (compiled out by
- default). You must compile with one or the other but not both.
+ is not currently compatible with support for DHPCv4-over-DHCPv6 so
+ when a 4to6 port command line argument enables this in the server the
+ delayed-ack value is reset to 0.
[ISC-Bugs #42446]
- Corrected some minor coverity issues: CID 1426059, 1426058, and 1426057.
if test "$enable_dhcpv6" = "no"; then
as_fn_error $? "dhcpv4o6 requires dhcpv6" "$LINENO" 5
fi
- # DHCPv4o6 is not yet compatible with delayed-ack
- if test "$enable_delayed_ack" = "yes"; then
- as_fn_error $? "dhcpv4o6 is not compatible with delayed-ack" "$LINENO" 5
- fi
$as_echo "#define DHCP4o6 1" >>confdefs.h
if test "$enable_dhcpv6" = "no"; then
AC_MSG_ERROR([dhcpv4o6 requires dhcpv6])
fi
- # DHCPv4o6 is not yet compatible with delayed-ack
- if test "$enable_delayed_ack" = "yes"; then
- AC_MSG_ERROR([dhcpv4o6 is not compatible with delayed-ack])
- fi
AC_DEFINE([DHCP4o6], [1],
[Define to 1 to include DHCPv4 over DHCPv6 support.])
else
-AC_INIT([DHCP],[4.4.0-dev],[dhcp-users@isc.org])
+AC_INIT([DHCP],[4.4.0a1],[dhcp-users@isc.org])
# for libtool
AC_CONFIG_MACRO_DIR([m4])
if test "$enable_dhcpv6" = "no"; then
AC_MSG_ERROR([dhcpv4o6 requires dhcpv6])
fi
- # DHCPv4o6 is not yet compatible with delayed-ack
- if test "$enable_delayed_ack" = "yes"; then
- AC_MSG_ERROR([dhcpv4o6 is not compatible with delayed-ack])
- fi
AC_DEFINE([DHCP4o6], [1],
[Define to 1 to include DHCPv4 over DHCPv6 support.])
else
-AC_INIT([DHCP],[4.4.0-dev],[dhcp-users@isc.org])
+AC_INIT([DHCP],[4.4.0a1],[dhcp-users@isc.org])
@BEGIN WITH LIBTOOL
# for libtool
if test "$enable_dhcpv6" = "no"; then
AC_MSG_ERROR([dhcpv4o6 requires dhcpv6])
fi
- # DHCPv4o6 is not yet compatible with delayed-ack
- if test "$enable_delayed_ack" = "yes"; then
- AC_MSG_ERROR([dhcpv4o6 is not compatible with delayed-ack])
- fi
AC_DEFINE([DHCP4o6], [1],
[Define to 1 to include DHCPv4 over DHCPv6 support.])
else
-AC_INIT([DHCP],[4.4.0-dev],[dhcp-users@isc.org])
+AC_INIT([DHCP],[4.4.0a1],[dhcp-users@isc.org])
# we specify "foreign" to avoid having to have the GNU mandated files,
if test "$enable_dhcpv6" = "no"; then
AC_MSG_ERROR([dhcpv4o6 requires dhcpv6])
fi
- # DHCPv4o6 is not yet compatible with delayed-ack
- if test "$enable_delayed_ack" = "yes"; then
- AC_MSG_ERROR([dhcpv4o6 is not compatible with delayed-ack])
- fi
AC_DEFINE([DHCP4o6], [1],
[Define to 1 to include DHCPv4 over DHCPv6 support.])
else
struct in_addr from;
TIME remaining_time;
struct iaddr cip;
-#if defined(DELAYED_ACK) && !defined(DHCP4o6)
+#if defined(DELAYED_ACK)
/* By default we don't do the enqueue */
isc_boolean_t enqueue = ISC_FALSE;
#endif
commit = 0;
}
-#if !defined(DELAYED_ACK) || defined(DHCP4o6)
+#if !defined(DELAYED_ACK)
/* Install the new information on 'lt' onto the lease at
* 'lease'. If this is a DHCPOFFER, it is a 'soft' promise,
* if it is a DHCPACK, it is a 'hard' binding, so it needs
if ((use_old_lease == 0) &&
!supersede_lease(lease, lt, commit,
offer == DHCPACK, offer == DHCPACK, 0)) {
-#else /* defined(DELAYED_ACK) && !defined(DHCP4o6) */
+#else /* defined(DELAYED_ACK) */
/*
* If there already isn't a need for a lease commit, and we
* can just answer right away, set a flag to indicate this.
++outstanding_pings;
} else {
lease->cltt = cur_time;
-#if defined(DELAYED_ACK) && !defined(DHCP4o6)
+#if defined(DELAYED_ACK)
if (enqueue && max_outstanding_acks != 0)
delayed_ack_enqueue(lease);
else
}
data_string_forget(&db, MDL);
}
+#if defined(DHCP4o6)
+ /* Delayed acks and DHCPv4-over-DHCPv6 are incompatible */
+ if (dhcpv4_over_dhcpv6) {
+ if (max_outstanding_acks > 0) {
+ log_debug("DHCP4o6 enabled, "
+ "setting delayed-ack to zero (incompatible)");
+ }
+
+ max_outstanding_acks = 0;
+ }
+#endif
oc = lookup_option(&server_universe, options, SV_MAX_ACK_DELAY);
if (oc &&
The delayed-ack feature is compiled in by default, but can be disabled
at compile time with \'./configure --disable-delayed-ack\'. Please note
that the delayed-ack feature is not currently compatible with support for
-DHPCv4o6 (compiled out by default). You must compile with one or the
-other but not both.
+DHPCv4-over-DHCPv6 so when a 4to6 port ommand line argument enables this
+in the server the delayed-ack value is reset to 0.
.RE
.PP
The
{ "limit-addrs-per-ia", "L", &server_universe, 56, 1 },
{ "limit-prefs-per-ia", "L", &server_universe, 57, 1 },
/* Assert a configuration parsing error if delayed-ack isn't compiled in. */
-#if defined(DELAYED_ACK) && !defined(DHCP4o6)
+#if defined(DELAYED_ACK)
{ "delayed-ack", "S", &server_universe, 58, 1 },
{ "max-ack-delay", "L", &server_universe, 59, 1 },
#endif