http://bugzilla.novell.com/show_bug.cgi?id=573246 http://bugzilla.novell.com/show_bug.cgi?id=573246#c21 Marius Tomaschewski <mt@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mt@novell.com --- Comment #21 from Marius Tomaschewski <mt@novell.com> 2010-06-22 11:51:05 UTC --- (In reply to comment #16)
(In reply to comment #15)
This bug was not reproducible in my setup with dhclient and that is why I'm thinking this is a dhcpcd issue. Could you see whether it is reproducible when you use dhclient instead of dhcpcd?
It's not surprising that the problem doesn't exist with dhclient. With dhcpcd a complex script (/etc/sysconfig/network/scripts/dhcpcd-hook) is called periodically every time the lease is renewed. dhclient uses a completely different script (/sbin/dhclient-script) which is only called once after dhclient initially gets the lease.
dhclient (at startup): ---------------------- ifup br0 --> ifup-dhcp br0 --> /sbin/dhclient --> /sbin/dhclient-script
dhclient (at lease renewal): ---------------------- /sbin/dhclient <nothing>
dhcpcd (at startup): -------------------- ifup br0 --> ifup-dhcp br0 --> /sbin/dhcpcd --> /etc/sysconfig/network/scripts/dhcpcd-hook --> ifdown br0 -o dhcp --> ifup br0 -o dhcp --> if-up.d/21-smbfs --> rcsmbfs restart
dhcpcd (at lease renewal): -------------------------- /sbin/dhcpcd --> /etc/sysconfig/network/scripts/dhcpcd-hook --> ifup br0 -o dhcp --> if-up.d/21-smbfs --> rcsmbfs restart
I'd say it is a broken 21-smbfs script, that ignores the -o dhcp options and restarts the smb/nmb on every "up" ("up ; up ; up" without a "down" between) without any reason / check. Note also: "new" arg to dhcpcd-hook != "dhcp renew": - "new" argument in dhcpcd-hook (dhcpcd --script interface) does not mean "renew" as the name may suggest. it means: new IP address => restart everything; the dhcpcd-hook calls "ifdown $iface -o dhcp ; ifup $iface -o dhcp" then. - "up" argument in dhcpcd-hook means, IP didn't changed changed since last reboot (==dhcp reboot state) and the interface configuration finished. that is, "up" basically means "renew". => just signal post-scripts that we are "up" now via "ifup -o dhcp". We've added an additional "complete" action to dhcpcd/dhcpcd-hook that is called after "up" and "new" and signals, that at this point really all configuration steps are complete, e.g. also the hostname is up-to-date. The "ifup $iface -o dhcp" is called in complete now. The difference is dhcpcd<->dhcpcd-hook internal: - before: up: ... ifup $iface -o dhcp new: ... ifdown $iface -o dhcp ; ifup $iface -o dhcp - current: up: ... new: ... ifdown $iface -o dhcp complete: ifup $iface -o dhcp Note also, that dhclient[-script] was not 100% integrated here and didn't executed any ifup / ifdown -o dhcp actions (that is if-up.d or ifservice scripts) until now. This has been completed/fixed in factory. BTW: See also "man 5 ifservices". -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.