diff options
Diffstat (limited to 'Completion/Linux/Command/_ethtool')
-rw-r--r-- | Completion/Linux/Command/_ethtool | 58 |
1 files changed, 46 insertions, 12 deletions
diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool index 95a8bbfb6..3e3fc0b1d 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -4,7 +4,7 @@ local curcontext="$curcontext" local -a state line expl cmds local -A opt_args -_arguments -C \ +_arguments -C -A "-*" \ '--debug[turn on debugging messages]:mask:((1\:parser\ information))' \ '--json[output results in JSON]' \ '(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \ @@ -59,12 +59,21 @@ _arguments -C \ '--cable-test[perform cable test and report the results]' \ '--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \ '--show-tunnels[show tunnel-related device capabilities and state]' \ + '--show-module[show transceiver module settings]' \ + '--set-module[set transceiver module settings]' \ + '--get-plca-cfg[get PLCA configuration]' \ + '--set-plca-cfg[set PLCA configuration]' \ + '--get-plca-status[get PLCA status information]' \ + '--show-mm[show MAC merge layer state]' \ + '--set-mm[set MAC merge layer parameters]' \ + '--show-pse[show settings for power sourcing equipment]' \ + '--set-pse[set power sourcing equipment settings]' \ '--monitor[listen to netlink notifications and displays them]::command:( --all -s --change -k --show-features --show-offload -K --features --offload --show-priv-flags --set-priv-flags -g --show-ring -G --set-ring -l --show-channels -L --set-channels -c --show-coalesce -C --coalesce -a --show-pause -A --pause --show-eee --set-eee - --cable-test --cable-test-tdr + --cable-test --cable-test-tdr --show-module --set-module )' && return if [[ -n $state ]]; then @@ -79,22 +88,30 @@ if [[ -n $state ]]; then fi ;; autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift) ;& - fast-link-down|energy-detect-power-down|mode) + cqe-mode-[rt]x|fast-link-down|energy-detect-power-down|mode) ;& + [tr]x-push|enable|*-enabled) _wanted onoff expl 'enabled' compadd off on ;; rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;& tx-usecs-irq|tx-frames-irq|stats-block-usecs|pkt-rate-low|rx-usecs-low) ;& rx-frames-low|tx-usecs-low|tx-frames-low|pkt-rate-high|rx-usecs-high) ;& - rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac|rx-mini) ;& - rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& + rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac) ;& + tx-aggr-max-bytes|tx-aggr-max-frame|tx-aggr-time-usec) ;& + rx-mini|rx-jumbo|rx-buf-len|cqe-size|tx-push-buf-len) ;& + offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;& page|bank|i2c|first|last|step|pair|lanes) ;& - rx-copybreak|tx-copybreak|pfc-prevention-tout) ;& - other|combined|tx-timer|count|msecs) + rx-copybreak|tx-copybreak|tx-buf-size|pfc-prevention-tout) ;& + other|combined|tx-timer|count|msecs) ;& + node-id|node-cnt|to-tmr|burst-cnt|burst-tmr) ;& + tx-min-frag-size) _message -e numbers 'number' ;; + podl-pse-admin-control) + _wanted values expl 'value' compadd enable disable + ;; speed) - _wanted -x speed expl 'speed' compadd 10 100 1000 + _wanted -x speed expl 'speed' compadd 10 100 1000 ;; duplex) _wanted duplex expl 'duplex mode' compadd half full @@ -166,8 +183,14 @@ if [[ -n $state ]]; then context) _message -e contexts 'RSS context' ;; + power-mode-policy) + _wanted policies expl 'policy' compadd high auto + ;; *) case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in + -a|--show-pause) + _arguments '--src=-:source:(aggregate emac pmac)' + ;; -A|--pause) _values -S ' ' -w 'pause parameter' \ 'autoneg[specify if pause autonegotiation is enabled]' \ @@ -177,14 +200,16 @@ if [[ -n $state ]]; then -C|--coalesce) _wanted settings expl 'coalescing setting' compadd -F line -M 'r:|-=* r:|=*' - \ adaptive-{r,t}x {r,t}x-{usecs,frames}{,-irq,-high,-low} \ - stats-block-usecs pkt-rate-{low,high} sample-interval + stats-block-usecs pkt-rate-{low,high} sample-interval cqe-mode-{r,t}x \ + tx-aggr-{max-bytes,max-frames,time-usecs} ;; -G|--set-ring) _values -S ' ' -w 'ring parameter' \ 'rx[change number of ring entries for the RX ring]' \ 'rx-mini[change number of ring entries for the RX Mini ring]' \ 'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \ - 'tx[change number of ring entries for the TX ring]' + 'tx[change number of ring entries for the TX ring]' \ + rx-buf-len cqe-size tx-push rx-push tx-push-buf-len ;; -d|--register-dump) _values -S ' ' -w 'option' \ @@ -216,7 +241,9 @@ if [[ -n $state ]]; then (( CURRENT = 4 )) && _message -e length 'duration (seconds)' ;; -S|--statistics) - _arguments '(-)--all-groups' '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' + _arguments '(-)--all-groups' \ + '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' \ + '--src=-:source:(aggregate emac pmac)' \ ;; -t|--test) _values -S ' ' -w 'test mode' \ @@ -318,7 +345,7 @@ if [[ -n $state ]]; then ;; --[gs]et-tunable) _wanted options expl tunable compadd rx-copybreak tx-copybreak \ - pfc-prevention-tout + tx-buf-size pfc-prevention-tout ;; --reset) _wanted components expl component compadd flags dedicated all \ @@ -341,6 +368,13 @@ if [[ -n $state ]]; then --cable-test-tdr) _wanted options expl 'distance options' compadd first last step pair ;; + --set-module) + _wanted options expl tunable compadd power-mode-policy + ;; + --set-plca-cfg) + _wanted options expl tunable compadd enable node-id node-cnt \ + to-tmr burst-cnt burst-tmr + ;; esac ;; esac |