https://bugzilla.suse.com/show_bug.cgi?id=1173402 https://bugzilla.suse.com/show_bug.cgi?id=1173402#c15 --- Comment #15 from Fabian Vogt <fvogt@suse.com> --- (In reply to Thomas Blume from comment #14)
(In reply to Fabian Vogt from comment #12)
- Touch did-setup in the "# no ip option directed at our interface?" case after successful do_dhcp
0b998beebc008f2dda2eed8a36d59f4a258cb27a introduced the code to handle the latter, but: - It also runs in cases where the do_dhcp in this block wasn't actually run (like in this bug report) - The $? it checks is meaningless at this point due to the ifs
Hm, did you check the latest code? There is:
if [ $? -eq 0 ] && [ -n "$(ls /tmp/leaseinfo.${netif}*)" ]; then
the leasinfo file won't be there if there was no dhcp setup.
Yes, but the use of $? there is still wrong AFAICT.
In the "rd.neednet=1 bootdev=eth0" case it actually runs do_dhcp twice for the interface, as both "# No ip ..." blocks apply. Maybe those blocks should be merged?
Those parameters are a bit different, bootdev is documented as: --> bootdev=<interface> specify network interface to use routing and netroot information from. Required if multiple ip= lines are used. --<
So it is bound to the netroot case and a specific interface, whereas rd.neednet does the network setup unconditionally.
That seems to be working with netroot, but not depend on netroot. It doesn't say that bootdev can only be specified if multiple ip= options are set, but only that it is mandatory in that case.
Also, the code for evaluating rd.neednet isn't in ifup.sh but in net-genrules.sh.
Considering the duplicate run of do_dhcp, I'd blame this at the missing check for netroot as outlined above.
Not tested, but would that just move the "dhcp twice" case to netroot only? There's nothing which prevents the "# no ip option directed at our interface?" block from running after "# No ip lines default to dhcp" as the former doesn't touch /tmp/net.${netif}.up, does it? -- You are receiving this mail because: You are the assignee for the bug.