Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:[email protected]]
> On Behalf Of Florian Eckert
> Sent: Dienstag, 16. Juni 2020 10:26
> To: [email protected]; [email protected]; [email protected]
> Cc: [email protected]; Florian Eckert <[email protected]>
> Subject: [OpenWrt-Devel] [PATCH] lantiq: add dsl line_state mapping
> 
> The line_state of the DSL connection is described in the system via a
> hexadecimal variable. With this change the hexadecimal is mapped to a
> decimal value. With this change it is now possible to store this value in a
> database, so that it can be easily evaluated.
> 
> This is especially relevant for the collectd and gravana backend.
> 
> Signed-off-by: Florian Eckert <[email protected]>
> ---
>  .../base-files/lib/functions/lantiq_dsl.sh    | 82 +++++++++++++------
>  1 file changed, 55 insertions(+), 27 deletions(-)
> 
> diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
> b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
> index 11b02fc4aa..4827d10bc5 100755
> --- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
> +++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
> @@ -650,40 +650,68 @@ line_data() {
>  line_state() {
>       local lsg=$(dsl_cmd lsg)
>       local ls=$(dsl_val "$lsg" nLineState);
> -     local s;
> +     local s n;
> 
>       case "$ls" in
> -             "0x0")          s="not initialized" ;;
> -             "0x1")          s="exception" ;;
> -             "0x10")         s="not updated" ;;
> -             "0xff")         s="idle request" ;;
> -             "0x100")        s="idle" ;;
> -             "0x1ff")        s="silent request" ;;
> -             "0x200")        s="silent" ;;
> -             "0x300")        s="handshake" ;;
> -             "0x380")        s="full_init" ;;
> -             "0x400")        s="discovery" ;;
> -             "0x500")        s="training" ;;
> -             "0x600")        s="analysis" ;;
> -             "0x700")        s="exchange" ;;
> -             "0x800")        s="showtime_no_sync" ;;
> -             "0x801")        s="showtime_tc_sync" ;;
> -             "0x900")        s="fastretrain" ;;
> -             "0xa00")        s="lowpower_l2" ;;
> -             "0xb00")        s="loopdiagnostic active" ;;
> -             "0xb10")        s="loopdiagnostic data exchange" ;;
> -             "0xb20")        s="loopdiagnostic data request" ;;
> -             "0xc00")        s="loopdiagnostic complete" ;;
> -             "0x1000000")    s="test" ;;
> -             "0xd00")        s="resync" ;;
> -             "0x3c0")        s="short init entry" ;;
> -             "")             s="not running daemon"; ls="0xfff" ;;
> -             *)              s="unknown" ;;
> +             "0x0")          s="not initialized"
> +                             n=1 ;;

Wouldn't it be more user-friendly to just use the decimal number equivalent of 
the hex code?
Empty and error could be modelled with negative numbers then.

Just meant as a suggestion, I won't block this if you keep the current scheme 
...

Best

Adrian

> +             "0x1")          s="exception"
> +                             n=2 ;;
> +             "0x10")         s="not updated"
> +                             n=3 ;;
> +             "0xff")         s="idle request"
> +                             n=4 ;;
> +             "0x100")        s="idle"
> +                             n=5 ;;
> +             "0x1ff")        s="silent request"
> +                             n=6 ;;
> +             "0x200")        s="silent"
> +                             n=7 ;;
> +             "0x300")        s="handshake"
> +                             n=8 ;;
> +             "0x380")        s="full_init"
> +                             n=9 ;;
> +             "0x400")        s="discovery"
> +                             n=10 ;;
> +             "0x500")        s="training"
> +                             n=11 ;;
> +             "0x600")        s="analysis"
> +                             n=12 ;;
> +             "0x700")        s="exchange"
> +                             n=13 ;;
> +             "0x800")        s="showtime_no_sync"
> +                             n=14 ;;
> +             "0x801")        s="showtime_tc_sync"
> +                             n=15 ;;
> +             "0x900")        s="fastretrain"
> +                             n=16 ;;
> +             "0xa00")        s="lowpower_l2"
> +                             n=17 ;;
> +             "0xb00")        s="loopdiagnostic active"
> +                             n=18 ;;
> +             "0xb10")        s="loopdiagnostic data exchange"
> +                             n=19 ;;
> +             "0xb20")        s="loopdiagnostic data request"
> +                             n=20 ;;
> +             "0xc00")        s="loopdiagnostic complete"
> +                             n=21 ;;
> +             "0x1000000")    s="test"
> +                             n=22 ;;
> +             "0xd00")        s="resync"
> +                             n=23 ;;
> +             "0x3c0")        s="short init entry"
> +                             n=24 ;;
> +             "")             s="not running daemon"
> +                             ls="0xfff"
> +                             n=25 ;;
> +             *)              s="unknown"
> +                             n=26 ;;
>       esac
> 
>       if [ "$action" = "lucistat" ]; then
>               echo "dsl.line_state_num=$ls"
>               echo "dsl.line_state_detail=\"$s\""
> +             echo "dsl.line_state_mapping=$n"
>               if [ "$ls" = "0x801" ]; then
>                       echo "dsl.line_state=\"UP\""
>               else
> --
> 2.20.1
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> [email protected]
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Attachment: openpgp-digital-signature.asc
Description: PGP signature

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to