OK, here's what I've got: 

diff --git a/bin/tap b/bin/tap
index 5131834..fbfe066 100755
--- a/bin/tap
+++ b/bin/tap
@@ -8,26 +8,26 @@ cmd=$1
 shift || fatal $usage
 user=`whoami`

-# Create the tap device with tunctl
-iface=`sudo tunctl -b -u $user`
+# Create the tap device with tuntap
+`sudo ip tuntap add tap5 mode tap user $user`
 # or openvpn
 #iface=tap0
 #sudo openvpn --mktun --dev $iface --user $user

 # Bring the tap device up
-sudo /sbin/ifconfig $iface 0.0.0.0 up
+sudo ip link set tap5 up

 # Add it to the bridge
-sudo /usr/sbin/brctl addif br0 $iface
+sudo ip link set tap5 master br0

 # Launch 9vx (use -F to not fork)
-$cmd "$@" -F "ether0=type=tap dev=$iface"
+$cmd "$@" -F "ether0=type=tap dev=tap5"

 # Bring the tap device down and disconnect from br0
-sudo /sbin/ifconfig $iface down
-sudo /usr/sbin/brctl delif br0 $iface
+sudo ip link set tap5 down
+sudo ip link set tap5 nomaster

-# Remove the tap device with tunctl
-sudo tunctl -d $iface &> /dev/null
+# Remove the tap device with tuntap
+sudo ip tuntap del tap5 &> /dev/null
 # or openvpn
 #sudo openvpn --rmtun --dev $1

Running `tap 9vx -r 9front -u glenda`, then `ip/ipconfig` hangs for a while, 
then it returns "DHCP failed". And on vanilla plan9 it just hangs. FWIW, I got 
the same result using the old commands from net-tools. 

And several details: 
1. I had to hard-code the tap device name "tap5" because `ip tuntap ...` 
doesn't return the interface name. 
2. I have no idea what 0.0.0.0 is, or where to pass it in. (tried `ip link set 
tap5 up address 0.0.0.0` but it complained the address was too short). 

Remy
------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T84b4492f91f2abb6-M091abcc56de424937ea9b136
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to