9vx.ini understands netdev=tap /dev/net/tun - vx32 - Local 9vx git repository for patches. (DIR) Log (DIR) Files (DIR) Refs --- (DIR) commit 5654a648070778957c68e7d1246cf545ae88e510 (DIR) parent 2f41534cd3f741e2685551986e88659f7b168ed2 (HTM) Author: Jesus Galan Lopez (yiyus) <yiyu.jgl@gmail.com> Date: Sat, 5 Jun 2010 19:14:25 +0200 9vx.ini understands netdev=tap /dev/net/tun Diffstat: src/9vx/ethertap.c | 7 ++++++- src/9vx/main.c | 11 +++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) --- (DIR) diff --git a/src/9vx/ethertap.c b/src/9vx/ethertap.c @@ -24,6 +24,8 @@ #include "a/etherif.h" +extern char *netdev; + static uchar anyea[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,}; ttypedef struct Ctlr Ctlr; @@ -39,8 +41,11 @@ setup(char *dev) { int fd; struct ifreq ifr; + char *defaultdev = "/dev/net/tun"; - if((fd = open("/dev/net/tun", O_RDWR)) < 0) + if(!netdev) + netdev = defaultdev; + if((fd = open(netdev, O_RDWR)) < 0) return -1; if(dev){ memset(&ifr, 0, sizeof ifr); (DIR) diff --git a/src/9vx/main.c b/src/9vx/main.c @@ -238,11 +238,10 @@ main(int argc, char **argv) initrc ? "i " : "", usetty ? "t " : ""); if(vether) print("-n "); - if(netdev){ - if(nettap) - print("tap "); + if(nettap) + print("tap "); + if(netdev) print("%s ", netdev); - } if(macaddr) print("-m %s ", macaddr); print("-r %s -u %s\n", localroot, username); @@ -391,6 +390,10 @@ iniopt(char *name, char *value) usetty = 1; else if(strcmp(name, "netdev") == 0 && !netdev){ vether = 1; + if(strncmp(value, "tap", 3) == 0) { + nettap = 1; + value += 4; + } netdev = value; } else if(strcmp(name, "macaddr") == 0 && !macaddr){