#
296807 |
|
13-Mar-2016 |
ian |
Require firewall setup before running rc.d/netwait, otherwise the ping packets sent by netwait may not get through.
PR: 207916 Submitted by: John.Marshall@riverwillow.com.au (ipfw), ian@ (pf, ipfilter)
|
#
292752 |
|
26-Dec-2015 |
ian |
Enhance rc.d/netwait script to wait for late-attaching interfaces such as USB NICs.
USB network hardware may not be enumerated and available when the rc.d networking scripts run. Eventually the USB attachment completes and devd events cause the network initialization to happen, but by then other rc.d scripts have already failed, because services which depend on NETWORKING (such as mountcritremote) may end up running before the network is actually ready.
There is an existing netwait script, but because it is dependent on NETWORKING it runs too late to prevent failure of some other rc scripts. This change flips the order so that NETWORKING depends on netwait, and netwait now depends on devd and routing (the former is needed to make interfaces appear, and the latter is needed to run the ping tests in netwait).
The netwait script used to be oriented primarily towards "as soon as any host is reachable the network is fully functional", so you gave it a list of IPs to try and you could optionally name an interface and it would wait for carrier on that interface. That functionality still works the same, but now you can provide a list of interfaces to wait for and it waits until each one of them is available. The ping logic still completes as soon as the first IP on the list responds.
These changes were submitted by Brenden Molloy <brendan+freebsd@bbqsrc.net> in PR 205186, and lightly modified by me to allow a list of interfaces instead of just one.
PR: 205186 Differential Revision: https://reviews.freebsd.org/D4608 (timeout w/o review)
|
#
230099 |
|
14-Jan-2012 |
dougb |
Prepare for the removal of set_rcvar() by changing the rcvar= assignments to the literal values it would have returned.
The concept of set_rcvar() was nice in theory, but the forks it creates are a drag on the startup process, which is especially noticeable on slower systems, such as embedded ones.
During the discussion on freebsd-rc@ a preference was expressed for using ${name}_enable instead of the literal values. However the code portability concept doesn't really apply since there are so many other places where the literal name has to be searched for and replaced. Also, using the literal value is also a tiny bit faster than dereferencing the variables, and every little bit helps.
|