summaryrefslogtreecommitdiff
path: root/Completion/Linux/Command/_ethtool
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Linux/Command/_ethtool')
-rw-r--r--Completion/Linux/Command/_ethtool68
1 files changed, 54 insertions, 14 deletions
diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool
index 95a8bbfb6..8cff24e96 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
@@ -140,7 +157,7 @@ if [[ -n $state ]]; then
_wanted files expl 'file' _files
;;
rx-flow-hash)
- _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6}
+ _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} gtp{c{4,6}{,t},u{4,6}{,e,u,d}}
;;
rule)
_message -e ids 'rule id'
@@ -160,14 +177,26 @@ if [[ -n $state ]]; then
hfunc)
_message -e functions 'hash function'
;;
+ xfrm)
+ _wanted transformations expl transformation compadd symmetric-xor none
+ ;;
flags)
_message -e masks mask
;;
context)
_message -e contexts 'RSS context'
;;
+ power-mode-policy)
+ _wanted policies expl 'policy' compadd high auto
+ ;;
+ tcp-data-split)
+ _wanted states expl state compadd auto on off
+ ;;
*)
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 +206,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 tcp-data-split cqe-size tx-push rx-push tx-push-buf-len
;;
-d|--register-dump)
_values -S ' ' -w 'option' \
@@ -216,7 +247,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' \
@@ -279,7 +312,7 @@ if [[ -n $state ]]; then
'(weight default)equal' \
'(equal default)weight' \
'(equal weight)default' \
- hkey hfunc delete
+ hkey hfunc xfrm delete
;;
-f|--flash)
if (( CURRENT == 4 )); then
@@ -318,7 +351,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 +374,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