OpenWrt – Rev 4

Subversion Repositories:
Rev:
#!/bin/sh

. /lib/functions.sh
. /lib/functions/lantiq.sh

IFNAME_CHANGED=0

rename_xdsl_ifname()
{
        local cfg="$1"
        local section="$2"
        local option="$3"
        local name

        config_get name ${section} $option
        case $name in
                nas0*)
                        name=${name/nas0/dsl0}
                        ;;
                ptm0*)
                        name=${name/ptm0/dsl0}
                        ;;
                *)
                        return
                        ;;
        esac

        uci set ${cfg}.${section}.$option=$name
        IFNAME_CHANGED=1
}

add_atm_bridge_nameprefix()
{
        local cfg="$1"

        config_get nameprefix "$cfg" nameprefix
        [ -z "$nameprefix" ] || return

        uci set network.${cfg}.nameprefix="dsl"
        IFNAME_CHANGED=1
}

migrate_network_xdsl_ifname()
{
        rename_xdsl_ifname network "$1" ifname
        rename_xdsl_ifname network "$1" name
}

migrate_led_xdsl_ifname()
{
        rename_xdsl_ifname system "$1" dev
}

config_load network
config_foreach migrate_network_xdsl_ifname
config_foreach add_atm_bridge_nameprefix atm-bridge

[ "$IFNAME_CHANGED" = "1" ] && uci commit network

IFNAME_CHANGED=0

config_load system
config_foreach migrate_led_xdsl_ifname led

[ "$IFNAME_CHANGED" = "1" ] && uci commit system

exit 0