On Feb 24, 2009, at 7:21 AM, Seewer Philippe <philippe.seewer@xxxxxx>
wrote:
Victor Lowther wrote:
[snip]
Though I see a small problem: Ever thought about what happens if
there are multiple interfaces on different networks? Only one is
valid to mount the root-fs... Currently I've solved that by upping
each interface and then ping-testing the nfs-server... Any better
ideas?
My current plan was to try and mount the NFS share forever, and maybe
panic and die if a timeout option was passed as a kernel parameter.
Yes, I have thought about it, and have come to the conclusion that
it is
one of those problems that someone who actually uses it is better
equipped to solve. Writing the code to bring interfaces up and mount
filesystems is generic, writing code to see if servers are responding
depends on the environment -- the best way for me to handle it is to
make it dead simple for site admins to handle it.
I agree, the ifup and mount should be pretty generic.
Browsing through the code a bit more thorougly throws up a few
questions:
- 'dhclient -nw': Why are you starting the dhclient in daemon mode?
Couldn't that pose problems when dhcp takes ages to acquire an
adress? I mean like, we've ifup'ed all interfaces and are allready
in the mount hooks without an ip. I guess we'd have to have a
blocking mount-script waiting for at least one interface to be
really brought up or spew an error message after a specific time out.
I run it in daemon mode so that udev does not have to wait on it. The
dhclient-script creates a file when the interface is up, and any
mounts that depend on the network can wait for those files to appear.
ifup does the same thing with static interfaces.
- default gw handling in dhclient-script: 'ip route add default'
will fail if there's already another default route (Again the case
of multiple interfaces). Would it be an idea not set a default route
at all and let a mount-script handle this?
How would the mount script know how to handle this?
- I'd suggest adding something like if-pre-up.d, etc. Would make it
easy to integrate wireless and/or wpa support.
I have no particular plans to add this type of support, but patches
are welcome.
- Why are you killing dhclient at the end?
Because I have no idea how well of handles its root filesystem
vanishing, and all I care about it doing is getting the interface
configured. I do not care about long-term link management.
Thanks for the great work!
Philippe
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html