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

_clagctl()
{
    local cur prev words cword debug_flags
    debug_flags="fdb_sync fsm cmd_server healthcheck intf lacp_sync mdb_sync \
                 neigh_sync netlink parser peerlink_tx peerlink_rx reload \
                 socket vxlan_sync mroute_sync collect_sys"
    _init_completion || return

    local command=${words[1]}

    case $cword in
        1)
            COMPREPLY=( $( compgen -W "echo debug params collectgarbage \
                status verifyvlans verbose quiet logfile lacppoll peertimeout \
                peerlinkpoll priority peerlacprate logmsg dumpourmacs dumppeermacs \
                dumpourmcast dumppeermcast dumpourrport dumppeerrport \
                dumppermanentmacs dumppermanentneighs dumpneighs dumpourvnis
                dumppeervnis showtimers \
                setclagid showclagid setanycastip setbackupip showbackupip\
                setdebugflags showdebugflags cleardebugflags -v --verbose \
                clearconflictstate showprotodown backup-fault-tolerance \
                -j --json" -- "$cur" ) )
            ;;
        2)
            case $command in
                echo|debug|params|collectgarbage|lacppoll|peertimeout|peerlinkpoll|\
                priority|peerlacprate|logmsg|setclagid|setanycastip|setbackupip|backup-fault-tolerance)
                    ;;
                setdebugflags|cleardebugflags)
                    COMPREPLY=( $( compgen -W "$debug_flags" -- "$cur" ) )
                    ;;
                logfile)
                    COMPREPLY=( $( compgen -W "stdout syslog" -- "$cur" ) $(compgen -f "$cur") )
                    ;;
                verbose|quiet)
                    COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
                    ;;
                -v|--verbose)
                    COMPREPLY=( $( compgen -W "status verifyvlans dumpourmacs \
                        dumppeermacs dumpourmcast dumppeermcast dumpourrport \
                        dumpneighs dumpourvnis dumppeervnis \
                        dumppeerrport showclagid showbackupip" -- "$cur" ) )
                    ;;
                -j|--json)
                    COMPREPLY=( $( compgen -W "params showclagid \
                        showbackupip status dumpourmacs dumppeermacs \
                        dumpourvnis dumppeervnis \
                        dumpourmcast dumppeermcast dumpourrport dumppermanentneighs \
                        dumpneighs dumppeerrport dumppermanentmacs showtimers" -- "$cur" ) )
                    ;;
            esac
            ;;

        *)
            if [ "$command" = "setdebugflags" ] || [ "$command" = "cleardebugflags" ];
            then
                COMPREPLY=( $( compgen -W "$debug_flags" -- "$cur" ) )
            fi
    esac
} &&
complete -F _clagctl clagctl

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

