# bash completion for mstpctl                                -*- shell-script -*-

_mstpctl()
{
    local cur words cword
    _init_completion || return

    local command=${words[1]}

    case $cword in
        1)
            COMPREPLY=( $( compgen -W " addbridge createtree deletetree \
                delbridge debuglevel portmcheck setmstconfid setvid2fid \
                setfid2mstid setmaxage setfdelay setmaxhops setforcevers \
                settxholdcount settreeprio setportpathcost setportadminedge \
                setportautoedge setportp2p setportrestrrole setportrestrtcn \
                setbpduguard settreeportprio settreeportcost showbridge \
                showmstilist showmstconfid showvid2fid showfid2mstid showport \
                showportdetail showtree showtreeport sethello \
                setageing setportnetwork setportbpdufilter" -- "$cur" ) )
            ;;
        2)
            case $command in
                debuglevel|showall)
                    ;;
                *)
                    COMPREPLY=( $( compgen -W "$( brctl show | \
                        grep 'yes\|no' | awk '{print $1}')" -- "$cur" ) )
            esac
            ;;
        3)
            case $command in
                showport|showportdetail|showtreeport|showportpathcode|\
                setportadminedge|setportautoedge|setportp2p|\
                setportrestrrole|setportrestrtcn|portmcheck|\
                settreeportprio|settreeportcost|setportnetwork|\
                setportbpdufilter)
                    COMPREPLY=( $( compgen -W "$(for x in \
                        `ls /sys/class/net/${words[2]}/brif/`; do echo $x; \
                        done)" -- "$cur" ) )
                    ;;
                setforcevers)
                    COMPREPLY=( $( compgen -W 'mstp rstp stp' -- "$cur" ) )
                    ;;
            esac
            ;;
        4)
            case $command in
                setportadminedge|setportautoedge|setportrestrrole|\
                setportrestrtcn|setbpduguard|setportnetwork|setportbpdufilter)
                    COMPREPLY=( $( compgen -W 'yes no' -- "$cur" ) )
                    ;;
                setportp2p)
                    COMPREPLY=( $(compgen -W 'yes no auto' -- "$cur" ) )
                    ;;
            esac
            ;;
    esac
} &&
complete -F _mstpctl -o default mstpctl

# ex: ts=4 sw=4 et filetype=sh
