base-files: fix wan6 interface config generation for pppoe

Setting ipv6 to auto in case of a pppoe interface will trigger the
creation of a dynamic wan_6 interface meaning two IPv6 interfaces
(wan6 and wan_6) will be active on top of the pppoe interface.
This leads to unpredictable behavior in the network; therefore set
ipv6 to 1 which will prevent the dynamic creation of the wan_6
interface.
Further alias the wan6 interface on top of the wan interface for pppoe
as the wan6 interface can only be started when the link local address is
ready. In case of pppoe the link local address is negotiated during the
Internet Protocol Control Protocol when the PPP link is setup meaning
all the IP address info is only available when the wan interface is up.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
This commit is contained in:
Hans Dedecker 2017-09-18 09:18:36 +02:00
parent e37c7636ee
commit 400c5f03c3
2 changed files with 3 additions and 6 deletions

View file

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files PKG_NAME:=base-files
PKG_RELEASE:=175 PKG_RELEASE:=176
PKG_FLAGS:=nonshared PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/

View file

@ -119,17 +119,14 @@ generate_network() {
;; ;;
pppoe) pppoe)
# fixup IPv6 slave interface
ifname="pppoe-$1"
uci -q batch <<-EOF uci -q batch <<-EOF
set network.$1.proto='pppoe' set network.$1.proto='pppoe'
set network.$1.username='username' set network.$1.username='username'
set network.$1.password='password' set network.$1.password='password'
set network.$1.ipv6='auto' set network.$1.ipv6='1'
delete network.${1}6 delete network.${1}6
set network.${1}6='interface' set network.${1}6='interface'
set network.${1}6.ifname='$ifname' set network.${1}6.ifname='@${1}'
set network.${1}6.proto='dhcpv6' set network.${1}6.proto='dhcpv6'
EOF EOF
;; ;;