New issue by cryptarch on void-packages repository https://github.com/void-linux/void-packages/issues/29468 Description: Hi, (This should probably go upstream, but it's not clear whether iproute2 bug reports are welcome on the [netdev mailing list](http://vger.kernel.org/vger-lists.html#netdev). So I thought I'd start here because I first noticed the problem when pulling in iproute 5.11.0 on one of my Void Linux boxen today.) ### System * xuname: `Void 5.10.23_1 x86_64 AuthenticAMD uptodate rrrmFFFFFFF` * package: `iproute2-5.11.0_1` ### Expected behavior Iproute2 batch mode should be able to build a working network namespace. See below in "how to reproduce" section for the example script `netns-test.sh`. Expected usage and output (works in 5.10.0): ``` $ sudo ./bin/netns-test.sh $ sudo ip netns exec netns-test ip route default via 192.168.5.1 dev netns-test-1 192.168.0.0/24 via 192.168.5.1 dev netns-test-1 192.168.5.0/24 dev netns-test-1 proto kernel scope link src 192.168.5.2 192.168.5.1 dev netns-test-1 proto kernel scope link src 192.168.5.2 ``` ### Actual behavior The inner veth doesn't come up properly: ``` $ sudo ./bin/netns-test.sh $ sudo ip netns exec netns-test ip route $ sudo ip netns exec netns-test ip link Password: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 39: netns-test-1@if40: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 1a:96:4e:4f:84:31 brd ff:ff:ff:ff:ff:ff link-netnsid 0 ``` ### Steps to reproduce the behavior Put this into a script such as `~/bin/netns-test.sh`: ``` #! /bin/bash gw=192.168.5.1 ip=192.168.5.2 ns=netns-test veth0=${ns}-0 veth1=${ns}-1 /usr/local/sbin/ip -b - << EOF link add $veth0 type veth peer name $veth1 addr add $gw peer $ip dev $veth0 link set dev $veth0 up netns add $ns link set $veth1 netns $ns netns exec $ns ip link set dev lo up netns exec $ns ip link set dev $veth1 up netns exec $ns ip addr add $ip/24 dev $veth1 netns exec $ns ip addr add $ip peer $gw dev $veth1 netns exec $ns ip route add default via $gw dev $veth1 netns exec $ns ip route add 192.168.0.0/24 via $gw dev $veth1 EOF ``` Run the script and then check whether it works with commands such as `ip netns exec netns-test ip link` and `ip netns exec netns-test ip route`. Note that `git bisect` identifies `1d9a81b8c9f30f9f4abeb875998262f61bf10577` as the offending commit.