Home | History | Annotate | Download | only in examples
      1 #!/bin/sh
      2 
      3 IFNAME=$1
      4 CMD=$2
      5 
      6 kill_daemon() {
      7     NAME=$1
      8     PF=$2
      9 
     10     if [ ! -r $PF ]; then
     11 	return
     12     fi
     13 
     14     PID=`cat $PF`
     15     if [ $PID -gt 0 ]; then
     16 	if ps $PID | grep -q $NAME; then
     17 	    kill $PID
     18 	fi
     19     fi
     20     rm $PF
     21 }
     22 
     23 if [ "$CMD" = "P2P-GROUP-STARTED" ]; then
     24     GIFNAME=$3
     25     if [ "$4" = "GO" ]; then
     26 	kill_daemon udhcpc /var/run/udhcpc-$GIFNAME.pid
     27 	ifconfig $GIFNAME 192.168.42.1 up
     28 	udhcpd /etc/udhcpd-p2p.conf
     29     fi
     30     if [ "$4" = "client" ]; then
     31 	kill_daemon udhcpc /var/run/udhcpc-$GIFNAME.pid
     32 	kill_daemon udhcpd /var/run/udhcpd-$GIFNAME.pid
     33 	udhcpc -i $GIFNAME -p /var/run/udhcpc-$GIFNAME.pid \
     34 		-s /etc/udhcpc.script
     35     fi
     36 fi
     37 
     38 if [ "$CMD" = "P2P-GROUP-REMOVED" ]; then
     39     GIFNAME=$3
     40     if [ "$4" = "GO" ]; then
     41 	kill_daemon udhcpd /var/run/udhcpd-$GIFNAME.pid
     42 	ifconfig $GIFNAME 0.0.0.0
     43     fi
     44     if [ "$4" = "client" ]; then
     45 	kill_daemon udhcpc /var/run/udhcpc-$GIFNAME.pid
     46 	ifconfig $GIFNAME 0.0.0.0
     47     fi
     48 fi
     49 
     50 if [ "$CMD" = "P2P-CROSS-CONNECT-ENABLE" ]; then
     51     GIFNAME=$3
     52     UPLINK=$4
     53     # enable NAT/masquarade $GIFNAME -> $UPLINK
     54     iptables -P FORWARD DROP
     55     iptables -t nat -A POSTROUTING -o $UPLINK -j MASQUERADE
     56     iptables -A FORWARD -i $UPLINK -o $GIFNAME -m state --state RELATED,ESTABLISHED -j ACCEPT
     57     iptables -A FORWARD -i $GIFNAME -o $UPLINK -j ACCEPT
     58     sysctl net.ipv4.ip_forward=1
     59 fi
     60 
     61 if [ "$CMD" = "P2P-CROSS-CONNECT-DISABLE" ]; then
     62     GIFNAME=$3
     63     UPLINK=$4
     64     # disable NAT/masquarade $GIFNAME -> $UPLINK
     65     sysctl net.ipv4.ip_forward=0
     66     iptables -t nat -D POSTROUTING -o $UPLINK -j MASQUERADE
     67     iptables -D FORWARD -i $UPLINK -o $GIFNAME -m state --state RELATED,ESTABLISHED -j ACCEPT
     68     iptables -D FORWARD -i $GIFNAME -o $UPLINK -j ACCEPT
     69 fi
     70