diff options
Diffstat (limited to 'package')
| -rw-r--r-- | package/ppp/Makefile | 2 | ||||
| -rw-r--r-- | package/ppp/files/etc/ppp/ipv6-down | 16 | ||||
| -rw-r--r-- | package/ppp/files/etc/ppp/ipv6-up | 16 | ||||
| -rw-r--r-- | package/ppp/files/ppp.sh | 5 | 
4 files changed, 37 insertions, 2 deletions
| diff --git a/package/ppp/Makefile b/package/ppp/Makefile index ee58f72e4..b8b08d861 100644 --- a/package/ppp/Makefile +++ b/package/ppp/Makefile @@ -134,6 +134,8 @@ define Package/ppp/install  	$(INSTALL_DIR) $(1)/etc/ppp/ip-up.d  	$(INSTALL_BIN) ./files/etc/ppp/ip-down $(1)/etc/ppp/  	$(INSTALL_DIR) $(1)/etc/ppp/ip-down.d +	$(INSTALL_BIN) ./files/etc/ppp/ipv6-up $(1)/etc/ppp/ +	$(INSTALL_BIN) ./files/etc/ppp/ipv6-down $(1)/etc/ppp/  	$(INSTALL_DATA) ./files/etc/ppp/options $(1)/etc/ppp/  	ln -sf /tmp/resolv.conf.auto $(1)/etc/ppp/resolv.conf  endef diff --git a/package/ppp/files/etc/ppp/ipv6-down b/package/ppp/files/etc/ppp/ipv6-down index 76678de72..a4e0491a8 100644 --- a/package/ppp/files/etc/ppp/ipv6-down +++ b/package/ppp/files/etc/ppp/ipv6-down @@ -1,2 +1,16 @@  #!/bin/sh -route -A inet6 del $4 dev $1 + +gw=$4 +dev=$1 +cfg=$6 + +. /etc/functions.sh      # common functions +include /lib/network     # include /lib/network/*.sh +scan_interfaces          # read and parse the network config + +config_get_bool defaultroute "$cfg" defaultroute 1 + +if [ ${defaultroute} -eq 1 ] +then +	route -A inet6 del default gw ${gw} dev ${dev} +fi diff --git a/package/ppp/files/etc/ppp/ipv6-up b/package/ppp/files/etc/ppp/ipv6-up index e34947152..9ece44ad8 100644 --- a/package/ppp/files/etc/ppp/ipv6-up +++ b/package/ppp/files/etc/ppp/ipv6-up @@ -1,2 +1,16 @@  #!/bin/sh -route -A inet6 add default $4 dev $1 + +gw=$4 +dev=$1 +cfg=$6 + +. /etc/functions.sh      # common functions +include /lib/network     # include /lib/network/*.sh +scan_interfaces          # read and parse the network config + +config_get_bool defaultroute "$cfg" defaultroute 1 + +if [ ${defaultroute} -eq 1 ] +then +	route -A inet6 add default gw ${gw} dev ${dev} +fi diff --git a/package/ppp/files/ppp.sh b/package/ppp/files/ppp.sh index 5ca1cf9c7..339b4e73e 100644 --- a/package/ppp/files/ppp.sh +++ b/package/ppp/files/ppp.sh @@ -37,6 +37,10 @@ start_pppd() {  	config_get demand "$cfg" demand  	[ -n "$demand" ] && echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto + +	config_get_bool ipv6 "$cfg" ipv6 0 +	[ "$ipv6" -eq 1 ] && ipv6="+ipv6" || ipv6="" +  	/usr/sbin/pppd "$@" \  		${keepalive:+lcp-echo-interval $interval lcp-echo-failure ${keepalive%%[, ]*}} \  		${demand:+precompiled-active-filter /etc/ppp/filter demand idle }${demand:-persist} \ @@ -48,6 +52,7 @@ start_pppd() {  		ipparam "$cfg" \  		${connect:+connect "$connect"} \  		${disconnect:+disconnect "$disconnect"} \ +		${ipv6} \  		${pppd_options}  	lock -u "/var/lock/ppp-${cfg}" | 
