summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/taputil.sh
blob: c230d7c19f8dcbd93c06c9a5078f8589fefe9e8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
# license:BSD-3-Clause
# copyright-holders:Carl
NAME=$2
OURUID=`id -u $NAME`
HOSTIP=$4
EMUIP=$3
TAP="tap-mess-$OURUID-0"

if [ `id -u` != "0" ]
then
echo "must be run as root"
exit
fi

if [ "$1" = "-d" ]
then
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/proxy_arp
chmod 660 /dev/net/tun
ip tuntap del dev $TAP mode tap
exit
fi

if [ "$#" != "4" ]
then
echo "usage: mess-tap [-c] [-d] USER EMUADDR HOSTADDR"
echo "-c        create interface"
echo "-d        delete interface"
echo "USER      user to own interface, required to delete"
echo "EMUADDR   emulated machine ip address"
echo "HOSTADDR  host ip address"
exit
fi

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
chmod 666 /dev/net/tun

ip tuntap add dev $TAP mode tap user $NAME pi
ip link set $TAP up arp on
ip addr replace dev $TAP $HOSTIP/32
ip route replace $EMUIP via $HOSTIP dev $TAP