#!/bin/bash
# version 1.1
# by bae churlsu
# local two network modi :1.1
# To do list : 
# 1. local network 2 table 3 modify

PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH

PHY_GATE=`/sbin/ip ro sh | grep default | cut -d' ' -f3`
PHY_DEV=`/sbin/ip ro sh | grep default | cut -d' ' -f5`
PHY_IP=`ifconfig "$PHY_DEV" | grep inet | awk -F'( +|:)' '{print $4}'`
TMP_NET=`/sbin/ip ro sh | grep $PHY_DEV | grep $PHY_IP | \
 grep -v '^default' | cut -d' ' -f1`
PHY_NET=`echo $TMP_NET | awk '$0~/^[1-9].+[1-9]$/{line=$0};END{print line}'`

echo "$PHY_IP $PHY_GATE $PHY_DEV" >/var/run/gate.org

/sbin/ip ru sh | grep -w $PHY_IP || \
/sbin/ip ru add from $PHY_IP table 3 prio 9
/sbin/ip ro repl table 3 default via $PHY_GATE dev $PHY_DEV

[ -n "$PHY_NET" ] && /sbin/ip ro repl $PHY_NET table 3 dev $PHY_DEV

if [ -s /etc/ppp/peers/linuxlab -a -r /etc/ppp/peers/linuxlab ]; then

#   grep '220.230.5' /etc/ppp/peers/linuxlab >/dev/null 2>&1 || exit
   echo 0 >/proc/sys/net/ipv4/conf/$PPP_IFACE/rp_filter

   /sbin/ip ru sh | grep -w $PPP_LOCAL || \
   /sbin/ip ru add from $PPP_LOCAL table 1 prio 10
   /sbin/ip ro repl table 1 default via $PPP_REMOTE dev $PPP_IFACE
fi

/sbin/ip ro repl default via $PPP_REMOTE dev $PPP_IFACE
########   END   ##############
