Skip to content

RFC Multiple interfaces support and lots of cmdline parsing

Seewer Philippe initramfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 16 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5Add "die" and some minor changes in basemodules.d/99base/dracut-lib modules.d/99base/init modules.d/99base/parse-root-opts.sh+0 -03 replies
2/5network/netrootmodules.d/40network/60-net.rules modules.d/40network/dhclient-script modules.d/40network/dhclient.conf +4 more+4 -274 replies
3/5nfsrootmodules.d/95nfs/install modules.d/95nfs/nfs-netroot.sh modules.d/95nfs/nfsroot +1 more+1 -680 replies
4/5nbdrootmodules.d/95nbd/install modules.d/95nbd/nbd-netroot.sh modules.d/95nbd/nbdroot +1 more+1 -180 replies
5/5iscsirootmodules.d/95iscsi/install modules.d/95iscsi/iscsi-netroot.sh modules.d/95iscsi/iscsiroot +1 more+1 -160 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/5] Multiple interfaces support and lots of cmdline parsing

Basically dracut has a problem with netroot when booting with multiple nics. If we have multiple interfaces online at the same time, we don't really know which interface to use for default-route or dhcp root-path source.

This series of patches adresses this problem by delegating the real interface configuration to netroot and introducing a new cmdline argument. I'll try to explain to solution with two use cases:

Case 1: Multiple interfaces with ip=dhcp or ip=client-ip... but no <dev>

The problem here is that we can't up just every eth that pops up. Default-route or whatever will get confused.

The solution here is that ifup and/or dhclient script just write the necessary ip statements into /tmp/net.$dev.* and netroot (which is synchronized by a lock) just uses one interface at a time, deconfiguring it if mounting fails.

Case 2: Multiple interfaces with multiple ip= lines

This is a case where the user expects all interfaces to be up before mounting. Think bonding, iscsi multipathing, etc.

The solution here is that the ip cmdline parsers enforces the presence of <dev> for multiple ip= lines and further demands that the new argument bootdev contains the name of the primary interface to be used for routing etc. Configuration is of course again delegated to netroot but in this case netroot takes additional care to "wait" for all required interfaces to be up.

In order to ensure correct ip= lines I've added a lot of cmdline parseing and some mostly minor rewrites of actual netroot handlers.

Thanks for reviewing (or accepting) the stuff,
Philippe
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html