[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] fix network in stubdoms



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@xxxxxxxxxxxxx>

---

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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.