script=no for the TUN/TAP net option
PATCH 1/1 script=no for the TUN/TAP net option
Hello,
The following small patch disable the execution of a script while using the -net tap option with a already existing TUN/TAP interface.
So you can as root bring up a TUN/TAP interface to a user with the command 'tunctl -u <user> -t <ifname>' and setup the routing. Then the user don't need to sudo a script, it simply tell QEMU to use the interface <ifname> with the option '-net nic -net tap,ifname=<ifname>,script=no'.
Have a good day,
Signature · 1 line
Jean-Christian de Rivaz
Index: qemu-doc.texi
===================================================================
RCS file: /sources/qemu/qemu/qemu-doc.texi,v
retrieving revision 1.125
qemu-doc.texi +2 -1
@@ -358,7 +358,8 @@ @item -net tap[,vlan=n][,fd=h][,ifname=name][,script=file] Connect the host TAP network interface @var{name} to VLAN @var{n} and use the network script @var{file} to configure it. The default -network script is @file{/etc/qemu-ifup}. If @var{name} is not +network script is @file{/etc/qemu-ifup}. Use @option{script=no} to +disable script execution. If @var{name} is not provided, the OS automatically provides one. @option{fd=h} can be used to specify the handle of an already opened host TAP interface. Example:
Index: vl.c
===================================================================
RCS file: /sources/qemu/qemu/vl.c,v
retrieving revision 1.244
vl.c +2 -1
@@ -3289,7 +3289,7 @@if (fd <0 )return -1 ; -if (!setup_script) +if (!setup_script || !strcmp (setup_script,"no" )) setup_script ="" ;if (setup_script[0 ] !='\0' ) {/* try to launch network init script */
@@ -6066,6 +6066,7 @@"-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]\n" " connect the host TAP network interface to VLAN 'n' and use\n" " the network script 'file' (default=%s);\n" +" use 'script=no' to disable script execution;\n" " use 'fd=h' to connect to an already opened TAP interface\n"#endif "-net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]\n"