Hi all, this patch fixes network support in ioemu stubdoms. At the moment in order to provide a working network interface to the guest you still need to specify a vif in both the guest and stubdom config files. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> --- diff --git a/net.c b/net.c index 983222e..5260369 100644 --- a/net.c +++ b/net.c @@ -977,6 +977,20 @@ static int tap_open(char *ifname, int ifname_size) fcntl(fd, F_SETFL, O_NONBLOCK); return fd; } +#elif defined(CONFIG_STUBDOM) +#include <netfront.h> +static int tap_open(char *ifname, int ifname_size) +{ + char nodename[64]; + static int num = 1; // 0 is for our own TCP/IP networking + snprintf(nodename, sizeof(nodename), "device/vif/%d", num++); + return netfront_tap_open(nodename); +} + +#undef DEFAULT_NETWORK_SCRIPT +#define DEFAULT_NETWORK_SCRIPT "" +#undef DEFAULT_NETWORK_DOWN_SCRIPT +#define DEFAULT_NETWORK_DOWN_SCRIPT "" #endif static int launch_script(const char *setup_script, const char *ifname, @@ -1023,10 +1037,6 @@ static int net_tap_init(VLANState *vlan, const char *model, const char *setup_script, const char *down_script, const char *script_arg) { -#ifdef CONFIG_STUBDOM - errno = ENOSYS; - return -1; -#else TAPState *s; int fd; char ifname[128]; @@ -1060,7 +1070,6 @@ static int net_tap_init(VLANState *vlan, const char *model, else s->script_arg[0] = ''\0''; return 0; -#endif } #endif /* !_WIN32 */ diff --git a/xen-vl-extra.c b/xen-vl-extra.c index 9be1acd..3d13583 100644 --- a/xen-vl-extra.c +++ b/xen-vl-extra.c @@ -99,22 +99,6 @@ void do_loadvm(const char *name) struct qemu_alarm_timer; -#ifdef CONFIG_STUBDOM -#include <netfront.h> -static int tap_open(char *ifname, int ifname_size) -{ - char nodename[64]; - static int num = 1; // 0 is for our own TCP/IP networking - snprintf(nodename, sizeof(nodename), "device/vif/%d", num++); - return netfront_tap_open(nodename); -} - -#undef DEFAULT_NETWORK_SCRIPT -#define DEFAULT_NETWORK_SCRIPT "" -#undef DEFAULT_NETWORK_DOWN_SCRIPT -#define DEFAULT_NETWORK_DOWN_SCRIPT "" -#endif - #ifdef CONFIG_PASSTHROUGH void do_pci_del(char *devname) { _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel