Subject: Re: [RFC PATCH] net: ipv4: increase dhcp inter device timeout

From: YOSHIFUJI Hideaki <[email-masked]>
Date: Fri, 07 Aug 2015 16:15:46 +0900

Hi,

Mugunthan V N wrote:
> When a system has multiple ethernet devices and during DHCP
> request (for using NFS), the system waits only for HZ/2 which is
> 500mS before switching to another interface for DHCP.
> 
> There are some routers (Ex: Trendnet routers) which responds to
> DHCP request at about 560mS. When the system has only one
> ethernet interface there is no issue as the timeout is 2S and the
> dev xid doesn't change and only retries.
> 
> But when the system has multiple Ethernet like DRA74x with CPSW
> in dual EMAC mode, the DHCP response is dropped as the dev xid
> changes while shifting to the next device. So changing inter
> device timeout to HZ (which is 1S).
> 
> Signed-off-by: Mugunthan V N <[email-masked]>
> ---
>  net/ipv4/ipconfig.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
> index 8e7328c..bdb8cb5 100644
> --- a/net/ipv4/ipconfig.c
> +++ b/net/ipv4/ipconfig.c
> @@ -94,7 +94,7 @@
>  /* Define the timeout for waiting for a DHCP/BOOTP/RARP reply */
>  #define CONF_OPEN_RETRIES 	2	/* (Re)open devices twice */
>  #define CONF_SEND_RETRIES 	6	/* Send six requests per open */
> -#define CONF_INTER_TIMEOUT	(HZ/2)	/* Inter-device timeout: 1/2 second */
> +#define CONF_INTER_TIMEOUT	(HZ)	/* Inter-device timeout: 1/2 second */

You should update comment as well at least.

--yoshfuji

>  #define CONF_BASE_TIMEOUT	(HZ*2)	/* Initial timeout: 2 seconds */
>  #define CONF_TIMEOUT_RANDOM	(HZ)	/* Maximum amount of randomization */
>  #define CONF_TIMEOUT_MULT	*7/4	/* Rate of timeout growth */
> 

-- 
Hideaki Yoshifuji <[email-masked]>
Technical Division, MIRACLE LINUX CORPORATION