ifupdown: when flushing addresses with "ip", add label %label%
User report: or our board we setup eth0:0 on a 10.10.10.x/29 netwrok. The problem is ip addr flush dev eth0:0 removes all ip addresses from eth0. You can see this if you run ip -stat -stat addr flush dev eth0:0 2: eth0 inet 172.27.105.10/22 brd 172.27.107.255 scope global eth0 valid_lft forever preferred_lft forever 2: eth0 inet 10.10.10.9/29 scope global eth0:0 valid_lft forever preferred_lft forever 2: eth0 inet6 fe80::a2f6:fdff:fe18:2b13/64 scope link valid_lft forever preferred_lft forever *** Round 1, deleting 3 addresses *** *** Flush is complete after 1 round *** Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
244fdd45c7
commit
92d98f0612
@ -503,7 +503,10 @@ static int FAST_FUNC static_down(struct interface_defn_t *ifd, execfn *exec)
|
|||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
# if ENABLE_FEATURE_IFUPDOWN_IP
|
# if ENABLE_FEATURE_IFUPDOWN_IP
|
||||||
result = execute("ip addr flush dev %iface%", ifd, exec);
|
/* Optional "label LBL" is necessary if interface is an alias (eth0:0),
|
||||||
|
* otherwise "ip addr flush dev eth0:0" flushes all addresses on eth0.
|
||||||
|
*/
|
||||||
|
result = execute("ip addr flush dev %iface%[[ label %label%]]", ifd, exec);
|
||||||
result += execute("ip link set %iface% down", ifd, exec);
|
result += execute("ip link set %iface% down", ifd, exec);
|
||||||
# else
|
# else
|
||||||
/* result = execute("[[route del default gw %gateway% %iface%]]", ifd, exec); */
|
/* result = execute("[[route del default gw %gateway% %iface%]]", ifd, exec); */
|
||||||
|
Loading…
Reference in New Issue
Block a user