Tue, Apr 16, 2024 at 11:53:35AM CEST, jiri@xxxxxxxxxxx wrote: >Mon, Apr 15, 2024 at 07:26:59PM CEST, kuba@xxxxxxxxxx wrote: >>On Sat, 13 Apr 2024 15:23:53 +0200 Jiri Pirko wrote: >>> That is a goal. Currently I do it with: >>> vng --qemu-opts="-nic tap,id=nd0,ifname=xtap0,model=virtio-net-pci,script=no,downscript=no,mac=52:54:00:12:34:57 -nic tap,id=nd1,ifname=xtap1,model=virtio-net-pci,script=no,downscript=no,mac=52:54:00:12:34:58" >>> >>> and setting loop manually with tc-matchall-mirred >>> >>> Implementing virtio loop instantiation in vng is on the todo list for >>> this. >> >>Just to be clear - I think the loop configuration is better off outside >>vng. It may need SUID and such. We just need to make vng spawn the two >>interfaces with a less verbose syntax. --network-count 2 ? > >Well, you ask vng for network device by: >--net=user/bridge > >Currently putting the option multiple times is ignored, but I don't see >why that can't work. > >Regarding the loop configuration, I would like to make this as >convenient for the user as possible, I was thinking about something like >--net=loop which would create the tc-based loop. > >How to do this without root, I'm not sure. Perhaps something similar >like qemu-bridge-helper could be used. Ha, qemu knows how to solve this already: -netdev hubport,id=id,hubid=hubid[,netdev=nd] Create a hub port on the emulated hub with ID hubid. The hubport netdev lets you connect a NIC to a QEMU emulated hub instead of a single netdev. Alternatively, you can also connect the hubport to another netdev with ID nd by using the netdev=nd option. I cooked-up a testing vng patch, so the user can pass "--net=loop": https://github.com/arighi/virtme-ng/commit/84a26ba92c9834c09d16fc1a4dc3a69c4d758236