]> xenbits.xensource.com Git - people/liuw/qemu-rump-config.git/commitdiff
init commit
authorWei Liu <wei.liu2@citrix.com>
Thu, 30 Jul 2015 18:33:15 +0000 (19:33 +0100)
committerWei Liu <wei.liu2@citrix.com>
Thu, 30 Jul 2015 18:47:01 +0000 (19:47 +0100)
qemu-rump-config.c [new file with mode: 0644]

diff --git a/qemu-rump-config.c b/qemu-rump-config.c
new file mode 100644 (file)
index 0000000..6598ba7
--- /dev/null
@@ -0,0 +1,40 @@
+/* This program brings up rump kernel to a static network topology. */
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <sys/stat.h>
+#include <net/if_ether.h>
+#include <net/if_bridgevar.h>
+
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <assert.h>
+
+#define NOFAIL_RV(a) do{int rv=a;if(rv){printf("%s:%d",#a,rv);abort();}}while(0)
+
+int main(int argc, char **argv)
+{
+
+       NOFAIL_RV(rump_pub_netconfig_ifcreate("tap0"));
+       NOFAIL_RV(rump_pub_netconfig_ifup("tap0"));
+
+       NOFAIL_RV(rump_pub_netconfig_ifcreate("tap1"));
+       NOFAIL_RV(rump_pub_netconfig_ifup("tap1"));
+
+       NOFAIL_RV(rump_pub_netconfig_ifcreate("tap2"));
+       NOFAIL_RV(rump_pub_netconfig_ifup("tap2"));
+
+       NOFAIL_RV(rump_pub_netconfig_ifcreate("bridge0"));
+       NOFAIL_RV(rump_pub_netconfig_bradd("bridge0", "tap0"));
+       NOFAIL_RV(rump_pub_netconfig_bradd("bridge0", "xenif0"));
+       NOFAIL_RV(rump_pub_netconfig_ifup("bridge0"));
+
+       return 0;
+}
+