All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Ahern <dsahern@gmail.com>
To: Tim Rice <trice@posteo.net>,
	netdev@vger.kernel.org, Petr Machata <petrm@nvidia.com>
Subject: Re: [BUG] Iproute2 batch-mode fails to bring up veth
Date: Tue, 16 Mar 2021 09:18:18 -0600	[thread overview]
Message-ID: <be8904d6-4313-250d-1557-10c759a36ff3@gmail.com> (raw)
In-Reply-To: <YE+z4GCI5opvNO2D@sleipnir.acausal.realm>

On 3/15/21 1:22 PM, Tim Rice wrote:
> Hey all,
> 
> Sorry if this isn't the right place to report Iproute2 bugs. It was
> implied by README.devel as well as a couple of entries I saw in bugzilla.
> 
> I use iproute2 batch mode to construct network namespaces. Example script:
> 
>   $ cat ~/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
> 
> 
> I noticed when version 5.11.0 dropped that this stops working. Batch
> mode fails to bring up the inner veth.
> 
> Expected usage (as produced by v5.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 behaviour:
> 
>   $ sudo ./bin/netns-test.sh
>   $ sudo ip netns exec netns-test ip route  # Notice the empty output
>   $ sudo ip netns exec netns-test ip link
>   1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST> 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
> 
> System info:
> 
> * Distro: Void Linux
> * Kernel version: 5.10.23
> * CPU: AMD Ryzen 7 1800X and Ryzen 5 2600. (Reproduced on both.)
> 
> Git bisect pinpoints this commit:
> https://github.com/shemminger/iproute2/commit/1d9a81b8c9f30f9f4abeb875998262f61bf10577
> 

Petr, can you take a look at this regression?


  parent reply	other threads:[~2021-03-16 15:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-15 19:22 [BUG] Iproute2 batch-mode fails to bring up veth Tim Rice
2021-03-16  8:39 ` Ido Schimmel
2021-03-16 11:08   ` Petr Machata
2021-03-16 22:31     ` Tim Rice
2021-03-16 15:18 ` David Ahern [this message]
2021-03-16 16:09   ` Petr Machata

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=be8904d6-4313-250d-1557-10c759a36ff3@gmail.com \
    --to=dsahern@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=petrm@nvidia.com \
    --cc=trice@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.