Re: what is the RIGHT(TM) way to configure background DHCP?

2011-07-06 Thread Freddie Cash
On Wed, Jul 6, 2011 at 12:47 PM, deeptec...@gmail.com
wrote:

> the boot process of my FreeBSD machines takes a relatively long time.
> it spends 30 seconds idling at some point, because my network
> interface (sk0) is supposed to have an IP address assigned via DHCP,
> and the DHCP server on my LAN takes an extremely long time (~40
> seconds) to reply to IP address requests. this is unacceptable for me;
> i want the FreeBSD boot process to finish 30 seconds earlier, even if
> i won't get the chance to use the network for ~40 seconds after the
> booting has finished.
>
The simplest method would be to put into /etc/rc.conf:
  ifconfig_sk0="up"

Then into /etc/rc.local:
  dhclient sk0 &

That would bring your interface "up" during the boot process, then manually
fire off dhclient once the normal boot process has ended (right before the
login prompt appears) as a background process.  By the time you login, the
IP should be assigned.

As for what's "the correct way" to do this via just rc.conf, I'll leave that
up to others more "in the know" about how RC works.


-- 
Freddie Cash
fjwc...@gmail.com
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: what is the RIGHT(TM) way to configure background DHCP?

2011-07-06 Thread Garrett Cooper
On Wed, Jul 6, 2011 at 12:47 PM, deeptec...@gmail.com
 wrote:
> (i intend the discussion to take place primarily on the
> freebsd-hackers list, i'm CCing the freebsd-current list for a reason
> stated below.)
>
> (original first post:
> http://lists.freebsd.org/pipermail/freebsd-questions/2011-June/231301.html)
>
> On Mon, Jul 4, 2011 at 4:20 PM, Lowell Gilbert  wrote:
>> You might want to try rewording your question, because it didn't make
>> any sense the first time.
>
> very well. though the question should have made perfect sense the first time.
>
>> [All of your examples were commented out, so
>> it was no surprise that they didn't work.]
>
> i chose to use # characters to separate rc.conf snippets from the
> other sentences i wrote. though perhaps #s were an unfortunate choice,
> because a # has a comment-begins-here meaning in rc.conf. in any case,
> "attempt 1" and "attempt 2" didn't work, but "attempt 3" did work, and
> that rules out the use of # for comments in rc.conf. now i will use
> "= rc.conf snippet begins =" and "= rc.conf snippet ends
> =" instead of # characters.
>
>> I considered trying to use my chrystal ball to guess that you needed
>> "SYNCDHCP" in your interface config, but you had obviously read the
>> manual for rc.conf(5), so that seemed unlikely...
>
> and "SYNCDHCP" makes things even worse. (i have no idea what
> "SYNCDHCP" is supposed to do, but in my experience:) "SYNCDHCP" makes
> the boot process wait until DHCP server replies before proceeding.
> "SYNCDHCP" is actually almost the same as "DHCP", except that
> "SYNCDHCP" waits indefinitely, while "DHCP" waits for at most
> defaultroute_delay, and also, "DHCP" gets "Starting network: lo0 sk0.
> " printed *before* the IP address
> assignment process starts, while "SYNCDHCP" gets "Starting network:
> lo0 sk0. " printed *after* the IP
> address assignment process finishes.
>
> so here is the question rephrased:
>
> the boot process of my FreeBSD machines takes a relatively long time.
> it spends 30 seconds idling at some point, because my network
> interface (sk0) is supposed to have an IP address assigned via DHCP,
> and the DHCP server on my LAN takes an extremely long time (~40
> seconds) to reply to IP address requests. this is unacceptable for me;
> i want the FreeBSD boot process to finish 30 seconds earlier, even if
> i won't get the chance to use the network for ~40 seconds after the
> booting has finished.
>
> this was the actual case when my rc.conf had the following options
> related to network interfaces:
> = rc.conf snippet begins =
> ifconfig_sk0="DHCP"
> = rc.conf snippet ends =
>
> it took me 3 rc.conf configuration attempts to find a configuration in
> which the boot process does not idle for 30 seconds.
>
> the following was the first attempt:
> = rc.conf snippet begins =
> background_dhclient="YES"
> background_dhclient_sk0="YES"
> = rc.conf snippet ends =
> with this configuration, the DHCP client isn't even started. ie., the
> boot process does not idle at all (that's good!), but the network
> interface will never receive an IP address automatically (that's very
> bad!).
>
> here is the second attempt:
> = rc.conf snippet begins =
> ifconfig_sk0="DHCP"
> background_dhclient="YES"
> background_dhclient_sk0="YES"
> = rc.conf snippet ends =
> with this configuration, the DHCP client is started, but the boot
> process still idles for 30 seconds at some point (as if the
> background_dhclient and background_dhclient_ variables had no
> effect).
>
> the final attempt is:
> = rc.conf snippet begins =
> ifconfig_sk0="DHCP"
> defaultroute_delay="0"
> = rc.conf snippet ends =
> this configuration works, ie., during the boot process, there is no
> idling related to waiting for a DHCP server to reply. but this
> configuration looks hacky.
>
> so what is the RIGHT(TM) way to configure the boot process not to idle
> much in case of a slow DHCP server, and why?
>
> i ask this question partially because there is an rc.conf option
> background_dhclient (also, background_dhclient_), which doesn't
> seem to do anything, though it should, since it exists (either that,
> or the option should be removed). (there has been a recent discussion
> on the freebsd-current list about rc.d parallelization; [reason for
> CCing:] could recent rc.d changes have made the background_dhclient
> option useless?)
>
> i'd like to have an in-depth explanation on what effect should any
> combination of the following options should have on the boot process:
> defaultroute_delay="0", background_dhclient="YES",
> synchronous_dhclient="YES". (for example, using both
> background_dhclient="YES" and synchronous_dhclient="YES" seems stupid;
> i need a clarification if that's not the case.) what's the explanation
> if there is more than 1 network card (all of which are to have IP
> addresses assigned via DHCP)?

Hi,
You'll need ifconfig_sk0="DHCP" in order to get dhclient t

Re: what is the RIGHT(TM) way to configure background DHCP?

2011-07-06 Thread deeptec...@gmail.com
(i intend the discussion to take place primarily on the
freebsd-hackers list, i'm CCing the freebsd-current list for a reason
stated below.)

(original first post:
http://lists.freebsd.org/pipermail/freebsd-questions/2011-June/231301.html)

On Mon, Jul 4, 2011 at 4:20 PM, Lowell Gilbert  wrote:
> You might want to try rewording your question, because it didn't make
> any sense the first time.

very well. though the question should have made perfect sense the first time.

> [All of your examples were commented out, so
> it was no surprise that they didn't work.]

i chose to use # characters to separate rc.conf snippets from the
other sentences i wrote. though perhaps #s were an unfortunate choice,
because a # has a comment-begins-here meaning in rc.conf. in any case,
"attempt 1" and "attempt 2" didn't work, but "attempt 3" did work, and
that rules out the use of # for comments in rc.conf. now i will use
"= rc.conf snippet begins =" and "= rc.conf snippet ends
=" instead of # characters.

> I considered trying to use my chrystal ball to guess that you needed
> "SYNCDHCP" in your interface config, but you had obviously read the
> manual for rc.conf(5), so that seemed unlikely...

and "SYNCDHCP" makes things even worse. (i have no idea what
"SYNCDHCP" is supposed to do, but in my experience:) "SYNCDHCP" makes
the boot process wait until DHCP server replies before proceeding.
"SYNCDHCP" is actually almost the same as "DHCP", except that
"SYNCDHCP" waits indefinitely, while "DHCP" waits for at most
defaultroute_delay, and also, "DHCP" gets "Starting network: lo0 sk0.
" printed *before* the IP address
assignment process starts, while "SYNCDHCP" gets "Starting network:
lo0 sk0. " printed *after* the IP
address assignment process finishes.

so here is the question rephrased:

the boot process of my FreeBSD machines takes a relatively long time.
it spends 30 seconds idling at some point, because my network
interface (sk0) is supposed to have an IP address assigned via DHCP,
and the DHCP server on my LAN takes an extremely long time (~40
seconds) to reply to IP address requests. this is unacceptable for me;
i want the FreeBSD boot process to finish 30 seconds earlier, even if
i won't get the chance to use the network for ~40 seconds after the
booting has finished.

this was the actual case when my rc.conf had the following options
related to network interfaces:
= rc.conf snippet begins =
ifconfig_sk0="DHCP"
= rc.conf snippet ends =

it took me 3 rc.conf configuration attempts to find a configuration in
which the boot process does not idle for 30 seconds.

the following was the first attempt:
= rc.conf snippet begins =
background_dhclient="YES"
background_dhclient_sk0="YES"
= rc.conf snippet ends =
with this configuration, the DHCP client isn't even started. ie., the
boot process does not idle at all (that's good!), but the network
interface will never receive an IP address automatically (that's very
bad!).

here is the second attempt:
= rc.conf snippet begins =
ifconfig_sk0="DHCP"
background_dhclient="YES"
background_dhclient_sk0="YES"
= rc.conf snippet ends =
with this configuration, the DHCP client is started, but the boot
process still idles for 30 seconds at some point (as if the
background_dhclient and background_dhclient_ variables had no
effect).

the final attempt is:
= rc.conf snippet begins =
ifconfig_sk0="DHCP"
defaultroute_delay="0"
= rc.conf snippet ends =
this configuration works, ie., during the boot process, there is no
idling related to waiting for a DHCP server to reply. but this
configuration looks hacky.

so what is the RIGHT(TM) way to configure the boot process not to idle
much in case of a slow DHCP server, and why?

i ask this question partially because there is an rc.conf option
background_dhclient (also, background_dhclient_), which doesn't
seem to do anything, though it should, since it exists (either that,
or the option should be removed). (there has been a recent discussion
on the freebsd-current list about rc.d parallelization; [reason for
CCing:] could recent rc.d changes have made the background_dhclient
option useless?)

i'd like to have an in-depth explanation on what effect should any
combination of the following options should have on the boot process:
defaultroute_delay="0", background_dhclient="YES",
synchronous_dhclient="YES". (for example, using both
background_dhclient="YES" and synchronous_dhclient="YES" seems stupid;
i need a clarification if that's not the case.) what's the explanation
if there is more than 1 network card (all of which are to have IP
addresses assigned via DHCP)?
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: what is the RIGHT(TM) way to configure background DHCP?

2011-07-04 Thread Lowell Gilbert
"deeptec...@gmail.com"  writes:

> moving [ 
> http://lists.freebsd.org/pipermail/freebsd-questions/2011-June/231301.html
> ] to the freebsd-hackers list, as there doesn't seem to be enough 1337
> people in the freebsd-questions list. :<

You might want to try rewording your question, because it didn't make
any sense the first time.  [All of your examples were commented out, so
it was no surprise that they didn't work.]

I considered trying to use my chrystal ball to guess that you needed
"SYNCDHCP" in your interface config, but you had obviously read the
manual for rc.conf(5), so that seemed unlikely...
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"


Re: what is the RIGHT(TM) way to configure background DHCP?

2011-07-04 Thread deeptec...@gmail.com
moving [ 
http://lists.freebsd.org/pipermail/freebsd-questions/2011-June/231301.html
] to the freebsd-hackers list, as there doesn't seem to be enough 1337
people in the freebsd-questions list. :<
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"