diff --git a/src/Cedar/IPC.c b/src/Cedar/IPC.c index 60e17c08..eeed8f7d 100644 --- a/src/Cedar/IPC.c +++ b/src/Cedar/IPC.c @@ -899,7 +899,7 @@ DHCPV4_DATA *IPCSendDhcpRequest(IPC *ipc, IP *dest_ip, UINT tran_id, DHCP_OPTION } // Retransmission interval - resend_interval = MAX(1, (timeout / 3) - 100); + resend_interval = MIN(IPC_DHCP_MAX_RESEND_INTERVAL, MAX(1, (timeout / 3) - 100)); // Time-out time giveup_time = Tick64() + (UINT64)timeout; diff --git a/src/Cedar/IPC.h b/src/Cedar/IPC.h index d64627a7..3179ee4e 100644 --- a/src/Cedar/IPC.h +++ b/src/Cedar/IPC.h @@ -19,6 +19,7 @@ #define IPC_DHCP_TIMEOUT (5 * 1000) #define IPC_DHCP_MIN_LEASE 5 #define IPC_DHCP_DEFAULT_LEASE 3600 +#define IPC_DHCP_MAX_RESEND_INTERVAL (3 * 1000) #define IPC_MAX_PACKET_QUEUE_LEN 10000