On Mon, 7 Nov 2022 14:21:30 +1100 David Gibson <david(a)gibson.dropbear.id.au> wrote:On Fri, Nov 04, 2022 at 02:53:36AM +0100, Stefano Brivio wrote:Yes... the outcome of "pasta --config-net ip address show" (compared to "pasta --config-net -- sh -c 'sleep 0.05; ip address show'") is a bit bothering.As pasta now configures that target network namespace with --config-net, we need to wait for addresses and routes to be actually present. Just sending netlink messages doesn't mean this is done synchronously. A more elegant alternative, which probably makes sense regardless of this test setup, would be to query, from pasta, addresses and routes we added, and wait until they're there, before proceeding. Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>Ugly, but I see the point. As you say in future I hope we can actually detect the completion of interface configuration which would be useful both here and other places.One other thing to consider - in the case where pasta is spawing a new process, rather than attaching to an existing one, it's possibly counterintuitive that the process starts before pasta has completed setup. We possibly should get the spawned thread to wait until the main pasta thread is entering its main loop before exec()ing the shell. Obviously requires some sync mechanism, which is a bit clunky.Right, that might be a problem if somebody spawns a script that relies on the tap interface to be working right away (even though the delay is probably small enough for all practical cases). I'll file a ticket covering both topics. -- Stefano