[Bug 6212] New: ifupdown: correct ifstate update on ifup -a
bugzilla at busybox.net
bugzilla at busybox.net
Wed Apr 24 12:16:19 UTC 2013
https://bugs.busybox.net/show_bug.cgi?id=6212
Summary: ifupdown: correct ifstate update on ifup -a
Product: Busybox
Version: unspecified
Platform: All
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Networking
AssignedTo: unassigned at busybox.net
ReportedBy: richard.genoud at gmail.com
CC: busybox-cvs at busybox.net
Estimated Hours: 0.0
Created attachment 4844
--> https://bugs.busybox.net/attachment.cgi?id=4844
patch correcting ifup -a behaviour
When ifup -a is called and there's an error on one interface, ifstate isn't
updated, even if some interfaces went up successfully.
Patch attached.
Version : 1.21.0
Steps to reproduce :
/etc/network/interfaces :
iface eth0 inet static
address 192.168.2.240
netmask 255.255.255.0
auto eth0 lo
iface lo inet loopback
(order of "auto eth0 lo" is important, doesn't happens with
"auto lo eth0")
at startup:
$ cat /var/run/ifstate
eth0=eth0
lo=lo
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:A3:91:C4:E3
inet addr:192.168.2.240 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:26 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
$ ifdown -a -v
run-parts /etc/network/if-down.d
ip addr flush dev eth0
ip link set eth0 down
run-parts /etc/network/if-post-down.d
run-parts /etc/network/if-down.d
ip addr flush dev lo
ip link set lo down
run-parts /etc/network/if-post-down.d
$ cat /var/run/ifstate
$ ifconfig
$ # add an address to make ifupdown fail on eth0
$ # we could also add a non-exitant interface in network/interfaces
$ ip addr add 192.168.2.240/24 dev eth0 label eth0
$ ifconfig
$ ifup -a -v
run-parts /etc/network/if-pre-up.d
ip addr add 192.168.2.240/24 dev eth0 label eth0
RTNETLINK answers: File exists
ip link set eth0 up
run-parts /etc/network/if-pre-up.d
ip addr add 127.0.0.1/8 dev lo
ip link set lo up
run-parts /etc/network/if-up.d
$ cat /var/run/ifstate
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:A3:91:C4:E3
inet addr:192.168.2.240 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:26 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo has been brought by ifupdown and still /var/run/ifstate is empty.
/var/run/ifstate should have been :
lo=lo
and with "auto lo eth0", it is lo=lo
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the busybox-cvs
mailing list