base-files: board.d: support dsl modems, atm bridges and pppoe protocol

This adds support for specifying the dsl modem, atm bridge configs and setting
the pppoe protocol for wan.

These additions are required to port the Lantiq target to board.d.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47750
This commit is contained in:
Jo-Philipp Wich 2015-12-04 09:56:55 +00:00
parent 813227d992
commit 6c8daa6ba3
2 changed files with 97 additions and 1 deletions

View file

@ -18,6 +18,40 @@ generate_static_network() {
set network.globals='globals' set network.globals='globals'
set network.globals.ula_prefix='auto' set network.globals.ula_prefix='auto'
EOF EOF
if json_is_a dsl object; then
json_select dsl
if json_is_a atmbridge object; then
json_select atmbridge
local vpi vci encaps payload
json_get_vars vpi vci encaps payload
uci -q batch <<-EOF
delete network.atm
set network.atm='atm-bridge'
set network.atm.vpi='$vpi'
set network.atm.vci='$vci'
set network.atm.encaps='$encaps'
set network.atm.payload='$payload'
EOF
json_select ..
fi
if json_is_a modem object; then
json_select modem
local type annex firmware tone xfer_mode
json_get_vars type annex firmware tone xfer_mode
uci -q batch <<-EOF
delete network.dsl
set network.dsl='$type'
set network.dsl.annex='$annex'
set network.dsl.firmware='$firmware'
set network.dsl.tone='$tone'
set network.dsl.xfer_mode='$xfer_mode'
EOF
json_select ..
fi
json_select ..
fi
} }
addr_offset=2 addr_offset=2
@ -74,6 +108,22 @@ generate_network() {
set network.${1}6.proto='dhcpv6' set network.${1}6.proto='dhcpv6'
EOF EOF
;; ;;
pppoe)
# fixup IPv6 slave interface
ifname="pppoe-$1"
uci -q batch <<-EOF
set network.$1.proto='pppoe'
set network.$1.username='username'
set network.$1.password='password'
set network.$1.ipv6='auto'
delete network.${1}6
set network.${1}6='interface'
set network.${1}6.ifname='$ifname'
set network.${1}6.proto='dhcpv6'
EOF
;;
esac esac
} }

View file

@ -39,7 +39,7 @@ _ucidef_set_interface() {
if ! json_is_a protocol string; then if ! json_is_a protocol string; then
case "$proto" in case "$proto" in
static|dhcp|none) : ;; static|dhcp|none|pppoe) : ;;
*) *)
case "$name" in case "$name" in
lan) proto="static" ;; lan) proto="static" ;;
@ -304,6 +304,52 @@ ucidef_set_interface_macaddr() {
json_select .. json_select ..
} }
ucidef_add_atm_bridge() {
local vpi="$1"
local vci="$2"
local encaps="$3"
local payload="$4"
json_select_object dsl
json_select_object atmbridge
json_add_int vpi "$vpi"
json_add_int vci "$vci"
json_add_string encaps "$encaps"
json_add_string payload "$payload"
json_select ..
json_select ..
}
ucidef_add_adsl_modem() {
local annex="$1"
local firmware="$2"
json_select_object dsl
json_select_object modem
json_add_string type "adsl"
json_add_string annex "$annex"
json_add_string firmware "$firmware"
json_select ..
json_select ..
}
ucidef_add_vdsl_modem() {
local annex="$1"
local firmware="$2"
local tone="$3"
local xfer_mode="$4"
json_select_object dsl
json_select_object modem
json_add_string type "vdsl"
json_add_string annex "$annex"
json_add_string firmware "$firmware"
json_add_string tone "$tone"
json_add_string xfer_mode "$xfer_mode"
json_select ..
json_select ..
}
ucidef_set_led_netdev() { ucidef_set_led_netdev() {
local cfg="led_$1" local cfg="led_$1"
local name="$2" local name="$2"