From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: netdev@vger.kernel.org
Cc: kernel@pengutronix.de
Subject: ip=dhcp woes
Date: Thu, 28 Jul 2016 13:26:13 +0200 [thread overview]
Message-ID: <20160728112613.n72e6pein3b5lm4b@pengutronix.de> (raw)
Hello,
I have a machine with four network interfaces and I'm using ip=dhcp
during development on it.
in ic_dynamic the procedure is the following (assuming no successful
reply is received in time):
timeout = 2s + random([0, 1]) s
loop:
send bootp on 1st dev
wait 1s
send bootp on 2nd dev
wait 1s
send bootp on 3rd dev
wait 1s
send bootp on 4th dev
wait timeout
timeout = timeout * 4 / 7
goto loop;
My problem now is: The dhcp server is reachable via the first device and
takes little more than 1s to respond. A reply must match the last sent
request to be accepted.
So the obvious questions are:
Why is only the last timeout increased for each loop? Why is there a
difference at all between the waits which results in a special casing of
the last device?
Alternatively, why not accept a reply on eth0 when eth1 has already sent
a request? Then the procedure could be:
timeout = 2s + random([0, 1]) s
loop:
send bootp on 1st dev
send bootp on 2nd dev
send bootp on 3rd dev
send bootp on 4th dev
wait timeout
timeout = timeout * 4 / 7
goto loop;
which looks more effective.
Is there anything I missed?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next reply other threads:[~2016-07-28 11:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-28 11:26 Uwe Kleine-König [this message]
2016-07-29 9:30 ` [PATCH 0/3] net: ipconfig: improve DHCP timeout handling Uwe Kleine-König
2016-07-29 9:30 ` [PATCH 1/3] net: ipconfig: Add device name to debug messages Uwe Kleine-König
2016-07-29 9:30 ` [PATCH 2/3] net: ipconfig: Support using "delayed" DHCP replies Uwe Kleine-König
2016-07-29 9:30 ` [PATCH 3/3] net: ipconfig: drop inter-device timeout Uwe Kleine-König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160728112613.n72e6pein3b5lm4b@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=kernel@pengutronix.de \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.