Skip to content

Commit cac40b7

Browse files
committed
Fix ethtool supported feature list
Signed-off-by: Gris Ge <[email protected]>
1 parent 0404d50 commit cac40b7

File tree

1 file changed

+152
-81
lines changed

1 file changed

+152
-81
lines changed

devel/yaml_api.md

Lines changed: 152 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,79 @@
11
<!-- vim-markdown-toc GFM -->
22

33
* [Introduction](#introduction)
4-
* [Interfaces](#interfaces)
5-
* [Base Interface](#base-interface)
6-
* [Name](#name)
7-
* [Type](#type)
8-
* [State](#state)
9-
* [Description](#description)
10-
* [Profile Name](#profile-name)
11-
* [Interface Identifier](#interface-identifier)
12-
* [MAC Address](#mac-address)
13-
* [Permanent MAC Address](#permanent-mac-address)
14-
* [MTU](#mtu)
15-
* [Minimum MTU](#minimum-mtu)
16-
* [Maximum MTU](#maximum-mtu)
17-
* [Wait IP](#wait-ip)
18-
* [Interface Controller](#interface-controller)
19-
* [Accept All MAC addresses](#accept-all-mac-addresses)
20-
* [Copy MAC From](#copy-mac-from)
21-
* [Dispatch script](#dispatch-script)
22-
* [IP](#ip)
23-
* [IP Enable](#ip-enable)
24-
* [DHCP](#dhcp)
25-
* [IPv6 Autoconf](#ipv6-autoconf)
26-
* [IP Address](#ip-address)
27-
* [Auto DNS](#auto-dns)
28-
* [Auto Routes](#auto-routes)
29-
* [Auto Gateway](#auto-gateway)
30-
* [Auto Route Table ID](#auto-route-table-id)
31-
* [Auto Route Metric](#auto-route-metric)
32-
* [Multipath TCP](#multipath-tcp)
33-
* [Ethtool](#ethtool)
34-
* [Ethtool feature](#ethtool-feature)
35-
* [Ethtool coalesce](#ethtool-coalesce)
36-
* [Ethtool ring](#ethtool-ring)
37-
* [LLDP](#lldp)
38-
* [LLDP Enabled](#lldp-enabled)
39-
* [Neighbors](#neighbors)
40-
* [TLV Type](#tlv-type)
41-
* [TLV Subtype](#tlv-subtype)
42-
* [Organization code](#organization-code)
43-
* [Ethernet Interface](#ethernet-interface)
44-
* [Ethernet speed](#ethernet-speed)
45-
* [Ethernet duplex](#ethernet-duplex)
46-
* [Ethernet Auto Negotiation](#ethernet-auto-negotiation)
47-
* [SR-IOV](#sr-iov)
48-
* [SR-IOV Total VFS Count](#sr-iov-total-vfs-count)
49-
* [SR-IOV VF Specific Settings](#sr-iov-vf-specific-settings)
50-
* [Bond Interface](#bond-interface)
51-
* [Bond Mode](#bond-mode)
52-
* [Bond Options](#bond-options)
53-
* [Bond Ports](#bond-ports)
54-
* [VLAN Interface](#vlan-interface)
55-
* [VxLAN Interface](#vxlan-interface)
56-
* [Linux Bridge Interface](#linux-bridge-interface)
57-
* [Linux Bridge Options](#linux-bridge-options)
58-
* [Linux Bridge Ports](#linux-bridge-ports)
59-
* [Linux Bridge Port VLAN](#linux-bridge-port-vlan)
60-
* [OpenvSwitch Bridge Interface](#openvswitch-bridge-interface)
61-
* [OpenvSwitch Bridge Options](#openvswitch-bridge-options)
62-
* [OpenvSwitch Bridge Ports](#openvswitch-bridge-ports)
63-
* [OpenvSwitch DPDK](#openvswitch-dpdk)
64-
* [OpenvSwitch Internal Interface](#openvswitch-internal-interface)
65-
* [OpenvSwitch Bridge Patch Interface](#openvswitch-bridge-patch-interface)
66-
* [Mac VTAP Interface](#mac-vtap-interface)
67-
* [Mac VLAN Interface](#mac-vlan-interface)
68-
* [IP over InfiniBand Interface](#ip-over-infiniband-interface)
69-
* [Virtual Routing and Forwarding (VRF) Interface](#virtual-routing-and-forwarding-vrf-interface)
70-
* [Linux Virtual Ethernet(veth) Interface](#linux-virtual-ethernetveth-interface)
71-
* [IPsec Encryption](#ipsec-encryption)
72-
* [Routes](#routes)
73-
* [Route Rules](#route-rules)
74-
* [DNS Resolver](#dns-resolver)
75-
* [Hostname](#hostname)
76-
* [OpenvSwitch Database](#openvswitch-database)
4+
* [Interfaces](#interfaces)
5+
* [Base Interface](#base-interface)
6+
* [Name](#name)
7+
* [Type](#type)
8+
* [State](#state)
9+
* [Description](#description)
10+
* [Profile Name](#profile-name)
11+
* [Interface Identifier](#interface-identifier)
12+
* [MAC Address](#mac-address)
13+
* [Permanent MAC Address](#permanent-mac-address)
14+
* [MTU](#mtu)
15+
* [Minimum MTU](#minimum-mtu)
16+
* [Maximum MTU](#maximum-mtu)
17+
* [Wait IP](#wait-ip)
18+
* [Interface Controller](#interface-controller)
19+
* [Accept All MAC addresses](#accept-all-mac-addresses)
20+
* [Copy MAC From](#copy-mac-from)
21+
* [Dispatch script](#dispatch-script)
22+
* [IP](#ip)
23+
* [IP Enable](#ip-enable)
24+
* [DHCP](#dhcp)
25+
* [IPv6 Autoconf](#ipv6-autoconf)
26+
* [IP Address](#ip-address)
27+
* [Auto DNS](#auto-dns)
28+
* [Auto Routes](#auto-routes)
29+
* [Auto Gateway](#auto-gateway)
30+
* [Auto Route Table ID](#auto-route-table-id)
31+
* [Auto Route Metric](#auto-route-metric)
32+
* [Multipath TCP](#multipath-tcp)
33+
* [Ethtool](#ethtool)
34+
* [Ethtool feature](#ethtool-feature)
35+
* [Ethtool coalesce](#ethtool-coalesce)
36+
* [Ethtool ring](#ethtool-ring)
37+
* [LLDP](#lldp)
38+
* [LLDP Enabled](#lldp-enabled)
39+
* [Neighbors](#neighbors)
40+
* [TLV Type](#tlv-type)
41+
* [TLV Subtype](#tlv-subtype)
42+
* [Organization code](#organization-code)
43+
* [Ethernet Interface](#ethernet-interface)
44+
* [Ethernet speed](#ethernet-speed)
45+
* [Ethernet duplex](#ethernet-duplex)
46+
* [Ethernet Auto Negotiation](#ethernet-auto-negotiation)
47+
* [SR-IOV](#sr-iov)
48+
* [SR-IOV Total VFS Count](#sr-iov-total-vfs-count)
49+
* [SR-IOV VF Specific Settings](#sr-iov-vf-specific-settings)
50+
* [Bond Interface](#bond-interface)
51+
* [Bond Mode](#bond-mode)
52+
* [Bond Options](#bond-options)
53+
* [Bond Ports](#bond-ports)
54+
* [VLAN Interface](#vlan-interface)
55+
* [VxLAN Interface](#vxlan-interface)
56+
* [Linux Bridge Interface](#linux-bridge-interface)
57+
* [Linux Bridge Options](#linux-bridge-options)
58+
* [Linux Bridge Ports](#linux-bridge-ports)
59+
* [Linux Bridge Port VLAN](#linux-bridge-port-vlan)
60+
* [OpenvSwitch Bridge Interface](#openvswitch-bridge-interface)
61+
* [OpenvSwitch Bridge Options](#openvswitch-bridge-options)
62+
* [OpenvSwitch Bridge Ports](#openvswitch-bridge-ports)
63+
* [OpenvSwitch DPDK](#openvswitch-dpdk)
64+
* [OpenvSwitch Internal Interface](#openvswitch-internal-interface)
65+
* [OpenvSwitch Bridge Patch Interface](#openvswitch-bridge-patch-interface)
66+
* [Mac VTAP Interface](#mac-vtap-interface)
67+
* [Mac VLAN Interface](#mac-vlan-interface)
68+
* [IP over InfiniBand Interface](#ip-over-infiniband-interface)
69+
* [Virtual Routing and Forwarding (VRF) Interface](#virtual-routing-and-forwarding-vrf-interface)
70+
* [Linux Virtual Ethernet(veth) Interface](#linux-virtual-ethernetveth-interface)
71+
* [IPsec Encryption](#ipsec-encryption)
72+
* [Routes](#routes)
73+
* [Route Rules](#route-rules)
74+
* [DNS Resolver](#dns-resolver)
75+
* [Hostname](#hostname)
76+
* [OpenvSwitch Database](#openvswitch-database)
7777

7878
<!-- vim-markdown-toc -->
7979

@@ -665,15 +665,86 @@ interfaces:
665665
The `feature` subsection of `ethtool` holds the __changeable__ features of
666666
specified interface using feature name as key string and boolean as value.
667667

668-
The subsection supports these parameters:
668+
Currently, nmstate support enable/disable features(if NIC support so):
669+
670+
* `esp-hw-offload`
671+
* `esp-tx-csum-hw-offload`
672+
* `tx-checksum-fcoe-crc`
673+
* `fcoe-mtu`
674+
* `tx-checksum-ip-generic`
675+
* `rx-gro`
676+
* `tx-checksum-ipv4`
677+
* `tx-generic-segmentation`
678+
* `tx-checksum-ipv6`
679+
* `highdma`
680+
* `tx-checksum-sctp`
681+
* `hw-tc-offload`
682+
* `tx-esp-segmentation`
683+
* `l2-fwd-offload`
684+
* `tx-fcoe-segmentation`
685+
* `loopback`
686+
* `tx-gre-csum-segmentation`
687+
* `rx-lro`
688+
* `tx-gre-segmentation`
689+
* `macsec-hw-offload`
690+
* `tx-gso-list`
691+
* `rx-ntuple-filter`
692+
* `tx-gso-partial`
693+
* `rx-checksum`
694+
* `tx-gso-robust`
695+
* `rx-all`
696+
* `tx-ipxip4-segmentation`
697+
* `rx-fcs`
698+
* `tx-ipxip6-segmentation`
699+
* `rx-gro-hw`
700+
* `tx-nocache-copy`
701+
* `rx-gro-list`
702+
* `tx-scatter-gather`
703+
* `rx-hashing`
704+
* `tx-scatter-gather-fraglist`
705+
* `rx-udp-gro-forwarding`
706+
* `tx-sctp-segmentation`
707+
* `rx-udp_tunnel-port-offload`
708+
* `tx-tcp6-segmentation`
709+
* `rx-vlan-hw-parse`
710+
* `tx-tcp-ecn-segmentation`
711+
* `rx-vlan-filter`
712+
* `tx-tcp-mangleid-segmentation`
713+
* `rx-vlan-stag-filter`
714+
* `tx-tcp-segmentation`
715+
* `rx-vlan-stag-hw-parse`
716+
* `tx-tunnel-remcsum-segmentation`
717+
* `tx-scatter-gather`
718+
* `tx-udp-segmentation`
719+
* `tls-hw-record`
720+
* `tx-udp_tnl-csum-segmentation`
721+
* `tls-hw-rx-offload`
722+
* `tx-udp_tnl-segmentation`
723+
* `tls-hw-tx-offload`
724+
* `tx-vlan-hw-insert`
725+
* `tso`
726+
* `tx-vlan-stag-hw-insert`
727+
728+
Nmstate also support these aliases used by `ethtool` CLI tool:
729+
730+
* `rx` -- `rx-checksum`
731+
* `rx-checksumming` -- `rx-checksum`
732+
* `ufo` -- `tx-udp-fragmentation`
733+
* `gso` -- `tx-generic-segmentation`
734+
* `generic-segmentation-offload` -- `tx-generic-segmentation`
735+
* `gro` -- `rx-gro`
736+
* `generic-receive-offload` -- `rx-gro`
737+
* `lro` -- `rx-lro`
738+
* `large-receive-offload` -- `rx-lro`
739+
* `rxvlan` -- `rx-vlan-hw-parse`
740+
* `rx-vlan-offload` -- `rx-vlan-hw-parse`
741+
* `txvlan` -- `tx-vlan-hw-insert`
742+
* `tx-vlan-offload` -- `tx-vlan-hw-insert`
743+
* `ntuple` -- `rx-ntuple-filter`
744+
* `ntuple-filters` -- `rx-ntuple-filter`
745+
* `rxhash` -- `rx-hashing`
746+
* `receive-hashing` -- `rx-hashing`
669747

670-
* `rx-gro`: boolean
671-
* `tx-nocache-copy`: boolean
672-
* `hw-tc-offload`: boolean
673-
* `rx-udp_tunnel-port-oflload`: boolean
674-
* `tx-generic-segmentation`: boolean
675-
* `rx-udp-gro-forwarding`: boolean
676-
* `rx-gro-list`: boolean
677748

678749
### Ethtool coalesce
679750

0 commit comments

Comments
 (0)