First let me say that I don't think that the current system is ideal. However, it does work, and it is the best that we can do so long as we can't make changes to the ifupdown package.
On Thu, 2005-04-07 at 18:03 -0700, Jean Tourrilhes wrote: > A) The current solution only deal with events generated at > step 6, therefore is incomplete. Events generated at 2 are always > lost, events generated at 4 are usually lost. I don't think that that is true. Anything that causes a hotplug event will start a net.ifup process. Please explain why you think that events get lost. > B) Forking a script adds overhead, this overhead occur in > every case, even if ifup is available. Most often, ifup is already up > and this overhead should not occur. The overhead is insignificant. > C) A process is an expensive way to keep a simple state, each > waiting process consume memory during the boot process. Let's not even > talk of the busy wait. Polling is an easy way to enforce synchronization. > Proposed solution : > ----------------- > The same solution that was adopted for PCI and USB should be > implemented for NET : > o net.rc scan the list of available network interface and > generates all the event that were lost in 2, 4 and 6. Basically, it > generates an event for each interface found on the system. Please explain why you think that events get lost. > o net.agent drop/ignore events if called before net.agent, > otherwise calls directly ifup (no forking). ... if called before net.enable is created? > It's pretty obvious that such solution would have a much lower > overhead. Also, being more similar to PCI and USB would help for > maintainance, and it could be pushed back upstream. > > The list of interfaces is available in /proc/net/dev, in > /sys/class/net/ or via "ifconfig -a". Cheers! -- Thomas Hood <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]