sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget./translations/zh_CN/networking/ethtool-netlinkmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_TW/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/it_IT/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hNetlink interface for ethtoolh]hNetlink interface for ethtool}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhH/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink.rsthKubh)}(hhh](h)}(hBasic informationh]hBasic information}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hXPNetlink interface for ethtool uses generic netlink family ``ethtool`` (userspace application should use macros ``ETHTOOL_GENL_NAME`` and ``ETHTOOL_GENL_VERSION`` defined in ```` uapi header). This family does not use a specific header, all information in requests and replies is passed using netlink attributes.h](h:Netlink interface for ethtool uses generic netlink family }(hhhhhNhNubhliteral)}(h ``ethtool``h]hethtool}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh* (userspace application should use macros }(hhhhhNhNubh)}(h``ETHTOOL_GENL_NAME``h]hETHTOOL_GENL_NAME}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh and }(hhhhhNhNubh)}(h``ETHTOOL_GENL_VERSION``h]hETHTOOL_GENL_VERSION}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh defined in }(hhhhhNhNubh)}(h````h]h}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh uapi header). This family does not use a specific header, all information in requests and replies is passed using netlink attributes.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hThe ethtool netlink interface uses extended ACK for error and warning reporting, userspace application developers are encouraged to make these messages available to user in a suitable way.h]hThe ethtool netlink interface uses extended ACK for error and warning reporting, userspace application developers are encouraged to make these messages available to user in a suitable way.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hRequests can be divided into three categories: "get" (retrieving information), "set" (setting parameters) and "action" (invoking an action).h]hRequests can be divided into three categories: “get” (retrieving information), “set” (setting parameters) and “action” (invoking an action).}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXAll "set" and "action" type requests require admin privileges (``CAP_NET_ADMIN`` in the namespace). Most "get" type requests are allowed for anyone but there are exceptions (where the response contains sensitive information). In some cases, the request as such is allowed for anyone but unprivileged users have attributes with sensitive information (e.g. wake-on-lan password) omitted.h](hGAll “set” and “action” type requests require admin privileges (}(hj>hhhNhNubh)}(h``CAP_NET_ADMIN``h]h CAP_NET_ADMIN}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubhX5 in the namespace). Most “get” type requests are allowed for anyone but there are exceptions (where the response contains sensitive information). In some cases, the request as such is allowed for anyone but unprivileged users have attributes with sensitive information (e.g. wake-on-lan password) omitted.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]basic-informationah ]h"]basic informationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Conventionsh]h Conventions}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhKubh)}(hXAttributes which represent a boolean value usually use NLA_U8 type so that we can distinguish three states: "on", "off" and "not present" (meaning the information is not available in "get" requests or value is not to be changed in "set" requests). For these attributes, the "true" value should be passed as number 1 but any non-zero value should be understood as "true" by recipient. In the tables below, "bool" denotes NLA_U8 attributes interpreted in this way.h]hXAttributes which represent a boolean value usually use NLA_U8 type so that we can distinguish three states: “on”, “off” and “not present” (meaning the information is not available in “get” requests or value is not to be changed in “set” requests). For these attributes, the “true” value should be passed as number 1 but any non-zero value should be understood as “true” by recipient. In the tables below, “bool” denotes NLA_U8 attributes interpreted in this way.}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjfhhubh)}(hIn the message structure descriptions below, if an attribute name is suffixed with "+", parent nest can contain multiple attributes of the same type. This implements an array of entries.h]hIn the message structure descriptions below, if an attribute name is suffixed with “+”, parent nest can contain multiple attributes of the same type. This implements an array of entries.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjfhhubh)}(hXAttributes that need to be filled-in by device drivers and that are dumped to user space based on whether they are valid or not should not use zero as a valid value. This avoids the need to explicitly signal the validity of the attribute in the device driver API.h]hXAttributes that need to be filled-in by device drivers and that are dumped to user space based on whether they are valid or not should not use zero as a valid value. This avoids the need to explicitly signal the validity of the attribute in the device driver API.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjfhhubeh}(h] conventionsah ]h"] conventionsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hRequest headerh]hRequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK3ubh)}(hiEach request or reply message contains a nested attribute with common header. Structure of this header ish]hiEach request or reply message contains a nested attribute with common header. Structure of this header is}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjhhubh block_quote)}(hXv============================== ====== ============================= ``ETHTOOL_A_HEADER_DEV_INDEX`` u32 device ifindex ``ETHTOOL_A_HEADER_DEV_NAME`` string device name ``ETHTOOL_A_HEADER_FLAGS`` u32 flags common for all requests ``ETHTOOL_A_HEADER_PHY_INDEX`` u32 phy device index ============================== ====== ============================= h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h``ETHTOOL_A_HEADER_DEV_INDEX``h]h)}(hj h]hETHTOOL_A_HEADER_DEV_INDEX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj$ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdevice ifindexh]hdevice ifindex}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_DEV_NAME``h]h)}(hj`h]hETHTOOL_A_HEADER_DEV_NAME}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhK:hj[ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hstringh]hstring}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hj{ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(h device nameh]h device name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_FLAGS``h]h)}(hjh]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hflags common for all requestsh]hflags common for all requests}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_PHY_INDEX``h]h)}(hjh]hETHTOOL_A_HEADER_PHY_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhK String sets are not user writeable so that the corresponding }(hj)hhhNhNubh)}(h``STRSET_SET``h]h STRSET_SET}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubh message is only used in kernel replies. There are two types of string sets: global (independent of a device, e.g. device feature names) and device specific (e.g. device private flags).}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMThj)hhubh)}(hRequest contents:h]hRequest contents:}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj)hhubj)}(hX+---------------------------------------+--------+------------------------+ | ``ETHTOOL_A_STRSET_HEADER`` | nested | request header | +---------------------------------------+--------+------------------------+ | ``ETHTOOL_A_STRSET_STRINGSETS`` | nested | string set to request | +-+-------------------------------------+--------+------------------------+ | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set | +-+-+-----------------------------------+--------+------------------------+ | | | ``ETHTOOL_A_STRINGSET_ID`` | u32 | set id | +-+-+-----------------------------------+--------+------------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhj)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj)ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_HEADER``h]h)}(hj8*h]hETHTOOL_A_STRSET_HEADER}(hj:*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6*ubah}(h]h ]h"]h$]h&]uh1hhhhM^hj3*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj0*ubj)}(hhh]h)}(hnestedh]hnested}(hjW*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjT*ubah}(h]h ]h"]h$]h&]uh1jhj0*ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjn*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjk*ubah}(h]h ]h"]h$]h&]uh1jhj0*ubeh}(h]h ]h"]h$]h&]uh1jhj-*ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]h)}(hj*h]hETHTOOL_A_STRSET_STRINGSETS}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhM`hj*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj*ubj)}(hhh]h)}(hnestedh]hnested}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hstring set to requesth]hstring set to request}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj-*ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(h#``ETHTOOL_A_STRINGSETS_STRINGSET+``h]h)}(hj*h]hETHTOOL_A_STRINGSETS_STRINGSET+}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMbhj*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj*ubj)}(hhh]h)}(hnestedh]hnested}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj +ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hone string seth]hone string set}(hj'+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj$+ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj-*ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjA+ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjA+ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_ID``h]h)}(hj[+h]hETHTOOL_A_STRINGSET_ID}(hj]+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjY+ubah}(h]h ]h"]h$]h&]uh1hhhhMdhjV+ubah}(h]h ]h"]h$]h&]uh1jhjA+ubj)}(hhh]h)}(hu32h]hu32}(hjy+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjv+ubah}(h]h ]h"]h$]h&]uh1jhjA+ubj)}(hhh]h)}(hset idh]hset id}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj+ubah}(h]h ]h"]h$]h&]uh1jhjA+ubeh}(h]h ]h"]h$]h&]uh1jhj-*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]colsKuh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhhhM]hj)hhubh)}(hKernel response contents:h]hKernel response contents:}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj)hhubj)}(hX'+---------------------------------------+--------+-----------------------+ | ``ETHTOOL_A_STRSET_HEADER`` | nested | reply header | +---------------------------------------+--------+-----------------------+ | ``ETHTOOL_A_STRSET_STRINGSETS`` | nested | array of string sets | +-+-------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set | +-+-+-----------------------------------+--------+-----------------------+ | | | ``ETHTOOL_A_STRINGSET_ID`` | u32 | set id | +-+-+-----------------------------------+--------+-----------------------+ | | | ``ETHTOOL_A_STRINGSET_COUNT`` | u32 | number of strings | +-+-+-----------------------------------+--------+-----------------------+ | | | ``ETHTOOL_A_STRINGSET_STRINGS`` | nested | array of strings | +-+-+-+---------------------------------+--------+-----------------------+ | | | | ``ETHTOOL_A_STRINGS_STRING+`` | nested | one string | +-+-+-+-+-------------------------------+--------+-----------------------+ | | | | | ``ETHTOOL_A_STRING_INDEX`` | u32 | string index | +-+-+-+-+-------------------------------+--------+-----------------------+ | | | | | ``ETHTOOL_A_STRING_VALUE`` | string | string value | +-+-+-+-+-------------------------------+--------+-----------------------+ | ``ETHTOOL_A_STRSET_COUNTS_ONLY`` | flag | return only counts | +---------------------------------------+--------+-----------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj+ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_HEADER``h]h)}(hj,,h]hETHTOOL_A_STRSET_HEADER}(hj.,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*,ubah}(h]h ]h"]h$]h&]uh1hhhhMjhj',ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj$,ubj)}(hhh]h)}(hnestedh]hnested}(hjK,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjH,ubah}(h]h ]h"]h$]h&]uh1jhj$,ubj)}(hhh]h)}(h reply headerh]h reply header}(hjb,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj_,ubah}(h]h ]h"]h$]h&]uh1jhj$,ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]h)}(hj,h]hETHTOOL_A_STRSET_STRINGSETS}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMlhj,ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj|,ubj)}(hhh]h)}(hnestedh]hnested}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj,ubah}(h]h ]h"]h$]h&]uh1jhj|,ubj)}(hhh]h)}(harray of string setsh]harray of string sets}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj,ubah}(h]h ]h"]h$]h&]uh1jhj|,ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(h#``ETHTOOL_A_STRINGSETS_STRINGSET+``h]h)}(hj,h]hETHTOOL_A_STRINGSETS_STRINGSET+}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMnhj,ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj,ubj)}(hhh]h)}(hnestedh]hnested}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj-ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hone string seth]hone string set}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj-ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj5-ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj5-ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_ID``h]h)}(hjO-h]hETHTOOL_A_STRINGSET_ID}(hjQ-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM-ubah}(h]h ]h"]h$]h&]uh1hhhhMphjJ-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj5-ubj)}(hhh]h)}(hu32h]hu32}(hjn-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjk-ubah}(h]h ]h"]h$]h&]uh1jhj5-ubj)}(hhh]h)}(hset idh]hset id}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj-ubah}(h]h ]h"]h$]h&]uh1jhj5-ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_COUNT``h]h)}(hj-h]hETHTOOL_A_STRINGSET_COUNT}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMrhj-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hu32h]hu32}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hnumber of stringsh]hnumber of strings}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj .ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj .ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_STRINGS``h]h)}(hj#.h]hETHTOOL_A_STRINGSET_STRINGS}(hj%.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!.ubah}(h]h ]h"]h$]h&]uh1hhhhMthj.ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj .ubj)}(hhh]h)}(hnestedh]hnested}(hjB.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj?.ubah}(h]h ]h"]h$]h&]uh1jhj .ubj)}(hhh]h)}(harray of stringsh]harray of strings}(hjY.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjV.ubah}(h]h ]h"]h$]h&]uh1jhj .ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjs.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjs.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjs.ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGS_STRING+``h]h)}(hj.h]hETHTOOL_A_STRINGS_STRING+}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjs.ubj)}(hhh]h)}(hnestedh]hnested}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]uh1jhjs.ubj)}(hhh]h)}(h one stringh]h one string}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]uh1jhjs.ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(h``ETHTOOL_A_STRING_INDEX``h]h)}(hj/h]hETHTOOL_A_STRING_INDEX}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1hhhhMxhj /ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hu32h]hu32}(hj0/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj-/ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(h string indexh]h string index}(hjG/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjD/ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhja/ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhja/ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhja/ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhja/ubj)}(hhh]h)}(h``ETHTOOL_A_STRING_VALUE``h]h)}(hj/h]hETHTOOL_A_STRING_VALUE}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1hhhhMzhj/ubah}(h]h ]h"]h$]h&]uh1jhja/ubj)}(hhh]h)}(hstringh]hstring}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj/ubah}(h]h ]h"]h$]h&]uh1jhja/ubj)}(hhh]h)}(h string valueh]h string value}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj/ubah}(h]h ]h"]h$]h&]uh1jhja/ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]h)}(hj/h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1hhhhM|hj/ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj/ubj)}(hhh]h)}(hflagh]hflag}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj0ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hreturn only countsh]hreturn only counts}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj0ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj!,ubeh}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]colsKuh1jhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1jhhhMihj)hhubh)}(hDevice identification in request header is optional. Depending on its presence a and ``NLM_F_DUMP`` flag, there are three type of ``STRSET_GET`` requests:h](hUDevice identification in request header is optional. Depending on its presence a and }(hjM0hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hjU0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM0ubh flag, there are three type of }(hjM0hhhNhNubh)}(h``STRSET_GET``h]h STRSET_GET}(hjg0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM0ubh requests:}(hjM0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubj)}(h- no ``NLM_F_DUMP,`` no device: get "global" stringsets - no ``NLM_F_DUMP``, with device: get string sets related to the device - ``NLM_F_DUMP``, no device: get device related string sets for all devices h]h bullet_list)}(hhh](h list_item)}(h5no ``NLM_F_DUMP,`` no device: get "global" stringsetsh]h)}(hj0h](hno }(hj0hhhNhNubh)}(h``NLM_F_DUMP,``h]h NLM_F_DUMP,}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh' no device: get “global” stringsets}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubj0)}(hEno ``NLM_F_DUMP``, with device: get string sets related to the deviceh]h)}(hj0h](hno }(hj0hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh4, with device: get string sets related to the device}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubj0)}(hJ``NLM_F_DUMP``, no device: get device related string sets for all devices h]h)}(hI``NLM_F_DUMP``, no device: get device related string sets for all devicesh](h)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh;, no device: get device related string sets for all devices}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubeh}(h]h ]h"]h$]h&]bullet-uh1j0hhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhhhMhj)hhubh)}(hX If there is no ``ETHTOOL_A_STRSET_STRINGSETS`` array, all string sets of requested type are returned, otherwise only those specified in the request. Flag ``ETHTOOL_A_STRSET_COUNTS_ONLY`` tells kernel to only return string counts of the sets, not the actual strings.h](hIf there is no }(hj1hhhNhNubh)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]hETHTOOL_A_STRSET_STRINGSETS}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubhl array, all string sets of requested type are returned, otherwise only those specified in the request. Flag }(hj1hhhNhNubh)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hj*1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubhO tells kernel to only return string counts of the sets, not the actual strings.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubeh}(h] strset-getah ]h"] strset_getah$]h&]uh1hhhhhhhhMRubh)}(hhh](h)}(h LINKINFO_GETh]h LINKINFO_GET}(hjM1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJ1hhhhhMubh)}(hRequests link settings as provided by ``ETHTOOL_GLINKSETTINGS`` except for link modes and autonegotiation related information. The request does not use any attributes.h](h&Requests link settings as provided by }(hj[1hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hjc1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[1ubhh except for link modes and autonegotiation related information. The request does not use any attributes.}(hj[1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjJ1hhubh)}(hRequest contents:h]hRequest contents:}(hj{1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ1hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKINFO_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj1h]hETHTOOL_A_LINKINFO_HEADER}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hnestedh]hnested}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhhhMhjJ1hhubh)}(hKernel response contents:h]hKernel response contents:}(hj$2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ1hhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_LINKINFO_HEADER`` nested reply header ``ETHTOOL_A_LINKINFO_PORT`` u8 physical port ``ETHTOOL_A_LINKINFO_PHYADDR`` u8 phy MDIO address ``ETHTOOL_A_LINKINFO_TP_MDIX`` u8 MDI(-X) status ``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL`` u8 MDI(-X) control ``ETHTOOL_A_LINKINFO_TRANSCEIVER`` u8 transceiver ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj92ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj92ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj92ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hje2h]hETHTOOL_A_LINKINFO_HEADER}(hjg2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj`2ubah}(h]h ]h"]h$]h&]uh1jhj]2ubj)}(hhh]h)}(hnestedh]hnested}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj]2ubj)}(hhh]h)}(h reply headerh]h reply header}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj]2ubeh}(h]h ]h"]h$]h&]uh1jhjZ2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PORT``h]h)}(hj2h]hETHTOOL_A_LINKINFO_PORT}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hu8h]hu8}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h physical porth]h physical port}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjZ2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hj3h]hETHTOOL_A_LINKINFO_PHYADDR}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj 3ubj)}(hhh]h)}(hu8h]hu8}(hj13hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.3ubah}(h]h ]h"]h$]h&]uh1jhj 3ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hjH3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE3ubah}(h]h ]h"]h$]h&]uh1jhj 3ubeh}(h]h ]h"]h$]h&]uh1jhjZ2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_TP_MDIX``h]h)}(hjj3h]hETHTOOL_A_LINKINFO_TP_MDIX}(hjl3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh3ubah}(h]h ]h"]h$]h&]uh1hhhhMhje3ubah}(h]h ]h"]h$]h&]uh1jhjb3ubj)}(hhh]h)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjb3ubj)}(hhh]h)}(hMDI(-X) statush]hMDI(-X) status}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjb3ubeh}(h]h ]h"]h$]h&]uh1jhjZ2ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hj3h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjZ2ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_LINKINFO_TRANSCEIVER``h]h)}(hj4h]hETHTOOL_A_LINKINFO_TRANSCEIVER}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hu8h]hu8}(hj64hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj34ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h transceiverh]h transceiver}(hjM4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjZ2ubeh}(h]h ]h"]h$]h&]uh1jhj92ubeh}(h]h ]h"]h$]h&]colsKuh1jhj62ubah}(h]h ]h"]h$]h&]uh1jhj22ubah}(h]h ]h"]h$]h&]uh1jhhhMhjJ1hhubh)}(hlAttributes and their values have the same meaning as matching members of the corresponding ioctl structures.h]hlAttributes and their values have the same meaning as matching members of the corresponding ioctl structures.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ1hhubh)}(hl``LINKINFO_GET`` allows dump requests (kernel returns reply message for all devices supporting the request).h](h)}(h``LINKINFO_GET``h]h LINKINFO_GET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubh\ allows dump requests (kernel returns reply message for all devices supporting the request).}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjJ1hhubeh}(h] linkinfo-getah ]h"] linkinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKINFO_SETh]h LINKINFO_SET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hhhhhMubh)}(h\``LINKINFO_SET`` request allows setting some of the attributes reported by ``LINKINFO_GET``.h](h)}(h``LINKINFO_SET``h]h LINKINFO_SET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubh; request allows setting some of the attributes reported by }(hj4hhhNhNubh)}(h``LINKINFO_GET``h]h LINKINFO_GET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubh.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubh)}(hRequest contents:h]hRequest contents:}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_LINKINFO_HEADER`` nested request header ``ETHTOOL_A_LINKINFO_PORT`` u8 physical port ``ETHTOOL_A_LINKINFO_PHYADDR`` u8 phy MDIO address ``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL`` u8 MDI(-X) control ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj5ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj25h]hETHTOOL_A_LINKINFO_HEADER}(hj45hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj05ubah}(h]h ]h"]h$]h&]uh1hhhhMhj-5ubah}(h]h ]h"]h$]h&]uh1jhj*5ubj)}(hhh]h)}(hnestedh]hnested}(hjP5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjM5ubah}(h]h ]h"]h$]h&]uh1jhj*5ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjg5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjd5ubah}(h]h ]h"]h$]h&]uh1jhj*5ubeh}(h]h ]h"]h$]h&]uh1jhj'5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PORT``h]h)}(hj5h]hETHTOOL_A_LINKINFO_PORT}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hu8h]hu8}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h physical porth]h physical port}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj'5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hj5h]hETHTOOL_A_LINKINFO_PHYADDR}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hu8h]hu8}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj'5ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hj76h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hj96hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj56ubah}(h]h ]h"]h$]h&]uh1hhhhMhj26ubah}(h]h ]h"]h$]h&]uh1jhj/6ubj)}(hhh]h)}(hu8h]hu8}(hjU6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjR6ubah}(h]h ]h"]h$]h&]uh1jhj/6ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hjl6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhji6ubah}(h]h ]h"]h$]h&]uh1jhj/6ubeh}(h]h ]h"]h$]h&]uh1jhj'5ubeh}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]colsKuh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhhhMhj4hhubh)}(hdMDI(-X) status and transceiver cannot be set, request with the corresponding attributes is rejected.h]hdMDI(-X) status and transceiver cannot be set, request with the corresponding attributes is rejected.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubeh}(h] linkinfo-setah ]h"] linkinfo_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_GETh]h LINKMODES_GET}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hhhhhMubh)}(hRequests link modes (supported, advertised and peer advertised) and related information (autonegotiation status, link speed and duplex) as provided by ``ETHTOOL_GLINKSETTINGS``. The request does not use any attributes.h](hRequests link modes (supported, advertised and peer advertised) and related information (autonegotiation status, link speed and duplex) as provided by }(hj6hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubh*. The request does not use any attributes.}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubh)}(hRequest contents:h]hRequest contents:}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj6ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hj'7h]hETHTOOL_A_LINKMODES_HEADER}(hj)7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj"7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hnestedh]hnested}(hjE7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj\7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjY7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]colsKuh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhhhMhj6hhubh)}(hKernel response contents:h]hKernel response contents:}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubj)}(hX========================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested reply header ``ETHTOOL_A_LINKMODES_AUTONEG`` u8 autonegotiation status ``ETHTOOL_A_LINKMODES_OURS`` bitset advertised link modes ``ETHTOOL_A_LINKMODES_PEER`` bitset partner link modes ``ETHTOOL_A_LINKMODES_SPEED`` u32 link speed (Mb/s) ``ETHTOOL_A_LINKMODES_DUPLEX`` u8 duplex mode ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG`` u8 Master/slave port mode ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE`` u8 Master/slave port state ``ETHTOOL_A_LINKMODES_RATE_MATCHING`` u8 PHY rate matching ========================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hj7h]hETHTOOL_A_LINKMODES_HEADER}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hnestedh]hnested}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h reply headerh]h reply header}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hj'8h]hETHTOOL_A_LINKMODES_AUTONEG}(hj)8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%8ubah}(h]h ]h"]h$]h&]uh1hhhhMhj"8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hu8h]hu8}(hjE8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hj\8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjY8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hj~8h]hETHTOOL_A_LINKMODES_OURS}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|8ubah}(h]h ]h"]h$]h&]uh1hhhhMhjy8ubah}(h]h ]h"]h$]h&]uh1jhjv8ubj)}(hhh]h)}(hbitseth]hbitset}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjv8ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjv8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_PEER``h]h)}(hj8h]hETHTOOL_A_LINKMODES_PEER}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hbitseth]hbitset}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hj 9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hj,9h]hETHTOOL_A_LINKMODES_SPEED}(hj.9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj'9ubah}(h]h ]h"]h$]h&]uh1jhj$9ubj)}(hhh]h)}(hu32h]hu32}(hjJ9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjG9ubah}(h]h ]h"]h$]h&]uh1jhj$9ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hja9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^9ubah}(h]h ]h"]h$]h&]uh1jhj$9ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_DUPLEX``h]h)}(hj9h]hETHTOOL_A_LINKMODES_DUPLEX}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj~9ubah}(h]h ]h"]h$]h&]uh1jhj{9ubj)}(hhh]h)}(hu8h]hu8}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj{9ubj)}(hhh]h)}(h duplex modeh]h duplex mode}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj{9ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``h]h)}(hj9h]h$ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hu8h]hu8}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hMaster/slave port modeh]hMaster/slave port mode}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj :ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h*``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE``h]h)}(hj1:h]hÐTOOL_A_LINKMODES_MASTER_SLAVE_STATE}(hj3:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj,:ubah}(h]h ]h"]h$]h&]uh1jhj):ubj)}(hhh]h)}(hu8h]hu8}(hjO:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjL:ubah}(h]h ]h"]h$]h&]uh1jhj):ubj)}(hhh]h)}(hMaster/slave port stateh]hMaster/slave port state}(hjf:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjc:ubah}(h]h ]h"]h$]h&]uh1jhj):ubeh}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_LINKMODES_RATE_MATCHING``h]h)}(hj:h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hu8h]hu8}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]colsKuh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhhhMhj6hhubh)}(hFor ``ETHTOOL_A_LINKMODES_OURS``, value represents advertised modes and mask represents supported modes. ``ETHTOOL_A_LINKMODES_PEER`` in the reply is a bit list.h](hFor }(hj:hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubhI, value represents advertised modes and mask represents supported modes. }(hj:hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_PEER``h]hETHTOOL_A_LINKMODES_PEER}(hj ;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubh in the reply is a bit list.}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubh)}(hn``LINKMODES_GET`` allows dump requests (kernel returns reply messages for all devices supporting the request).h](h)}(h``LINKMODES_GET``h]h LINKMODES_GET}(hj&;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj";ubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hj";hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubeh}(h] linkmodes-getah ]h"] linkmodes_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_SETh]h LINKMODES_SET}(hjI;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF;hhhhhMubh)}(hRequest contents:h]hRequest contents:}(hjW;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF;hhubj)}(hX========================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested request header ``ETHTOOL_A_LINKMODES_AUTONEG`` u8 autonegotiation status ``ETHTOOL_A_LINKMODES_OURS`` bitset advertised link modes ``ETHTOOL_A_LINKMODES_PEER`` bitset partner link modes ``ETHTOOL_A_LINKMODES_SPEED`` u32 link speed (Mb/s) ``ETHTOOL_A_LINKMODES_DUPLEX`` u8 duplex mode ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG`` u8 Master/slave port mode ``ETHTOOL_A_LINKMODES_RATE_MATCHING`` u8 PHY rate matching ``ETHTOOL_A_LINKMODES_LANES`` u32 lanes ========================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1jhjl;ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjl;ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjl;ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hj;h]hETHTOOL_A_LINKMODES_HEADER}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hnestedh]hnested}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hj;h]hETHTOOL_A_LINKMODES_AUTONEG}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hu8h]hu8}(hj <hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj <ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hj$<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!<ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hjF<h]hETHTOOL_A_LINKMODES_OURS}(hjH<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjD<ubah}(h]h ]h"]h$]h&]uh1hhhhMhjA<ubah}(h]h ]h"]h$]h&]uh1jhj><ubj)}(hhh]h)}(hbitseth]hbitset}(hjd<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhja<ubah}(h]h ]h"]h$]h&]uh1jhj><ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj{<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjx<ubah}(h]h ]h"]h$]h&]uh1jhj><ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_PEER``h]h)}(hj<h]hETHTOOL_A_LINKMODES_PEER}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hbitseth]hbitset}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hj<h]hETHTOOL_A_LINKMODES_SPEED}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hu32h]hu32}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hj)=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&=ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_DUPLEX``h]h)}(hjK=h]hETHTOOL_A_LINKMODES_DUPLEX}(hjM=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjI=ubah}(h]h ]h"]h$]h&]uh1hhhhMhjF=ubah}(h]h ]h"]h$]h&]uh1jhjC=ubj)}(hhh]h)}(hu8h]hu8}(hji=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjf=ubah}(h]h ]h"]h$]h&]uh1jhjC=ubj)}(hhh]h)}(h duplex modeh]h duplex mode}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}=ubah}(h]h ]h"]h$]h&]uh1jhjC=ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``h]h)}(hj=h]h$ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hu8h]hu8}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hMaster/slave port modeh]hMaster/slave port mode}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_LINKMODES_RATE_MATCHING``h]h)}(hj=h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hu8h]hu8}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hj.>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+>ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_LANES``h]h)}(hjP>h]hETHTOOL_A_LINKMODES_LANES}(hjR>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjN>ubah}(h]h ]h"]h$]h&]uh1hhhhMhjK>ubah}(h]h ]h"]h$]h&]uh1jhjH>ubj)}(hhh]h)}(hu32h]hu32}(hjn>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk>ubah}(h]h ]h"]h$]h&]uh1jhjH>ubj)}(hhh]h)}(hlanesh]hlanes}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhjH>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjl;ubeh}(h]h ]h"]h$]h&]colsKuh1jhji;ubah}(h]h ]h"]h$]h&]uh1jhje;ubah}(h]h ]h"]h$]h&]uh1jhhhMhjF;hhubh)}(hX.``ETHTOOL_A_LINKMODES_OURS`` bit set allows setting advertised link modes. If autonegotiation is on (either set now or kept from before), advertised modes are not changed (no ``ETHTOOL_A_LINKMODES_OURS`` attribute) and at least one of speed, duplex and lanes is specified, kernel adjusts advertised modes to all supported modes matching speed, duplex, lanes or all (whatever is specified). This autoselection is done on ethtool side with ioctl interface, netlink interface is supposed to allow requesting changes without knowing what exactly kernel supports.h](h)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubh bit set allows setting advertised link modes. If autonegotiation is on (either set now or kept from before), advertised modes are not changed (no }(hj>hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubhXc attribute) and at least one of speed, duplex and lanes is specified, kernel adjusts advertised modes to all supported modes matching speed, duplex, lanes or all (whatever is specified). This autoselection is done on ethtool side with ioctl interface, netlink interface is supposed to allow requesting changes without knowing what exactly kernel supports.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjF;hhubeh}(h] linkmodes-setah ]h"] linkmodes_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKSTATE_GETh]h LINKSTATE_GET}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>hhhhhMubh)}(hXCRequests link state information. Link up/down flag (as provided by ``ETHTOOL_GLINK`` ioctl command) is provided. Optionally, extended state might be provided as well. In general, extended state describes reasons for why a port is down, or why it operates in some non-obvious mode. This request does not have any attributes.h](hCRequests link state information. Link up/down flag (as provided by }(hj>hhhNhNubh)}(h``ETHTOOL_GLINK``h]h ETHTOOL_GLINK}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubh ioctl command) is provided. Optionally, extended state might be provided as well. In general, extended state describes reasons for why a port is down, or why it operates in some non-obvious mode. This request does not have any attributes.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj>hhubh)}(hRequest contents:h]hRequest contents:}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKSTATE_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj4?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj4?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj4?ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_HEADER``h]h)}(hj`?h]hETHTOOL_A_LINKSTATE_HEADER}(hjb?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^?ubah}(h]h ]h"]h$]h&]uh1hhhhMhj[?ubah}(h]h ]h"]h$]h&]uh1jhjX?ubj)}(hhh]h)}(hnestedh]hnested}(hj~?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{?ubah}(h]h ]h"]h$]h&]uh1jhjX?ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhjX?ubeh}(h]h ]h"]h$]h&]uh1jhjU?ubah}(h]h ]h"]h$]h&]uh1jhj4?ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1?ubah}(h]h ]h"]h$]h&]uh1jhj-?ubah}(h]h ]h"]h$]h&]uh1jhhhMhj>hhubh)}(hKernel response contents:h]hKernel response contents:}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>hhubj)}(hXr==================================== ====== ============================ ``ETHTOOL_A_LINKSTATE_HEADER`` nested reply header ``ETHTOOL_A_LINKSTATE_LINK`` bool link state (up/down) ``ETHTOOL_A_LINKSTATE_SQI`` u32 Current Signal Quality Index ``ETHTOOL_A_LINKSTATE_SQI_MAX`` u32 Max support SQI value ``ETHTOOL_A_LINKSTATE_EXT_STATE`` u8 link extended state ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE`` u8 link extended substate ``ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT`` u32 count of link down events ==================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_HEADER``h]h)}(hj @h]hETHTOOL_A_LINKSTATE_HEADER}(hj @hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hnestedh]hnested}(hj'@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(h reply headerh]h reply header}(hj>@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;@ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_LINK``h]h)}(hj`@h]hETHTOOL_A_LINKSTATE_LINK}(hjb@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^@ubah}(h]h ]h"]h$]h&]uh1hhhhMhj[@ubah}(h]h ]h"]h$]h&]uh1jhjX@ubj)}(hhh]h)}(hboolh]hbool}(hj~@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{@ubah}(h]h ]h"]h$]h&]uh1jhjX@ubj)}(hhh]h)}(hlink state (up/down)h]hlink state (up/down)}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjX@ubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_SQI``h]h)}(hj@h]hETHTOOL_A_LINKSTATE_SQI}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hu32h]hu32}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hCurrent Signal Quality Indexh]hCurrent Signal Quality Index}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_SQI_MAX``h]h)}(hjAh]hETHTOOL_A_LINKSTATE_SQI_MAX}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj Aubah}(h]h ]h"]h$]h&]uh1hhhhMhj Aubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hu32h]hu32}(hj,AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)Aubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hMax support SQI valueh]hMax support SQI value}(hjCAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@Aubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]h)}(hjeAh]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjgAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcAubah}(h]h ]h"]h$]h&]uh1hhhhMhj`Aubah}(h]h ]h"]h$]h&]uh1jhj]Aubj)}(hhh]h)}(hu8h]hu8}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj]Aubj)}(hhh]h)}(hlink extended stateh]hlink extended state}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj]Aubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h)}(hjAh]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hu8h]hu8}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hlink extended substateh]hlink extended substate}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT``h]h)}(hjBh]h ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhj Bubj)}(hhh]h)}(hu32h]hu32}(hj1BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.Bubah}(h]h ]h"]h$]h&]uh1jhj Bubj)}(hhh]h)}(hcount of link down eventsh]hcount of link down events}(hjHBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEBubah}(h]h ]h"]h$]h&]uh1jhj Bubeh}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]colsKuh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhhhM hj>hhubh)}(hFor most NIC drivers, the value of ``ETHTOOL_A_LINKSTATE_LINK`` returns carrier flag provided by ``netif_carrier_ok()`` but there are drivers which define their own handler.h](h#For most NIC drivers, the value of }(hj{BhhhNhNubh)}(h``ETHTOOL_A_LINKSTATE_LINK``h]hETHTOOL_A_LINKSTATE_LINK}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{Bubh" returns carrier flag provided by }(hj{BhhhNhNubh)}(h``netif_carrier_ok()``h]hnetif_carrier_ok()}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{Bubh6 but there are drivers which define their own handler.}(hj{BhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj>hhubh)}(hX ``ETHTOOL_A_LINKSTATE_EXT_STATE`` and ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE`` are optional values. ethtool core can provide either both ``ETHTOOL_A_LINKSTATE_EXT_STATE`` and ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``, or only ``ETHTOOL_A_LINKSTATE_EXT_STATE``, or none of them.h](h)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh and }(hjBhhhNhNubh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh; are optional values. ethtool core can provide either both }(hjBhhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh and }hjBsbh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh , or only }(hjBhhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh, or none of them.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj>hhubh)}(hn``LINKSTATE_GET`` allows dump requests (kernel returns reply messages for all devices supporting the request).h](h)}(h``LINKSTATE_GET``h]h LINKSTATE_GET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj>hhubh)}(hLink extended states:h]hLink extended states:}(hj-ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj>hhubj)}(hX*================================================ ============================================ ``ETHTOOL_LINK_EXT_STATE_AUTONEG`` States relating to the autonegotiation or issues therein ``ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE`` Failure during link training ``ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH`` Logical mismatch in physical coding sublayer or forward error correction sublayer ``ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY`` Signal integrity issues ``ETHTOOL_LINK_EXT_STATE_NO_CABLE`` No cable connected ``ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE`` Failure is related to cable, e.g., unsupported cable ``ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE`` Failure is related to EEPROM, e.g., failure during reading or parsing the data ``ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE`` Failure during calibration algorithm ``ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED`` The hardware is not able to provide the power required from cable or module ``ETHTOOL_LINK_EXT_STATE_OVERHEAT`` The module is overheated ``ETHTOOL_LINK_EXT_STATE_MODULE`` Transceiver module issue ================================================ ============================================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK0uh1jhjBCubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjBCubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_LINK_EXT_STATE_AUTONEG``h]h)}(hjdCh]hETHTOOL_LINK_EXT_STATE_AUTONEG}(hjfChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbCubah}(h]h ]h"]h$]h&]uh1hhhhM'hj_Cubah}(h]h ]h"]h$]h&]uh1jhj\Cubj)}(hhh]h)}(h8States relating to the autonegotiation or issues thereinh]h8States relating to the autonegotiation or issues therein}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjCubah}(h]h ]h"]h$]h&]uh1jhj\Cubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE``h]h)}(hjCh]h,ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM*hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hFailure during link trainingh]hFailure during link training}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH``h]h)}(hjCh]h,ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM,hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hQLogical mismatch in physical coding sublayer or forward error correction sublayerh]hQLogical mismatch in physical coding sublayer or forward error correction sublayer}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h/``ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY``h]h)}(hj$Dh]h+ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY}(hj&DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Dubah}(h]h ]h"]h$]h&]uh1hhhhM/hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hSignal integrity issuesh]hSignal integrity issues}(hjBDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj?Dubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_NO_CABLE``h]h)}(hjdDh]hETHTOOL_LINK_EXT_STATE_NO_CABLE}(hjfDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbDubah}(h]h ]h"]h$]h&]uh1hhhhM1hj_Dubah}(h]h ]h"]h$]h&]uh1jhj\Dubj)}(hhh]h)}(hNo cable connectedh]hNo cable connected}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjDubah}(h]h ]h"]h$]h&]uh1jhj\Dubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE``h]h)}(hjDh]h"ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM3hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h4Failure is related to cable, e.g., unsupported cableh]h4Failure is related to cable, e.g., unsupported cable}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE``h]h)}(hjDh]h#ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM6hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hNFailure is related to EEPROM, e.g., failure during reading or parsing the datah]hNFailure is related to EEPROM, e.g., failure during reading or parsing the data}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h.``ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE``h]h)}(hj$Eh]h*ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE}(hj&EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Eubah}(h]h ]h"]h$]h&]uh1hhhhM9hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(h$Failure during calibration algorithmh]h$Failure during calibration algorithm}(hjBEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hj?Eubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED``h]h)}(hjdEh]h,ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED}(hjfEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbEubah}(h]h ]h"]h$]h&]uh1hhhhM;hj_Eubah}(h]h ]h"]h$]h&]uh1jhj\Eubj)}(hhh]h)}(hKThe hardware is not able to provide the power required from cable or moduleh]hKThe hardware is not able to provide the power required from cable or module}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjEubah}(h]h ]h"]h$]h&]uh1jhj\Eubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_OVERHEAT``h]h)}(hjEh]hETHTOOL_LINK_EXT_STATE_OVERHEAT}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM>hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hThe module is overheatedh]hThe module is overheated}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjYCubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_LINK_EXT_STATE_MODULE``h]h)}(hjEh]hETHTOOL_LINK_EXT_STATE_MODULE}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM@hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hTransceiver module issueh]hTransceiver module issue}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjYCubeh}(h]h ]h"]h$]h&]uh1jhjBCubeh}(h]h ]h"]h$]h&]colsKuh1jhj?Cubah}(h]h ]h"]h$]h&]uh1jhj;Cubah}(h]h ]h"]h$]h&]uh1jhhhM&hj>hhubh)}(hLink extended substates:h]hLink extended substates:}(hj5FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChj>hhubj)}(hXAutoneg substates: =============================================================== ================================ ``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED`` Peer side is down ``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED`` Ack not received from peer side ``ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED`` Next page exchange failed ``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE`` Peer side is down during force mode or there is no agreement of speed ``ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE`` Forward error correction modes in both sides are mismatched ``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD`` No Highest Common Denominator =============================================================== ================================ Link training substates: =========================================================================== ==================== ``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED`` Frames were not recognized, the lock failed ``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT`` The lock did not occur before timeout ``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY`` Peer side did not send ready signal after training process ``ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT`` Remote side is not ready yet =========================================================================== ==================== Link logical mismatch substates: ================================================================ =============================== ``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK`` Physical coding sublayer was not locked in first phase - block lock ``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK`` Physical coding sublayer was not locked in second phase - alignment markers lock ``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS`` Physical coding sublayer did not get align status ``ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED`` FC forward error correction is not locked ``ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED`` RS forward error correction is not locked ================================================================ =============================== Bad signal integrity substates: ================================================================= ============================= ``ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS`` Large number of physical errors ``ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE`` The system attempted to operate the cable at a rate that is not formally supported, which led to signal integrity issues ``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST`` The external clock signal for SerDes is too weak or unavailable. ``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS`` The received signal for SerDes is too weak because analog loss of signal. ================================================================= ============================= Cable issue substates: =================================================== ============================================ ``ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE`` Unsupported cable ``ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE`` Cable test failure =================================================== ============================================ Transceiver module issue substates: =================================================== ============================================ ``ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY`` The CMIS Module State Machine did not reach the ModuleReady state. For example, if the module is stuck at ModuleFault state =================================================== ============================================ h](h)}(hAutoneg substates:h]hAutoneg substates:}(hjGFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjCFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK?uh1jhjXFubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjXFubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h4``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED``h]h)}(hjzFh]h0ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED}(hj|FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxFubah}(h]h ]h"]h$]h&]uh1hhhhMHhjuFubah}(h]h ]h"]h$]h&]uh1jhjrFubj)}(hhh]h)}(hPeer side is downh]hPeer side is down}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjFubah}(h]h ]h"]h$]h&]uh1jhjrFubeh}(h]h ]h"]h$]h&]uh1jhjoFubj)}(hhh](j)}(hhh]h)}(h1``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED``h]h)}(hjFh]h-ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhMJhjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hAck not received from peer sideh]hAck not received from peer side}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjoFubj)}(hhh](j)}(hhh]h)}(h:``ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED``h]h)}(hjFh]h6ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhMLhjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hNext page exchange failedh]hNext page exchange failed}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjGubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjoFubj)}(hhh](j)}(hhh]h)}(h?``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE``h]h)}(hj:Gh]h;ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE}(hj``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS``h]h)}(hjIh]h:ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhMwhjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h1Physical coding sublayer did not get align statush]h1Physical coding sublayer did not get align status}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjJubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjkIubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED``h]h)}(hj6Jh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED}(hj8JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4Jubah}(h]h ]h"]h$]h&]uh1hhhhMzhj1Jubah}(h]h ]h"]h$]h&]uh1jhj.Jubj)}(hhh]h)}(h)FC forward error correction is not lockedh]h)FC forward error correction is not locked}(hjTJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjQJubah}(h]h ]h"]h$]h&]uh1jhj.Jubeh}(h]h ]h"]h$]h&]uh1jhjkIubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED``h]h)}(hjvJh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED}(hjxJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtJubah}(h]h ]h"]h$]h&]uh1hhhhM}hjqJubah}(h]h ]h"]h$]h&]uh1jhjnJubj)}(hhh]h)}(h)RS forward error correction is not lockedh]h)RS forward error correction is not locked}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjJubah}(h]h ]h"]h$]h&]uh1jhjnJubeh}(h]h ]h"]h$]h&]uh1jhjkIubeh}(h]h ]h"]h$]h&]uh1jhjTIubeh}(h]h ]h"]h$]h&]colsKuh1jhjQIubah}(h]h ]h"]h$]h&]uh1jhjCFubh)}(hBad signal integrity substates:h]hBad signal integrity substates:}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKAuh1jhjJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjJubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hA``ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS``h]h)}(hjJh]h=ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hLarge number of physical errorsh]hLarge number of physical errors}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh](j)}(hhh]h)}(h2``ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE``h]h)}(hj4Kh]h.ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE}(hj6KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2Kubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Kubah}(h]h ]h"]h$]h&]uh1jhj,Kubj)}(hhh]h)}(hxThe system attempted to operate the cable at a rate that is not formally supported, which led to signal integrity issuesh]hxThe system attempted to operate the cable at a rate that is not formally supported, which led to signal integrity issues}(hjRKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOKubah}(h]h ]h"]h$]h&]uh1jhj,Kubeh}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh](j)}(hhh]h)}(h=``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST``h]h)}(hjtKh]h9ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST}(hjvKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrKubah}(h]h ]h"]h$]h&]uh1hhhhMhjoKubah}(h]h ]h"]h$]h&]uh1jhjlKubj)}(hhh]h)}(h@The external clock signal for SerDes is too weak or unavailable.h]h@The external clock signal for SerDes is too weak or unavailable.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjlKubeh}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh](j)}(hhh]h)}(h-``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS``h]h)}(hjKh]h)ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hIThe received signal for SerDes is too weak because analog loss of signal.h]hIThe received signal for SerDes is too weak because analog loss of signal.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]colsKuh1jhjJubah}(h]h ]h"]h$]h&]uh1jhjCFubh)}(hCable issue substates:h]hCable issue substates:}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjLubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h2``ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE``h]h)}(hj2Lh]h.ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE}(hj4LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0Lubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Lubah}(h]h ]h"]h$]h&]uh1jhj*Lubj)}(hhh]h)}(hUnsupported cableh]hUnsupported cable}(hjPLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMLubah}(h]h ]h"]h$]h&]uh1jhj*Lubeh}(h]h ]h"]h$]h&]uh1jhj'Lubj)}(hhh](j)}(hhh]h)}(h3``ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE``h]h)}(hjrLh]h/ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE}(hjtLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpLubah}(h]h ]h"]h$]h&]uh1hhhhMhjmLubah}(h]h ]h"]h$]h&]uh1jhjjLubj)}(hhh]h)}(hCable test failureh]hCable test failure}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjjLubeh}(h]h ]h"]h$]h&]uh1jhj'Lubeh}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]colsKuh1jhj Lubah}(h]h ]h"]h$]h&]uh1jhjCFubh)}(h#Transceiver module issue substates:h]h#Transceiver module issue substates:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjLubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h3``ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY``h]h)}(hjLh]h/ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h{The CMIS Module State Machine did not reach the ModuleReady state. For example, if the module is stuck at ModuleFault stateh]h{The CMIS Module State Machine did not reach the ModuleReady state. For example, if the module is stuck at ModuleFault state}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Mubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]colsKuh1jhjLubah}(h]h ]h"]h$]h&]uh1jhjCFubeh}(h]h ]h"]h$]h&]uh1jhhhMEhj>hhubeh}(h] linkstate-getah ]h"] linkstate_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h DEBUG_GETh]h DEBUG_GET}(hjLMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIMhhhhhMubh)}(hVRequests debugging settings of a device. At the moment, only message mask is provided.h]hVRequests debugging settings of a device. At the moment, only message mask is provided.}(hjZMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIMhhubh)}(hRequest contents:h]hRequest contents:}(hjhMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIMhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj}Mubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}Mubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}Mubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjMh]hETHTOOL_A_DEBUG_HEADER}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hnestedh]hnested}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jhj}Mubeh}(h]h ]h"]h$]h&]colsKuh1jhjzMubah}(h]h ]h"]h$]h&]uh1jhjvMubah}(h]h ]h"]h$]h&]uh1jhhhMhjIMhhubh)}(hKernel response contents:h]hKernel response contents:}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIMhhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested reply header ``ETHTOOL_A_DEBUG_MSGMASK`` bitset message mask ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj&Nubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&Nubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&Nubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjRNh]hETHTOOL_A_DEBUG_HEADER}(hjTNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMNubah}(h]h ]h"]h$]h&]uh1jhjJNubj)}(hhh]h)}(hnestedh]hnested}(hjpNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmNubah}(h]h ]h"]h$]h&]uh1jhjJNubj)}(hhh]h)}(h reply headerh]h reply header}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjJNubeh}(h]h ]h"]h$]h&]uh1jhjGNubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]h)}(hjNh]hETHTOOL_A_DEBUG_MSGMASK}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hbitseth]hbitset}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(h message maskh]h message mask}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjGNubeh}(h]h ]h"]h$]h&]uh1jhj&Nubeh}(h]h ]h"]h$]h&]colsKuh1jhj#Nubah}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]uh1jhhhMhjIMhhubh)}(hXThe message mask (``ETHTOOL_A_DEBUG_MSGMASK``) is equal to message level as provided by ``ETHTOOL_GMSGLVL`` and set by ``ETHTOOL_SMSGLVL`` in ioctl interface. While it is called message level there for historical reasons, most drivers and almost all newer drivers use it as a mask of enabled message classes (represented by ``NETIF_MSG_*`` constants); therefore netlink interface follows its actual use in practice.h](hThe message mask (}(hjOhhhNhNubh)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]hETHTOOL_A_DEBUG_MSGMASK}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubh+) is equal to message level as provided by }(hjOhhhNhNubh)}(h``ETHTOOL_GMSGLVL``h]hETHTOOL_GMSGLVL}(hj+OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubh and set by }(hjOhhhNhNubh)}(h``ETHTOOL_SMSGLVL``h]hETHTOOL_SMSGLVL}(hj=OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubh in ioctl interface. While it is called message level there for historical reasons, most drivers and almost all newer drivers use it as a mask of enabled message classes (represented by }(hjOhhhNhNubh)}(h``NETIF_MSG_*``h]h NETIF_MSG_*}(hjOOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubhL constants); therefore netlink interface follows its actual use in practice.}(hjOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIMhhubh)}(hj``DEBUG_GET`` allows dump requests (kernel returns reply messages for all devices supporting the request).h](h)}(h ``DEBUG_GET``h]h DEBUG_GET}(hjkOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgOubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjgOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIMhhubeh}(h] debug-getah ]h"] debug_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h DEBUG_SETh]h DEBUG_SET}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOhhhhhMubh)}(h\Set or update debugging settings of a device. At the moment, only message mask is supported.h]h\Set or update debugging settings of a device. At the moment, only message mask is supported.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubh)}(hRequest contents:h]hRequest contents:}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested request header ``ETHTOOL_A_DEBUG_MSGMASK`` bitset message mask ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjOubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjOh]hETHTOOL_A_DEBUG_HEADER}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hnestedh]hnested}(hj PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]h)}(hjBPh]hETHTOOL_A_DEBUG_MSGMASK}(hjDPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@Pubah}(h]h ]h"]h$]h&]uh1hhhhMhj=Pubah}(h]h ]h"]h$]h&]uh1jhj:Pubj)}(hhh]h)}(hbitseth]hbitset}(hj`PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]Pubah}(h]h ]h"]h$]h&]uh1jhj:Pubj)}(hhh]h)}(h message maskh]h message mask}(hjwPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtPubah}(h]h ]h"]h$]h&]uh1jhj:Pubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]colsKuh1jhjOubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1jhhhMhjOhhubh)}(hw``ETHTOOL_A_DEBUG_MSGMASK`` bit set allows setting or modifying mask of enabled debugging message types for the device.h](h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]hETHTOOL_A_DEBUG_MSGMASK}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubh\ bit set allows setting or modifying mask of enabled debugging message types for the device.}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjOhhubeh}(h] debug-setah ]h"] debug_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hWOL_GETh]hWOL_GET}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhhhhhMubh)}(hQuery device wake-on-lan settings. Unlike most "GET" type requests, ``ETHTOOL_MSG_WOL_GET`` requires (netns) ``CAP_NET_ADMIN`` privileges as it (potentially) provides SecureOn(tm) password which is confidential.h](hHQuery device wake-on-lan settings. Unlike most “GET” type requests, }(hjPhhhNhNubh)}(h``ETHTOOL_MSG_WOL_GET``h]hETHTOOL_MSG_WOL_GET}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubh requires (netns) }(hjPhhhNhNubh)}(h``CAP_NET_ADMIN``h]h CAP_NET_ADMIN}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubhU privileges as it (potentially) provides SecureOn(tm) password which is confidential.}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubh)}(hRequest contents:h]hRequest contents:}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_WOL_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj&Qubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&Qubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj&Qubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_HEADER``h]h)}(hjRQh]hETHTOOL_A_WOL_HEADER}(hjTQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPQubah}(h]h ]h"]h$]h&]uh1hhhhMhjMQubah}(h]h ]h"]h$]h&]uh1jhjJQubj)}(hhh]h)}(hnestedh]hnested}(hjpQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmQubah}(h]h ]h"]h$]h&]uh1jhjJQubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjJQubeh}(h]h ]h"]h$]h&]uh1jhjGQubah}(h]h ]h"]h$]h&]uh1jhj&Qubeh}(h]h ]h"]h$]h&]colsKuh1jhj#Qubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jhhhMhjPhhubh)}(hKernel response contents:h]hKernel response contents:}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubj)}(hXY==================================== ====== ========================== ``ETHTOOL_A_WOL_HEADER`` nested reply header ``ETHTOOL_A_WOL_MODES`` bitset mask of enabled WoL modes ``ETHTOOL_A_WOL_SOPASS`` binary SecureOn(tm) password ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjQubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjQubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjQubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_HEADER``h]h)}(hjQh]hETHTOOL_A_WOL_HEADER}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hnestedh]hnested}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h reply headerh]h reply header}(hj0RhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Rubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_MODES``h]h)}(hjRRh]hETHTOOL_A_WOL_MODES}(hjTRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPRubah}(h]h ]h"]h$]h&]uh1hhhhMhjMRubah}(h]h ]h"]h$]h&]uh1jhjJRubj)}(hhh]h)}(hbitseth]hbitset}(hjpRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmRubah}(h]h ]h"]h$]h&]uh1jhjJRubj)}(hhh]h)}(hmask of enabled WoL modesh]hmask of enabled WoL modes}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjJRubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_SOPASS``h]h)}(hjRh]hETHTOOL_A_WOL_SOPASS}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(hbinaryh]hbinary}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(hSecureOn(tm) passwordh]hSecureOn(tm) password}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]colsKuh1jhjQubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jhhhMhjPhhubh)}(hIn reply, ``ETHTOOL_A_WOL_MODES`` mask consists of modes supported by the device, value of modes which are enabled. ``ETHTOOL_A_WOL_SOPASS`` is only included in reply if ``WAKE_MAGICSECURE`` mode is supported.h](h In reply, }(hjShhhNhNubh)}(h``ETHTOOL_A_WOL_MODES``h]hETHTOOL_A_WOL_MODES}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubhS mask consists of modes supported by the device, value of modes which are enabled. }(hjShhhNhNubh)}(h``ETHTOOL_A_WOL_SOPASS``h]hETHTOOL_A_WOL_SOPASS}(hj+ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh is only included in reply if }(hjShhhNhNubh)}(h``WAKE_MAGICSECURE``h]hWAKE_MAGICSECURE}(hj=ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh mode is supported.}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubeh}(h]wol-getah ]h"]wol_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hWOL_SETh]hWOL_SET}(hj`ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ShhhhhMubh)}(h#Set or update wake-on-lan settings.h]h#Set or update wake-on-lan settings.}(hjnShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]Shhubh)}(hRequest contents:h]hRequest contents:}(hj|ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]Shhubj)}(hXS==================================== ====== ========================== ``ETHTOOL_A_WOL_HEADER`` nested request header ``ETHTOOL_A_WOL_MODES`` bitset enabled WoL modes ``ETHTOOL_A_WOL_SOPASS`` binary SecureOn(tm) password ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjSubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_HEADER``h]h)}(hjSh]hETHTOOL_A_WOL_HEADER}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hnestedh]hnested}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_MODES``h]h)}(hjTh]hETHTOOL_A_WOL_MODES}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhj Tubj)}(hhh]h)}(hbitseth]hbitset}(hj2ThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Tubah}(h]h ]h"]h$]h&]uh1jhj Tubj)}(hhh]h)}(henabled WoL modesh]henabled WoL modes}(hjIThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFTubah}(h]h ]h"]h$]h&]uh1jhj Tubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_SOPASS``h]h)}(hjkTh]hETHTOOL_A_WOL_SOPASS}(hjmThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiTubah}(h]h ]h"]h$]h&]uh1hhhhMhjfTubah}(h]h ]h"]h$]h&]uh1jhjcTubj)}(hhh]h)}(hbinaryh]hbinary}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjcTubj)}(hhh]h)}(hSecureOn(tm) passwordh]hSecureOn(tm) password}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjcTubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]colsKuh1jhjSubah}(h]h ]h"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]uh1jhhhMhj]Shhubh)}(hZ``ETHTOOL_A_WOL_SOPASS`` is only allowed for devices supporting ``WAKE_MAGICSECURE`` mode.h](h)}(h``ETHTOOL_A_WOL_SOPASS``h]hETHTOOL_A_WOL_SOPASS}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubh( is only allowed for devices supporting }(hjThhhNhNubh)}(h``WAKE_MAGICSECURE``h]hWAKE_MAGICSECURE}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubh mode.}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]Shhubeh}(h]wol-setah ]h"]wol_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h FEATURES_GETh]h FEATURES_GET}(hj UhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj UhhhhhMubh)}(h>Gets netdev features like ``ETHTOOL_GFEATURES`` ioctl request.h](hGets netdev features like }(hjUhhhNhNubh)}(h``ETHTOOL_GFEATURES``h]hETHTOOL_GFEATURES}(hj"UhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUubh ioctl request.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj Uhhubh)}(hRequest contents:h]hRequest contents:}(hj:UhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Uhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjOUubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOUubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjOUubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hj{Uh]hETHTOOL_A_FEATURES_HEADER}(hj}UhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyUubah}(h]h ]h"]h$]h&]uh1hhhhMhjvUubah}(h]h ]h"]h$]h&]uh1jhjsUubj)}(hhh]h)}(hnestedh]hnested}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjsUubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjsUubeh}(h]h ]h"]h$]h&]uh1jhjpUubah}(h]h ]h"]h$]h&]uh1jhjOUubeh}(h]h ]h"]h$]h&]colsKuh1jhjLUubah}(h]h ]h"]h$]h&]uh1jhjHUubah}(h]h ]h"]h$]h&]uh1jhhhMhj Uhhubh)}(hKernel response contents:h]hKernel response contents:}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj Uhhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested reply header ``ETHTOOL_A_FEATURES_HW`` bitset dev->hw_features ``ETHTOOL_A_FEATURES_WANTED`` bitset dev->wanted_features ``ETHTOOL_A_FEATURES_ACTIVE`` bitset dev->features ``ETHTOOL_A_FEATURES_NOCHANGE`` bitset NETIF_F_NEVER_CHANGE ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjUubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjUubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjUubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hj$Vh]hETHTOOL_A_FEATURES_HEADER}(hj&VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Vubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hnestedh]hnested}(hjBVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?Vubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h reply headerh]h reply header}(hjYVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVVubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HW``h]h)}(hj{Vh]hETHTOOL_A_FEATURES_HW}(hj}VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyVubah}(h]h ]h"]h$]h&]uh1hhhhMhjvVubah}(h]h ]h"]h$]h&]uh1jhjsVubj)}(hhh]h)}(hbitseth]hbitset}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjsVubj)}(hhh]h)}(hdev->hw_featuresh]hdev->hw_features}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjsVubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjVh]hETHTOOL_A_FEATURES_WANTED}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hbitseth]hbitset}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hdev->wanted_featuresh]hdev->wanted_features}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hj)Wh]hETHTOOL_A_FEATURES_ACTIVE}(hj+WhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'Wubah}(h]h ]h"]h$]h&]uh1hhhhMhj$Wubah}(h]h ]h"]h$]h&]uh1jhj!Wubj)}(hhh]h)}(hbitseth]hbitset}(hjGWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDWubah}(h]h ]h"]h$]h&]uh1jhj!Wubj)}(hhh]h)}(h dev->featuresh]h dev->features}(hj^WhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[Wubah}(h]h ]h"]h$]h&]uh1jhj!Wubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_NOCHANGE``h]h)}(hjWh]hETHTOOL_A_FEATURES_NOCHANGE}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~Wubah}(h]h ]h"]h$]h&]uh1hhhhMhj{Wubah}(h]h ]h"]h$]h&]uh1jhjxWubj)}(hhh]h)}(hbitseth]hbitset}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjxWubj)}(hhh]h)}(hNETIF_F_NEVER_CHANGEh]hNETIF_F_NEVER_CHANGE}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjxWubeh}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]colsKuh1jhjUubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1jhhhM hj Uhhubh)}(hXBitmaps in kernel response have the same meaning as bitmaps used in ioctl interference but attribute names are different (they are based on corresponding members of struct net_device). Legacy "flags" are not provided, if userspace needs them (most likely only ethtool for backward compatibility), it can calculate their values from related feature bits itself. ETHA_FEATURES_HW uses mask consisting of all features recognized by kernel (to provide all names when using verbose bitmap format), the other three use no mask (simple bit lists).h]hX Bitmaps in kernel response have the same meaning as bitmaps used in ioctl interference but attribute names are different (they are based on corresponding members of struct net_device). Legacy “flags” are not provided, if userspace needs them (most likely only ethtool for backward compatibility), it can calculate their values from related feature bits itself. ETHA_FEATURES_HW uses mask consisting of all features recognized by kernel (to provide all names when using verbose bitmap format), the other three use no mask (simple bit lists).}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Uhhubeh}(h] features-getah ]h"] features_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h FEATURES_SETh]h FEATURES_SET}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhhhhhM ubh)}(hHRequest to set netdev features like ``ETHTOOL_SFEATURES`` ioctl request.h](h$Request to set netdev features like }(hjXhhhNhNubh)}(h``ETHTOOL_SFEATURES``h]hETHTOOL_SFEATURES}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubh ioctl request.}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM"hjWhhubh)}(hRequest contents:h]hRequest contents:}(hj/XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjWhhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested request header ``ETHTOOL_A_FEATURES_WANTED`` bitset requested features ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjDXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjDXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjDXubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjpXh]hETHTOOL_A_FEATURES_HEADER}(hjrXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnXubah}(h]h ]h"]h$]h&]uh1hhhhM'hjkXubah}(h]h ]h"]h$]h&]uh1jhjhXubj)}(hhh]h)}(hnestedh]hnested}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjXubah}(h]h ]h"]h$]h&]uh1jhjhXubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjXubah}(h]h ]h"]h$]h&]uh1jhjhXubeh}(h]h ]h"]h$]h&]uh1jhjeXubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjXh]hETHTOOL_A_FEATURES_WANTED}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1hhhhM(hjXubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hbitseth]hbitset}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjXubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hrequested featuresh]hrequested features}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjXubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjeXubeh}(h]h ]h"]h$]h&]uh1jhjDXubeh}(h]h ]h"]h$]h&]colsKuh1jhjAXubah}(h]h ]h"]h$]h&]uh1jhj=Xubah}(h]h ]h"]h$]h&]uh1jhhhM&hjWhhubh)}(hKernel response contents:h]hKernel response contents:}(hj/YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjWhhubj)}(hXX==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested reply header ``ETHTOOL_A_FEATURES_WANTED`` bitset diff wanted vs. result ``ETHTOOL_A_FEATURES_ACTIVE`` bitset diff old vs. new active ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjDYubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjDYubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjDYubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjpYh]hETHTOOL_A_FEATURES_HEADER}(hjrYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnYubah}(h]h ]h"]h$]h&]uh1hhhhM.hjkYubah}(h]h ]h"]h$]h&]uh1jhjhYubj)}(hhh]h)}(hnestedh]hnested}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjYubah}(h]h ]h"]h$]h&]uh1jhjhYubj)}(hhh]h)}(h reply headerh]h reply header}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjYubah}(h]h ]h"]h$]h&]uh1jhjhYubeh}(h]h ]h"]h$]h&]uh1jhjeYubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjYh]hETHTOOL_A_FEATURES_WANTED}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhM/hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hbitseth]hbitset}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hdiff wanted vs. resulth]hdiff wanted vs. result}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjYubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjeYubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hjZh]hETHTOOL_A_FEATURES_ACTIVE}(hj ZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1hhhhM0hjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hbitseth]hbitset}(hjfeatures after the operation), value consists of values of these bits in the request (i.e. negated values from resulting features). ``ETHTOOL_A_FEATURES_ACTIVE`` reports the difference between old and new dev->features: mask consists of bits which have changed, values are their values in new dev->features (after the operation).h](hmAs request is subject to netdev_change_features() sanity checks, optional kernel reply (can be suppressed by }(hjZhhhNhNubh)}(h``ETHTOOL_FLAG_OMIT_REPLY``h]hETHTOOL_FLAG_OMIT_REPLY}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubhA flag in request header) informs client about the actual result. }(hjZhhhNhNubh)}(h``ETHTOOL_A_FEATURES_WANTED``h]hETHTOOL_A_FEATURES_WANTED}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubhX reports the difference between client request and actual result: mask consists of bits which differ between requested features and result (dev->features after the operation), value consists of values of these bits in the request (i.e. negated values from resulting features). }(hjZhhhNhNubh)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]hETHTOOL_A_FEATURES_ACTIVE}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubh reports the difference between old and new dev->features: mask consists of bits which have changed, values are their values in new dev->features (after the operation).}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM7hjWhhubh)}(hX``ETHTOOL_MSG_FEATURES_NTF`` notification is sent not only if device features are modified using ``ETHTOOL_MSG_FEATURES_SET`` request or on of ethtool ioctl request but also each time features are modified with netdev_update_features() or netdev_change_features().h](h)}(h``ETHTOOL_MSG_FEATURES_NTF``h]hETHTOOL_MSG_FEATURES_NTF}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubhE notification is sent not only if device features are modified using }(hjZhhhNhNubh)}(h``ETHTOOL_MSG_FEATURES_SET``h]hETHTOOL_MSG_FEATURES_SET}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubh request or on of ethtool ioctl request but also each time features are modified with netdev_update_features() or netdev_change_features().}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMBhjWhhubeh}(h] features-setah ]h"] features_setah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(h PRIVFLAGS_GETh]h PRIVFLAGS_GET}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hhhhhMIubh)}(h:Gets private flags like ``ETHTOOL_GPFLAGS`` ioctl request.h](hGets private flags like }(hj[hhhNhNubh)}(h``ETHTOOL_GPFLAGS``h]hETHTOOL_GPFLAGS}(hj'[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubh ioctl request.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMKhj[hhubh)}(hRequest contents:h]hRequest contents:}(hj?[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhj[hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjT[ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjT[ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjT[ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hj[h]hETHTOOL_A_PRIVFLAGS_HEADER}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~[ubah}(h]h ]h"]h$]h&]uh1hhhhMPhj{[ubah}(h]h ]h"]h$]h&]uh1jhjx[ubj)}(hhh]h)}(hnestedh]hnested}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj[ubah}(h]h ]h"]h$]h&]uh1jhjx[ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj[ubah}(h]h ]h"]h$]h&]uh1jhjx[ubeh}(h]h ]h"]h$]h&]uh1jhju[ubah}(h]h ]h"]h$]h&]uh1jhjT[ubeh}(h]h ]h"]h$]h&]colsKuh1jhjQ[ubah}(h]h ]h"]h$]h&]uh1jhjM[ubah}(h]h ]h"]h$]h&]uh1jhhhMOhj[hhubh)}(hKernel response contents:h]hKernel response contents:}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj[hhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested reply header ``ETHTOOL_A_PRIVFLAGS_FLAGS`` bitset private flags ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj[ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj[ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj[ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hj)\h]hETHTOOL_A_PRIVFLAGS_HEADER}(hj+\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'\ubah}(h]h ]h"]h$]h&]uh1hhhhMVhj$\ubah}(h]h ]h"]h$]h&]uh1jhj!\ubj)}(hhh]h)}(hnestedh]hnested}(hjG\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjD\ubah}(h]h ]h"]h$]h&]uh1jhj!\ubj)}(hhh]h)}(h reply headerh]h reply header}(hj^\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj[\ubah}(h]h ]h"]h$]h&]uh1jhj!\ubeh}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]h)}(hj\h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~\ubah}(h]h ]h"]h$]h&]uh1hhhhMWhj{\ubah}(h]h ]h"]h$]h&]uh1jhjx\ubj)}(hhh]h)}(hbitseth]hbitset}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj\ubah}(h]h ]h"]h$]h&]uh1jhjx\ubj)}(hhh]h)}(h private flagsh]h private flags}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj\ubah}(h]h ]h"]h$]h&]uh1jhjx\ubeh}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]colsKuh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhhhMUhj[hhubh)}(hX``ETHTOOL_A_PRIVFLAGS_FLAGS`` is a bitset with values of device private flags. These flags are defined by driver, their number and names (and also meaning) are device dependent. For compact bitset format, names can be retrieved as ``ETH_SS_PRIV_FLAGS`` string set. If verbose bitset format is requested, response uses all private flags supported by the device as mask so that client gets the full information without having to fetch the string set with names.h](h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubh is a bitset with values of device private flags. These flags are defined by driver, their number and names (and also meaning) are device dependent. For compact bitset format, names can be retrieved as }(hj\hhhNhNubh)}(h``ETH_SS_PRIV_FLAGS``h]hETH_SS_PRIV_FLAGS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubh string set. If verbose bitset format is requested, response uses all private flags supported by the device as mask so that client gets the full information without having to fetch the string set with names.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMZhj[hhubeh}(h] privflags-getah ]h"] privflags_getah$]h&]uh1hhhhhhhhMIubh)}(hhh](h)}(h PRIVFLAGS_SETh]h PRIVFLAGS_SET}(hj!]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hhhhhMcubh)}(hWSets or modifies values of device private flags like ``ETHTOOL_SPFLAGS`` ioctl request.h](h5Sets or modifies values of device private flags like }(hj/]hhhNhNubh)}(h``ETHTOOL_SPFLAGS``h]hETHTOOL_SPFLAGS}(hj7]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/]ubh ioctl request.}(hj/]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMehj]hhubh)}(hRequest contents:h]hRequest contents:}(hjO]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj]hhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested request header ``ETHTOOL_A_PRIVFLAGS_FLAGS`` bitset private flags ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjd]ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjd]ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjd]ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hj]h]hETHTOOL_A_PRIVFLAGS_HEADER}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1hhhhMkhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hnestedh]hnested}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]h)}(hj]h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1hhhhMlhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hbitseth]hbitset}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj^ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(h private flagsh]h private flags}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj^ubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjd]ubeh}(h]h ]h"]h$]h&]colsKuh1jhja]ubah}(h]h ]h"]h$]h&]uh1jhj]]ubah}(h]h ]h"]h$]h&]uh1jhhhMjhj]hhubh)}(hr``ETHTOOL_A_PRIVFLAGS_FLAGS`` can either set the whole set of private flags or modify only values of some of them.h](h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hjS^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjO^ubhU can either set the whole set of private flags or modify only values of some of them.}(hjO^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMohj]hhubeh}(h] privflags-setah ]h"] privflags_setah$]h&]uh1hhhhhhhhMcubh)}(hhh](h)}(h RINGS_GETh]h RINGS_GET}(hjv^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs^hhhhhMtubh)}(h:Gets ring sizes like ``ETHTOOL_GRINGPARAM`` ioctl request.h](hGets ring sizes like }(hj^hhhNhNubh)}(h``ETHTOOL_GRINGPARAM``h]hETHTOOL_GRINGPARAM}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubh ioctl request.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjs^hhubh)}(hRequest contents:h]hRequest contents:}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjs^hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_RINGS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj^ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj^ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj^ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HEADER``h]h)}(hj^h]hETHTOOL_A_RINGS_HEADER}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhM{hj^ubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hnestedh]hnested}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj_ubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj_ubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]colsKuh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhhhMzhjs^hhubh)}(hKernel response contents:h]hKernel response contents:}(hjM_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjs^hhubj)}(hX======================================= ====== =========================== ``ETHTOOL_A_RINGS_HEADER`` nested reply header ``ETHTOOL_A_RINGS_RX_MAX`` u32 max size of RX ring ``ETHTOOL_A_RINGS_RX_MINI_MAX`` u32 max size of RX mini ring ``ETHTOOL_A_RINGS_RX_JUMBO_MAX`` u32 max size of RX jumbo ring ``ETHTOOL_A_RINGS_TX_MAX`` u32 max size of TX ring ``ETHTOOL_A_RINGS_RX`` u32 size of RX ring ``ETHTOOL_A_RINGS_RX_MINI`` u32 size of RX mini ring ``ETHTOOL_A_RINGS_RX_JUMBO`` u32 size of RX jumbo ring ``ETHTOOL_A_RINGS_TX`` u32 size of TX ring ``ETHTOOL_A_RINGS_RX_BUF_LEN`` u32 size of buffers on the ring ``ETHTOOL_A_RINGS_TCP_DATA_SPLIT`` u8 TCP header / data split ``ETHTOOL_A_RINGS_CQE_SIZE`` u32 Size of TX/RX CQE ``ETHTOOL_A_RINGS_TX_PUSH`` u8 flag of TX Push mode ``ETHTOOL_A_RINGS_RX_PUSH`` u8 flag of RX Push mode ``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN`` u32 size of TX push buffer ``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX`` u32 max size of TX push buffer ``ETHTOOL_A_RINGS_HDS_THRESH`` u32 threshold of header / data split ``ETHTOOL_A_RINGS_HDS_THRESH_MAX`` u32 max threshold of header / data split ======================================= ====== =========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhjb_ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjb_ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjb_ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HEADER``h]h)}(hj_h]hETHTOOL_A_RINGS_HEADER}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hnestedh]hnested}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(h reply headerh]h reply header}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MAX``h]h)}(hj_h]hETHTOOL_A_RINGS_RX_MAX}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hu32h]hu32}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hmax size of RX ringh]hmax size of RX ring}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI_MAX``h]h)}(hj<`h]hETHTOOL_A_RINGS_RX_MINI_MAX}(hj>`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7`ubah}(h]h ]h"]h$]h&]uh1jhj4`ubj)}(hhh]h)}(hu32h]hu32}(hjZ`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW`ubah}(h]h ]h"]h$]h&]uh1jhj4`ubj)}(hhh]h)}(hmax size of RX mini ringh]hmax size of RX mini ring}(hjq`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn`ubah}(h]h ]h"]h$]h&]uh1jhj4`ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_RINGS_RX_JUMBO_MAX``h]h)}(hj`h]hETHTOOL_A_RINGS_RX_JUMBO_MAX}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hu32h]hu32}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hmax size of RX jumbo ringh]hmax size of RX jumbo ring}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX_MAX``h]h)}(hj`h]hETHTOOL_A_RINGS_TX_MAX}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hu32h]hu32}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hmax size of TX ringh]hmax size of TX ring}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX``h]h)}(hjAah]hETHTOOL_A_RINGS_RX}(hjCahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?aubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubj)}(hhh]h)}(hu32h]hu32}(hjdbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjabubah}(h]h ]h"]h$]h&]uh1jhj>bubj)}(hhh]h)}(hsize of TX ringh]hsize of TX ring}(hj{bhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxbubah}(h]h ]h"]h$]h&]uh1jhj>bubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_BUF_LEN``h]h)}(hjbh]hETHTOOL_A_RINGS_RX_BUF_LEN}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hu32h]hu32}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hsize of buffers on the ringh]hsize of buffers on the ring}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]h)}(hjbh]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hu8h]hu8}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hTCP header / data splith]hTCP header / data split}(hj)chhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&cubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]h)}(hjKch]hETHTOOL_A_RINGS_CQE_SIZE}(hjMchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIcubah}(h]h ]h"]h$]h&]uh1hhhhMhjFcubah}(h]h ]h"]h$]h&]uh1jhjCcubj)}(hhh]h)}(hu32h]hu32}(hjichhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfcubah}(h]h ]h"]h$]h&]uh1jhjCcubj)}(hhh]h)}(hSize of TX/RX CQEh]hSize of TX/RX CQE}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}cubah}(h]h ]h"]h$]h&]uh1jhjCcubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX_PUSH``h]h)}(hjch]hETHTOOL_A_RINGS_TX_PUSH}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hu8h]hu8}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hflag of TX Push modeh]hflag of TX Push mode}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_PUSH``h]h)}(hjch]hETHTOOL_A_RINGS_RX_PUSH}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hu8h]hu8}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hflag of RX Push modeh]hflag of RX Push mode}(hj.dhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+dubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]h)}(hjPdh]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hjRdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNdubah}(h]h ]h"]h$]h&]uh1hhhhMhjKdubah}(h]h ]h"]h$]h&]uh1jhjHdubj)}(hhh]h)}(hu32h]hu32}(hjndhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkdubah}(h]h ]h"]h$]h&]uh1jhjHdubj)}(hhh]h)}(hsize of TX push bufferh]hsize of TX push buffer}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjHdubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX``h]h)}(hjdh]h#ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hu32h]hu32}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hmax size of TX push bufferh]hmax size of TX push buffer}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HDS_THRESH``h]h)}(hjdh]hETHTOOL_A_RINGS_HDS_THRESH}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hu32h]hu32}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(h threshold of header / data splith]h threshold of header / data split}(hj3ehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0eubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_HDS_THRESH_MAX``h]h)}(hjUeh]hETHTOOL_A_RINGS_HDS_THRESH_MAX}(hjWehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSeubah}(h]h ]h"]h$]h&]uh1hhhhMhjPeubah}(h]h ]h"]h$]h&]uh1jhjMeubj)}(hhh]h)}(hu32h]hu32}(hjsehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpeubah}(h]h ]h"]h$]h&]uh1jhjMeubj)}(hhh]h)}(h$max threshold of header / data splith]h$max threshold of header / data split}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjMeubeh}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjb_ubeh}(h]h ]h"]h$]h&]colsKuh1jhj__ubah}(h]h ]h"]h$]h&]uh1jhj[_ubah}(h]h ]h"]h$]h&]uh1jhhhMhjs^hhubh)}(hX``ETHTOOL_A_RINGS_TCP_DATA_SPLIT`` indicates whether the device is usable with page-flipping TCP zero-copy receive (``getsockopt(TCP_ZEROCOPY_RECEIVE)``). If enabled the device is configured to place frame headers and data into separate buffers. The device configuration must make it possible to receive full memory pages of data, for example because MTU is high enough or through HW-GRO.h](h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubhR indicates whether the device is usable with page-flipping TCP zero-copy receive (}(hjehhhNhNubh)}(h$``getsockopt(TCP_ZEROCOPY_RECEIVE)``h]h getsockopt(TCP_ZEROCOPY_RECEIVE)}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubh). If enabled the device is configured to place frame headers and data into separate buffers. The device configuration must make it possible to receive full memory pages of data, for example because MTU is high enough or through HW-GRO.}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjs^hhubh)}(hX``ETHTOOL_A_RINGS_[RX|TX]_PUSH`` flag is used to enable descriptor fast path to send or receive packets. In ordinary path, driver fills descriptors in DRAM and notifies NIC hardware. In fast path, driver pushes descriptors to the device through MMIO writes, thus reducing the latency. However, enabling this feature may increase the CPU cost. Drivers may enforce additional per-packet eligibility checks (e.g. on packet size).h](h)}(h ``ETHTOOL_A_RINGS_[RX|TX]_PUSH``h]hETHTOOL_A_RINGS_[RX|TX]_PUSH}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubhX flag is used to enable descriptor fast path to send or receive packets. In ordinary path, driver fills descriptors in DRAM and notifies NIC hardware. In fast path, driver pushes descriptors to the device through MMIO writes, thus reducing the latency. However, enabling this feature may increase the CPU cost. Drivers may enforce additional per-packet eligibility checks (e.g. on packet size).}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjs^hhubh)}(hX``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN`` specifies the maximum number of bytes of a transmitted packet a driver can push directly to the underlying device ('push' mode). Pushing some of the payload bytes to the device has the advantages of reducing latency for small packets by avoiding DMA mapping (same as ``ETHTOOL_A_RINGS_TX_PUSH`` parameter) as well as allowing the underlying device to process packet headers ahead of fetching its payload. This can help the device to make fast actions based on the packet's headers. This is similar to the "tx-copybreak" parameter, which copies the packet to a preallocated DMA memory area instead of mapping new memory. However, tx-push-buff parameter copies the packet directly to the device to allow the device to take faster actions on the packet.h](h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hj fhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubhX specifies the maximum number of bytes of a transmitted packet a driver can push directly to the underlying device (‘push’ mode). Pushing some of the payload bytes to the device has the advantages of reducing latency for small packets by avoiding DMA mapping (same as }(hjfhhhNhNubh)}(h``ETHTOOL_A_RINGS_TX_PUSH``h]hETHTOOL_A_RINGS_TX_PUSH}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubhX parameter) as well as allowing the underlying device to process packet headers ahead of fetching its payload. This can help the device to make fast actions based on the packet’s headers. This is similar to the “tx-copybreak” parameter, which copies the packet to a preallocated DMA memory area instead of mapping new memory. However, tx-push-buff parameter copies the packet directly to the device to allow the device to take faster actions on the packet.}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjs^hhubeh}(h] rings-getah ]h"] rings_getah$]h&]uh1hhhhhhhhMtubh)}(hhh](h)}(h RINGS_SETh]h RINGS_SET}(hj@fhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=fhhhhhMubh)}(h:Sets ring sizes like ``ETHTOOL_SRINGPARAM`` ioctl request.h](hSets ring sizes like }(hjNfhhhNhNubh)}(h``ETHTOOL_SRINGPARAM``h]hETHTOOL_SRINGPARAM}(hjVfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNfubh ioctl request.}(hjNfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj=fhhubh)}(hRequest contents:h]hRequest contents:}(hjnfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=fhhubj)}(hX==================================== ====== =========================== ``ETHTOOL_A_RINGS_HEADER`` nested reply header ``ETHTOOL_A_RINGS_RX`` u32 size of RX ring ``ETHTOOL_A_RINGS_RX_MINI`` u32 size of RX mini ring ``ETHTOOL_A_RINGS_RX_JUMBO`` u32 size of RX jumbo ring ``ETHTOOL_A_RINGS_TX`` u32 size of TX ring ``ETHTOOL_A_RINGS_RX_BUF_LEN`` u32 size of buffers on the ring ``ETHTOOL_A_RINGS_TCP_DATA_SPLIT`` u8 TCP header / data split ``ETHTOOL_A_RINGS_CQE_SIZE`` u32 Size of TX/RX CQE ``ETHTOOL_A_RINGS_TX_PUSH`` u8 flag of TX Push mode ``ETHTOOL_A_RINGS_RX_PUSH`` u8 flag of RX Push mode ``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN`` u32 size of TX push buffer ``ETHTOOL_A_RINGS_HDS_THRESH`` u32 threshold of header / data split ==================================== ====== =========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjfubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjfubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjfubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HEADER``h]h)}(hjfh]hETHTOOL_A_RINGS_HEADER}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hnestedh]hnested}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(h reply headerh]h reply header}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX``h]h)}(hjgh]hETHTOOL_A_RINGS_RX}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hu32h]hu32}(hj$ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!gubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hsize of RX ringh]hsize of RX ring}(hj;ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8gubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI``h]h)}(hj]gh]hETHTOOL_A_RINGS_RX_MINI}(hj_ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[gubah}(h]h ]h"]h$]h&]uh1hhhhMhjXgubah}(h]h ]h"]h$]h&]uh1jhjUgubj)}(hhh]h)}(hu32h]hu32}(hj{ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxgubah}(h]h ]h"]h$]h&]uh1jhjUgubj)}(hhh]h)}(hsize of RX mini ringh]hsize of RX mini ring}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjUgubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_JUMBO``h]h)}(hjgh]hETHTOOL_A_RINGS_RX_JUMBO}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hu32h]hu32}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hsize of RX jumbo ringh]hsize of RX jumbo ring}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX``h]h)}(hj hh]hETHTOOL_A_RINGS_TX}(hj hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu32h]hu32}(hj)hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&hubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hsize of TX ringh]hsize of TX ring}(hj@hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=hubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_BUF_LEN``h]h)}(hjbhh]hETHTOOL_A_RINGS_RX_BUF_LEN}(hjdhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hubah}(h]h ]h"]h$]h&]uh1hhhhMhj]hubah}(h]h ]h"]h$]h&]uh1jhjZhubj)}(hhh]h)}(hu32h]hu32}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}hubah}(h]h ]h"]h$]h&]uh1jhjZhubj)}(hhh]h)}(hsize of buffers on the ringh]hsize of buffers on the ring}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjZhubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]h)}(hjhh]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu8h]hu8}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hTCP header / data splith]hTCP header / data split}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]h)}(hjih]hETHTOOL_A_RINGS_CQE_SIZE}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1hhhhMhj iubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hu32h]hu32}(hj.ihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+iubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hSize of TX/RX CQEh]hSize of TX/RX CQE}(hjEihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBiubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX_PUSH``h]h)}(hjgih]hETHTOOL_A_RINGS_TX_PUSH}(hjiihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeiubah}(h]h ]h"]h$]h&]uh1hhhhMhjbiubah}(h]h ]h"]h$]h&]uh1jhj_iubj)}(hhh]h)}(hu8h]hu8}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhj_iubj)}(hhh]h)}(hflag of TX Push modeh]hflag of TX Push mode}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhj_iubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_PUSH``h]h)}(hjih]hETHTOOL_A_RINGS_RX_PUSH}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hu8h]hu8}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hflag of RX Push modeh]hflag of RX Push mode}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]h)}(hjjh]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhj jubj)}(hhh]h)}(hu32h]hu32}(hj3jhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0jubah}(h]h ]h"]h$]h&]uh1jhj jubj)}(hhh]h)}(hsize of TX push bufferh]hsize of TX push buffer}(hjJjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGjubah}(h]h ]h"]h$]h&]uh1jhj jubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HDS_THRESH``h]h)}(hjljh]hETHTOOL_A_RINGS_HDS_THRESH}(hjnjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjjubah}(h]h ]h"]h$]h&]uh1hhhhMhjgjubah}(h]h ]h"]h$]h&]uh1jhjdjubj)}(hhh]h)}(hu32h]hu32}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjdjubj)}(hhh]h)}(h threshold of header / data splith]h threshold of header / data split}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjdjubeh}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]colsKuh1jhjfubah}(h]h ]h"]h$]h&]uh1jhj|fubah}(h]h ]h"]h$]h&]uh1jhhhMhj=fhhubh)}(hKernel checks that requested ring sizes do not exceed limits reported by driver. Driver may impose additional constraints and may not support all attributes.h]hKernel checks that requested ring sizes do not exceed limits reported by driver. Driver may impose additional constraints and may not support all attributes.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=fhhubh)}(hX[``ETHTOOL_A_RINGS_CQE_SIZE`` specifies the completion queue event size. Completion queue events (CQE) are the events posted by NIC to indicate the completion status of a packet when the packet is sent (like send success or error) or received (like pointers to packet fragments). The CQE size parameter enables to modify the CQE size other than default size if NIC supports it. A bigger CQE can have more receive buffer pointers, and in turn the NIC can transfer a bigger frame from wire. Based on the NIC hardware, the overall completion queue size can be adjusted in the driver if CQE size is modified.h](h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]hETHTOOL_A_RINGS_CQE_SIZE}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubhX? specifies the completion queue event size. Completion queue events (CQE) are the events posted by NIC to indicate the completion status of a packet when the packet is sent (like send success or error) or received (like pointers to packet fragments). The CQE size parameter enables to modify the CQE size other than default size if NIC supports it. A bigger CQE can have more receive buffer pointers, and in turn the NIC can transfer a bigger frame from wire. Based on the NIC hardware, the overall completion queue size can be adjusted in the driver if CQE size is modified.}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj=fhhubh)}(h``ETHTOOL_A_RINGS_HDS_THRESH`` specifies the threshold value of header / data split feature. If a received packet size is larger than this threshold value, header and data will be split.h](h)}(h``ETHTOOL_A_RINGS_HDS_THRESH``h]hETHTOOL_A_RINGS_HDS_THRESH}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubh specifies the threshold value of header / data split feature. If a received packet size is larger than this threshold value, header and data will be split.}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj=fhhubeh}(h] rings-setah ]h"] rings_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CHANNELS_GETh]h CHANNELS_GET}(hj%khhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"khhhhhMubh)}(h=Gets channel counts like ``ETHTOOL_GCHANNELS`` ioctl request.h](hGets channel counts like }(hj3khhhNhNubh)}(h``ETHTOOL_GCHANNELS``h]hETHTOOL_GCHANNELS}(hj;khhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3kubh ioctl request.}(hj3khhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"khhubh)}(hRequest contents:h]hRequest contents:}(hjSkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"khhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_CHANNELS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjhkubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjhkubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjhkubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_HEADER``h]h)}(hjkh]hETHTOOL_A_CHANNELS_HEADER}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(hnestedh]hnested}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1jhjhkubeh}(h]h ]h"]h$]h&]colsKuh1jhjekubah}(h]h ]h"]h$]h&]uh1jhjakubah}(h]h ]h"]h$]h&]uh1jhhhMhj"khhubh)}(hKernel response contents:h]hKernel response contents:}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"khhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_CHANNELS_HEADER`` nested reply header ``ETHTOOL_A_CHANNELS_RX_MAX`` u32 max receive channels ``ETHTOOL_A_CHANNELS_TX_MAX`` u32 max transmit channels ``ETHTOOL_A_CHANNELS_OTHER_MAX`` u32 max other channels ``ETHTOOL_A_CHANNELS_COMBINED_MAX`` u32 max combined channels ``ETHTOOL_A_CHANNELS_RX_COUNT`` u32 receive channel count ``ETHTOOL_A_CHANNELS_TX_COUNT`` u32 transmit channel count ``ETHTOOL_A_CHANNELS_OTHER_COUNT`` u32 other channel count ``ETHTOOL_A_CHANNELS_COMBINED_COUNT`` u32 combined channel count ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjlubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjlubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjlubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_HEADER``h]h)}(hj=lh]hETHTOOL_A_CHANNELS_HEADER}(hj?lhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;lubah}(h]h ]h"]h$]h&]uh1hhhhMhj8lubah}(h]h ]h"]h$]h&]uh1jhj5lubj)}(hhh]h)}(hnestedh]hnested}(hj[lhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjXlubah}(h]h ]h"]h$]h&]uh1jhj5lubj)}(hhh]h)}(h reply headerh]h reply header}(hjrlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjolubah}(h]h ]h"]h$]h&]uh1jhj5lubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_RX_MAX``h]h)}(hjlh]hETHTOOL_A_CHANNELS_RX_MAX}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hu32h]hu32}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hmax receive channelsh]hmax receive channels}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_TX_MAX``h]h)}(hjlh]hETHTOOL_A_CHANNELS_TX_MAX}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hu32h]hu32}(hj mhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hmax transmit channelsh]hmax transmit channels}(hj mhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_CHANNELS_OTHER_MAX``h]h)}(hjBmh]hETHTOOL_A_CHANNELS_OTHER_MAX}(hjDmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@mubah}(h]h ]h"]h$]h&]uh1hhhhMhj=mubah}(h]h ]h"]h$]h&]uh1jhj:mubj)}(hhh]h)}(hu32h]hu32}(hj`mhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]mubah}(h]h ]h"]h$]h&]uh1jhj:mubj)}(hhh]h)}(hmax other channelsh]hmax other channels}(hjwmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtmubah}(h]h ]h"]h$]h&]uh1jhj:mubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CHANNELS_COMBINED_MAX``h]h)}(hjmh]hETHTOOL_A_CHANNELS_COMBINED_MAX}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hu32h]hu32}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hmax combined channelsh]hmax combined channels}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_RX_COUNT``h]h)}(hjmh]hETHTOOL_A_CHANNELS_RX_COUNT}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hu32h]hu32}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj nubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hreceive channel counth]hreceive channel count}(hj%nhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"nubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_TX_COUNT``h]h)}(hjGnh]hETHTOOL_A_CHANNELS_TX_COUNT}(hjInhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEnubah}(h]h ]h"]h$]h&]uh1hhhhMhjBnubah}(h]h ]h"]h$]h&]uh1jhj?nubj)}(hhh]h)}(hu32h]hu32}(hjenhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbnubah}(h]h ]h"]h$]h&]uh1jhj?nubj)}(hhh]h)}(htransmit channel counth]htransmit channel count}(hj|nhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjynubah}(h]h ]h"]h$]h&]uh1jhj?nubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_CHANNELS_OTHER_COUNT``h]h)}(hjnh]hETHTOOL_A_CHANNELS_OTHER_COUNT}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(hu32h]hu32}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(hother channel counth]hother channel count}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhj2lubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_CHANNELS_COMBINED_COUNT``h]h)}(hjnh]h!ETHTOOL_A_CHANNELS_COMBINED_COUNT}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(hu32h]hu32}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(hcombined channel counth]hcombined channel count}(hj*ohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj'oubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhj2lubeh}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]colsKuh1jhjlubah}(h]h ]h"]h$]h&]uh1jhj lubah}(h]h ]h"]h$]h&]uh1jhhhMhj"khhubeh}(h] channels-getah ]h"] channels_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CHANNELS_SETh]h CHANNELS_SET}(hjhohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeohhhhhMubh)}(h=Sets channel counts like ``ETHTOOL_SCHANNELS`` ioctl request.h](hSets channel counts like }(hjvohhhNhNubh)}(h``ETHTOOL_SCHANNELS``h]hETHTOOL_SCHANNELS}(hj~ohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvoubh ioctl request.}(hjvohhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjeohhubh)}(hRequest contents:h]hRequest contents:}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeohhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_CHANNELS_HEADER`` nested request header ``ETHTOOL_A_CHANNELS_RX_COUNT`` u32 receive channel count ``ETHTOOL_A_CHANNELS_TX_COUNT`` u32 transmit channel count ``ETHTOOL_A_CHANNELS_OTHER_COUNT`` u32 other channel count ``ETHTOOL_A_CHANNELS_COMBINED_COUNT`` u32 combined channel count ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjoubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_HEADER``h]h)}(hjoh]hETHTOOL_A_CHANNELS_HEADER}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hnestedh]hnested}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj phhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj pubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_RX_COUNT``h]h)}(hj.ph]hETHTOOL_A_CHANNELS_RX_COUNT}(hj0phhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,pubah}(h]h ]h"]h$]h&]uh1hhhhMhj)pubah}(h]h ]h"]h$]h&]uh1jhj&pubj)}(hhh]h)}(hu32h]hu32}(hjLphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIpubah}(h]h ]h"]h$]h&]uh1jhj&pubj)}(hhh]h)}(hreceive channel counth]hreceive channel count}(hjcphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`pubah}(h]h ]h"]h$]h&]uh1jhj&pubeh}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_TX_COUNT``h]h)}(hjph]hETHTOOL_A_CHANNELS_TX_COUNT}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhj}pubj)}(hhh]h)}(hu32h]hu32}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhj}pubj)}(hhh]h)}(htransmit channel counth]htransmit channel count}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhj}pubeh}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_CHANNELS_OTHER_COUNT``h]h)}(hjph]hETHTOOL_A_CHANNELS_OTHER_COUNT}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh]h)}(hu32h]hu32}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh]h)}(hother channel counth]hother channel count}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_CHANNELS_COMBINED_COUNT``h]h)}(hj3qh]h!ETHTOOL_A_CHANNELS_COMBINED_COUNT}(hj5qhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1qubah}(h]h ]h"]h$]h&]uh1hhhhMhj.qubah}(h]h ]h"]h$]h&]uh1jhj+qubj)}(hhh]h)}(hu32h]hu32}(hjQqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNqubah}(h]h ]h"]h$]h&]uh1jhj+qubj)}(hhh]h)}(hcombined channel counth]hcombined channel count}(hjhqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjequbah}(h]h ]h"]h$]h&]uh1jhj+qubeh}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]colsKuh1jhjoubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1jhhhMhjeohhubh)}(hKernel checks that requested channel counts do not exceed limits reported by driver. Driver may impose additional constraints and may not support all attributes.h]hKernel checks that requested channel counts do not exceed limits reported by driver. Driver may impose additional constraints and may not support all attributes.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeohhubeh}(h] channels-setah ]h"] channels_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h COALESCE_GETh]h COALESCE_GET}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhhhhhMubh)}(hDGets coalescing parameters like ``ETHTOOL_GCOALESCE`` ioctl request.h](h Gets coalescing parameters like }(hjqhhhNhNubh)}(h``ETHTOOL_GCOALESCE``h]hETHTOOL_GCOALESCE}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubh ioctl request.}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjqhhubh)}(hRequest contents:h]hRequest contents:}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjqhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_COALESCE_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjqubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjqubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjqubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_HEADER``h]h)}(hj#rh]hETHTOOL_A_COALESCE_HEADER}(hj%rhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!rubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hnestedh]hnested}(hjArhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>rubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjXrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUrubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]colsKuh1jhjqubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jhhhMhjqhhubh)}(hKernel response contents:h]hKernel response contents:}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqhhubj)}(hXB =========================================== ====== ======================= ``ETHTOOL_A_COALESCE_HEADER`` nested reply header ``ETHTOOL_A_COALESCE_RX_USECS`` u32 delay (us), normal Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES`` u32 max packets, normal Rx ``ETHTOOL_A_COALESCE_RX_USECS_IRQ`` u32 delay (us), Rx in IRQ ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ`` u32 max packets, Rx in IRQ ``ETHTOOL_A_COALESCE_TX_USECS`` u32 delay (us), normal Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES`` u32 max packets, normal Tx ``ETHTOOL_A_COALESCE_TX_USECS_IRQ`` u32 delay (us), Tx in IRQ ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ`` u32 IRQ packets, Tx in IRQ ``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS`` u32 delay of stats update ``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX`` bool adaptive Rx coalesce ``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX`` bool adaptive Tx coalesce ``ETHTOOL_A_COALESCE_PKT_RATE_LOW`` u32 threshold for low rate ``ETHTOOL_A_COALESCE_RX_USECS_LOW`` u32 delay (us), low Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW`` u32 max packets, low Rx ``ETHTOOL_A_COALESCE_TX_USECS_LOW`` u32 delay (us), low Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW`` u32 max packets, low Tx ``ETHTOOL_A_COALESCE_PKT_RATE_HIGH`` u32 threshold for high rate ``ETHTOOL_A_COALESCE_RX_USECS_HIGH`` u32 delay (us), high Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH`` u32 max packets, high Rx ``ETHTOOL_A_COALESCE_TX_USECS_HIGH`` u32 delay (us), high Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH`` u32 max packets, high Tx ``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL`` u32 rate sampling interval ``ETHTOOL_A_COALESCE_USE_CQE_TX`` bool timer reset mode, Tx ``ETHTOOL_A_COALESCE_USE_CQE_RX`` bool timer reset mode, Rx ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES`` u32 max aggr size, Tx ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES`` u32 max aggr packets, Tx ``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS`` u32 time (us), aggr, Tx ``ETHTOOL_A_COALESCE_RX_PROFILE`` nested profile of DIM, Rx ``ETHTOOL_A_COALESCE_TX_PROFILE`` nested profile of DIM, Tx =========================================== ====== ======================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK+uh1jhjrubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjrubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjrubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_HEADER``h]h)}(hjrh]hETHTOOL_A_COALESCE_HEADER}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hnestedh]hnested}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(h reply headerh]h reply header}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_RX_USECS``h]h)}(hj#sh]hETHTOOL_A_COALESCE_RX_USECS}(hj%shhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!subah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hu32h]hu32}(hjAshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>subah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hdelay (us), normal Rxh]hdelay (us), normal Rx}(hjXshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUsubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_MAX_FRAMES``h]h)}(hjzsh]h ETHTOOL_A_COALESCE_RX_MAX_FRAMES}(hj|shhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxsubah}(h]h ]h"]h$]h&]uh1hhhhMhjusubah}(h]h ]h"]h$]h&]uh1jhjrsubj)}(hhh]h)}(hu32h]hu32}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjrsubj)}(hhh]h)}(hmax packets, normal Rxh]hmax packets, normal Rx}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjrsubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_IRQ``h]h)}(hjsh]hETHTOOL_A_COALESCE_RX_USECS_IRQ}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hu32h]hu32}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hdelay (us), Rx in IRQh]hdelay (us), Rx in IRQ}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ``h]h)}(hj(th]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ}(hj*thhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&tubah}(h]h ]h"]h$]h&]uh1hhhhMhj#tubah}(h]h ]h"]h$]h&]uh1jhj tubj)}(hhh]h)}(hu32h]hu32}(hjFthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCtubah}(h]h ]h"]h$]h&]uh1jhj tubj)}(hhh]h)}(hmax packets, Rx in IRQh]hmax packets, Rx in IRQ}(hj]thhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZtubah}(h]h ]h"]h$]h&]uh1jhj tubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_TX_USECS``h]h)}(hjth]hETHTOOL_A_COALESCE_TX_USECS}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}tubah}(h]h ]h"]h$]h&]uh1hhhhMhjztubah}(h]h ]h"]h$]h&]uh1jhjwtubj)}(hhh]h)}(hu32h]hu32}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjwtubj)}(hhh]h)}(hdelay (us), normal Txh]hdelay (us), normal Tx}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjwtubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_MAX_FRAMES``h]h)}(hjth]h ETHTOOL_A_COALESCE_TX_MAX_FRAMES}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hu32h]hu32}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hmax packets, normal Txh]hmax packets, normal Tx}(hj uhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_IRQ``h]h)}(hj-uh]hETHTOOL_A_COALESCE_TX_USECS_IRQ}(hj/uhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+uubah}(h]h ]h"]h$]h&]uh1hhhhMhj(uubah}(h]h ]h"]h$]h&]uh1jhj%uubj)}(hhh]h)}(hu32h]hu32}(hjKuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHuubah}(h]h ]h"]h$]h&]uh1jhj%uubj)}(hhh]h)}(hdelay (us), Tx in IRQh]hdelay (us), Tx in IRQ}(hjbuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_uubah}(h]h ]h"]h$]h&]uh1jhj%uubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ``h]h)}(hjuh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhj|uubj)}(hhh]h)}(hu32h]hu32}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhj|uubj)}(hhh]h)}(hIRQ packets, Tx in IRQh]hIRQ packets, Tx in IRQ}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhj|uubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS``h]h)}(hjuh]h$ETHTOOL_A_COALESCE_STATS_BLOCK_USECS}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hu32h]hu32}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hdelay of stats updateh]hdelay of stats update}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj vubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX``h]h)}(hj2vh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX}(hj4vhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0vubah}(h]h ]h"]h$]h&]uh1hhhhMhj-vubah}(h]h ]h"]h$]h&]uh1jhj*vubj)}(hhh]h)}(hboolh]hbool}(hjPvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMvubah}(h]h ]h"]h$]h&]uh1jhj*vubj)}(hhh]h)}(hadaptive Rx coalesceh]hadaptive Rx coalesce}(hjgvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdvubah}(h]h ]h"]h$]h&]uh1jhj*vubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX``h]h)}(hjvh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhM hjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hboolh]hbool}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hadaptive Tx coalesceh]hadaptive Tx coalesce}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjvubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_PKT_RATE_LOW``h]h)}(hjvh]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhM!hjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hthreshold for low rateh]hthreshold for low rate}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjwubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_LOW``h]h)}(hj7wh]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hj9whhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5wubah}(h]h ]h"]h$]h&]uh1hhhhM"hj2wubah}(h]h ]h"]h$]h&]uh1jhj/wubj)}(hhh]h)}(hu32h]hu32}(hjUwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjRwubah}(h]h ]h"]h$]h&]uh1jhj/wubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hjlwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjiwubah}(h]h ]h"]h$]h&]uh1jhj/wubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW``h]h)}(hjwh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhM#hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hu32h]hu32}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hmax packets, low Rxh]hmax packets, low Rx}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjwubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_LOW``h]h)}(hjwh]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhM$hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hu32h]hu32}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjxubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hdelay (us), low Txh]hdelay (us), low Tx}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjxubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW``h]h)}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:xubah}(h]h ]h"]h$]h&]uh1hhhhM%hj7xubah}(h]h ]h"]h$]h&]uh1jhj4xubj)}(hhh]h)}(hu32h]hu32}(hjZxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjWxubah}(h]h ]h"]h$]h&]uh1jhj4xubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hjqxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjnxubah}(h]h ]h"]h$]h&]uh1jhj4xubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hjxh]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhM&hjxubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hu32h]hu32}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjxubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hthreshold for high rateh]hthreshold for high rate}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjxubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_USECS_HIGH``h]h)}(hjxh]h ETHTOOL_A_COALESCE_RX_USECS_HIGH}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhM'hjxubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hu32h]hu32}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjyubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjyubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH``h]h)}(hjAyh]h%ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH}(hjCyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?yubah}(h]h ]h"]h$]h&]uh1hhhhM(hjzubj)}(hhh]h)}(hu32h]hu32}(hjdzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjazubah}(h]h ]h"]h$]h&]uh1jhj>zubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hj{zhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjxzubah}(h]h ]h"]h$]h&]uh1jhj>zubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hjzh]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1hhhhM,hjzubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hboolh]hbool}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjzubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjzubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]h)}(hjzh]hETHTOOL_A_COALESCE_USE_CQE_RX}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1hhhhM-hjzubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hboolh]hbool}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj{ubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(htimer reset mode, Rxh]htimer reset mode, Rx}(hj){hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj&{ubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h)}(hjK{h]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hjM{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjI{ubah}(h]h ]h"]h$]h&]uh1hhhhM.hjF{ubah}(h]h ]h"]h$]h&]uh1jhjC{ubj)}(hhh]h)}(hu32h]hu32}(hji{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjf{ubah}(h]h ]h"]h$]h&]uh1jhjC{ubj)}(hhh]h)}(hmax aggr size, Txh]hmax aggr size, Tx}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hj}{ubah}(h]h ]h"]h$]h&]uh1jhjC{ubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h)}(hj{h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]uh1hhhhM/hj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hu32h]hu32}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hmax aggr packets, Txh]hmax aggr packets, Tx}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h)}(hj{h]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]uh1hhhhM0hj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hu32h]hu32}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hj|ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(htime (us), aggr, Txh]htime (us), aggr, Tx}(hj.|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hj+|ubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]h)}(hjP|h]hETHTOOL_A_COALESCE_RX_PROFILE}(hjR|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjN|ubah}(h]h ]h"]h$]h&]uh1hhhhM1hjK|ubah}(h]h ]h"]h$]h&]uh1jhjH|ubj)}(hhh]h)}(hnestedh]hnested}(hjn|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjk|ubah}(h]h ]h"]h$]h&]uh1jhjH|ubj)}(hhh]h)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj|ubah}(h]h ]h"]h$]h&]uh1jhjH|ubeh}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]h)}(hj|h]hETHTOOL_A_COALESCE_TX_PROFILE}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubah}(h]h ]h"]h$]h&]uh1hhhhM2hj|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hnestedh]hnested}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hj|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hj|ubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]colsKuh1jhjrubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1jhhhMhjqhhubh)}(hAttributes are only included in reply if their value is not zero or the corresponding bit in ``ethtool_ops::supported_coalesce_params`` is set (i.e. they are declared as supported by driver).h](h]Attributes are only included in reply if their value is not zero or the corresponding bit in }(hj}hhhNhNubh)}(h*``ethtool_ops::supported_coalesce_params``h]hðtool_ops::supported_coalesce_params}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubh8 is set (i.e. they are declared as supported by driver).}(hj}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM5hjqhhubh)}(hXTimer reset mode (``ETHTOOL_A_COALESCE_USE_CQE_TX`` and ``ETHTOOL_A_COALESCE_USE_CQE_RX``) controls the interaction between packet arrival and the various time based delay parameters. By default timers are expected to limit the max delay between any packet arrival/departure and a corresponding interrupt. In this mode timer should be started by packet arrival (sometimes delivery of previous interrupt) and reset when interrupt is delivered. Setting the appropriate attribute to 1 will enable ``CQE`` mode, where each packet event resets the timer. In this mode timer is used to force the interrupt if queue goes idle, while busy queues depend on the packet limit to trigger interrupts.h](hTimer reset mode (}(hj/}hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]hETHTOOL_A_COALESCE_USE_CQE_TX}(hj7}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/}ubh and }(hj/}hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]hETHTOOL_A_COALESCE_USE_CQE_RX}(hjI}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/}ubhX) controls the interaction between packet arrival and the various time based delay parameters. By default timers are expected to limit the max delay between any packet arrival/departure and a corresponding interrupt. In this mode timer should be started by packet arrival (sometimes delivery of previous interrupt) and reset when interrupt is delivered. Setting the appropriate attribute to 1 will enable }(hj/}hhhNhNubh)}(h``CQE``h]hCQE}(hj[}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/}ubh mode, where each packet event resets the timer. In this mode timer is used to force the interrupt if queue goes idle, while busy queues depend on the packet limit to trigger interrupts.}(hj/}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM9hjqhhubh)}(hXTx aggregation consists of copying frames into a contiguous buffer so that they can be submitted as a single IO operation. ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES`` describes the maximum size in bytes for the submitted buffer. ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES`` describes the maximum number of frames that can be aggregated into a single buffer. ``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS`` describes the amount of time in usecs, counted since the first packet arrival in an aggregated block, after which the block should be sent. This feature is mainly of interest for specific USB devices which does not cope well with frequent small-sized URBs transmissions.h](h{Tx aggregation consists of copying frames into a contiguous buffer so that they can be submitted as a single IO operation. }(hjs}hhhNhNubh)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hj{}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs}ubh? describes the maximum size in bytes for the submitted buffer. }(hjs}hhhNhNubh)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs}ubhU describes the maximum number of frames that can be aggregated into a single buffer. }(hjs}hhhNhNubh)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs}ubhX describes the amount of time in usecs, counted since the first packet arrival in an aggregated block, after which the block should be sent. This feature is mainly of interest for specific USB devices which does not cope well with frequent small-sized URBs transmissions.}(hjs}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMEhjqhhubh)}(h``ETHTOOL_A_COALESCE_RX_PROFILE`` and ``ETHTOOL_A_COALESCE_TX_PROFILE`` refer to DIM parameters, see `Generic Network Dynamic Interrupt Moderation (Net DIM) `_.h](h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]hETHTOOL_A_COALESCE_RX_PROFILE}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubh and }(hj}hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]hETHTOOL_A_COALESCE_TX_PROFILE}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubh refer to DIM parameters, see }(hj}hhhNhNubh reference)}(h{`Generic Network Dynamic Interrupt Moderation (Net DIM) `_h]h6Generic Network Dynamic Interrupt Moderation (Net DIM)}(hj}hhhNhNubah}(h]h ]h"]h$]h&]name6Generic Network Dynamic Interrupt Moderation (Net DIM)refuri?https://www.kernel.org/doc/Documentation/networking/net_dim.rstuh1j}hj}ubhtarget)}(hB h]h}(h]4generic-network-dynamic-interrupt-moderation-net-dimah ]h"]6generic network dynamic interrupt moderation (net dim)ah$]h&]refurij}uh1j} referencedKhj}ubh.}(hj}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMPhjqhhubeh}(h] coalesce-getah ]h"] coalesce_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h COALESCE_SETh]h COALESCE_SET}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hhhhhMUubh)}(hDSets coalescing parameters like ``ETHTOOL_SCOALESCE`` ioctl request.h](h Sets coalescing parameters like }(hj&~hhhNhNubh)}(h``ETHTOOL_SCOALESCE``h]hETHTOOL_SCOALESCE}(hj.~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&~ubh ioctl request.}(hj&~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMWhj~hhubh)}(hRequest contents:h]hRequest contents:}(hjF~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj~hhubj)}(hXD =========================================== ====== ======================= ``ETHTOOL_A_COALESCE_HEADER`` nested request header ``ETHTOOL_A_COALESCE_RX_USECS`` u32 delay (us), normal Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES`` u32 max packets, normal Rx ``ETHTOOL_A_COALESCE_RX_USECS_IRQ`` u32 delay (us), Rx in IRQ ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ`` u32 max packets, Rx in IRQ ``ETHTOOL_A_COALESCE_TX_USECS`` u32 delay (us), normal Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES`` u32 max packets, normal Tx ``ETHTOOL_A_COALESCE_TX_USECS_IRQ`` u32 delay (us), Tx in IRQ ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ`` u32 IRQ packets, Tx in IRQ ``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS`` u32 delay of stats update ``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX`` bool adaptive Rx coalesce ``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX`` bool adaptive Tx coalesce ``ETHTOOL_A_COALESCE_PKT_RATE_LOW`` u32 threshold for low rate ``ETHTOOL_A_COALESCE_RX_USECS_LOW`` u32 delay (us), low Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW`` u32 max packets, low Rx ``ETHTOOL_A_COALESCE_TX_USECS_LOW`` u32 delay (us), low Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW`` u32 max packets, low Tx ``ETHTOOL_A_COALESCE_PKT_RATE_HIGH`` u32 threshold for high rate ``ETHTOOL_A_COALESCE_RX_USECS_HIGH`` u32 delay (us), high Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH`` u32 max packets, high Rx ``ETHTOOL_A_COALESCE_TX_USECS_HIGH`` u32 delay (us), high Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH`` u32 max packets, high Tx ``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL`` u32 rate sampling interval ``ETHTOOL_A_COALESCE_USE_CQE_TX`` bool timer reset mode, Tx ``ETHTOOL_A_COALESCE_USE_CQE_RX`` bool timer reset mode, Rx ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES`` u32 max aggr size, Tx ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES`` u32 max aggr packets, Tx ``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS`` u32 time (us), aggr, Tx ``ETHTOOL_A_COALESCE_RX_PROFILE`` nested profile of DIM, Rx ``ETHTOOL_A_COALESCE_TX_PROFILE`` nested profile of DIM, Tx =========================================== ====== ======================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK+uh1jhj[~ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj[~ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj[~ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_HEADER``h]h)}(hj~h]hETHTOOL_A_COALESCE_HEADER}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhM\hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hnestedh]hnested}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_RX_USECS``h]h)}(hj~h]hETHTOOL_A_COALESCE_RX_USECS}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhM]hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hdelay (us), normal Rxh]hdelay (us), normal Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_MAX_FRAMES``h]h)}(hj5h]h ETHTOOL_A_COALESCE_RX_MAX_FRAMES}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhM^hj0ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hu32h]hu32}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjPubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hmax packets, normal Rxh]hmax packets, normal Rx}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjgubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_IRQ``h]h)}(hjh]hETHTOOL_A_COALESCE_RX_USECS_IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), Rx in IRQh]hdelay (us), Rx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ``h]h)}(hjh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, Rx in IRQh]hmax packets, Rx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_TX_USECS``h]h)}(hj:h]hETHTOOL_A_COALESCE_TX_USECS}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMahj5ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hu32h]hu32}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjUubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hdelay (us), normal Txh]hdelay (us), normal Tx}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjlubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_MAX_FRAMES``h]h)}(hjh]h ETHTOOL_A_COALESCE_TX_MAX_FRAMES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, normal Txh]hmax packets, normal Tx}(hjƀhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjÀubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_IRQ``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_USECS_IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), Tx in IRQh]hdelay (us), Tx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ``h]h)}(hj?h]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhMdhj:ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hu32h]hu32}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjZubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hIRQ packets, Tx in IRQh]hIRQ packets, Tx in IRQ}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjqubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS``h]h)}(hjh]h$ETHTOOL_A_COALESCE_STATS_BLOCK_USECS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay of stats updateh]hdelay of stats update}(hjˁhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehjȁubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX``h]h)}(hjh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hadaptive Rx coalesceh]hadaptive Rx coalesce}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX``h]h)}(hjDh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhMghj?ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hboolh]hbool}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj_ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hadaptive Tx coalesceh]hadaptive Tx coalesce}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjvubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_PKT_RATE_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hthreshold for low rateh]hthreshold for low rate}(hjЂhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj͂ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW``h]h)}(hjIh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMjhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hu32h]hu32}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hmax packets, low Rxh]hmax packets, low Rx}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj{ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), low Txh]hdelay (us), low Tx}(hjՃhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj҃ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW``h]h)}(hjh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hjNh]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMmhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hu32h]hu32}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjiubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hthreshold for high rateh]hthreshold for high rate}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_USECS_HIGH``h]h)}(hjh]h ETHTOOL_A_COALESCE_RX_USECS_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjÄhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hjڄhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjׄubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH``h]h)}(hjh]h%ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, high Rxh]hmax packets, high Rx}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_USECS_HIGH``h]h)}(hjSh]h ETHTOOL_A_COALESCE_TX_USECS_HIGH}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMphjNubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hu32h]hu32}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjnubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hdelay (us), high Txh]hdelay (us), high Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH``h]h)}(hjh]h%ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjȅhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjŅubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, high Txh]hmax packets, high Tx}(hj߅hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj܅ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h+``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL``h]h)}(hjh]h'ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hjXh]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMshjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hboolh]hbool}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjsubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]h)}(hjh]hETHTOOL_A_COALESCE_USE_CQE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj͆hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjʆubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htimer reset mode, Rxh]htimer reset mode, Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h)}(hjh]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax aggr size, Txh]hmax aggr size, Tx}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h)}(hj]h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1hhhhMvhjXubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hu32h]hu32}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjxubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hmax aggr packets, Txh]hmax aggr packets, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h)}(hjh]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj҇hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjχubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htime (us), aggr, Txh]htime (us), aggr, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]h)}(hj h]hETHTOOL_A_COALESCE_RX_PROFILE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj=ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj|~ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]h)}(hjbh]hETHTOOL_A_COALESCE_TX_PROFILE}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMyhj]ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj}ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhj|~ubeh}(h]h ]h"]h$]h&]uh1jhj[~ubeh}(h]h ]h"]h$]h&]colsKuh1jhjX~ubah}(h]h ]h"]h$]h&]uh1jhjT~ubah}(h]h ]h"]h$]h&]uh1jhhhM[hj~hhubh)}(hXRequest is rejected if it attributes declared as unsupported by driver (i.e. such that the corresponding bit in ``ethtool_ops::supported_coalesce_params`` is not set), regardless of their values. Driver may impose additional constraints on coalescing parameters and their values.h](hpRequest is rejected if it attributes declared as unsupported by driver (i.e. such that the corresponding bit in }(hjʈhhhNhNubh)}(h*``ethtool_ops::supported_coalesce_params``h]hðtool_ops::supported_coalesce_params}(hj҈hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjʈubh} is not set), regardless of their values. Driver may impose additional constraints on coalescing parameters and their values.}(hjʈhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM|hj~hhubh)}(hCompared to requests issued via the ``ioctl()`` netlink version of this request will try harder to make sure that values specified by the user have been applied and may call the driver twice.h](h$Compared to requests issued via the }(hjhhhNhNubh)}(h ``ioctl()``h]hioctl()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh netlink version of this request will try harder to make sure that values specified by the user have been applied and may call the driver twice.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj~hhubeh}(h] coalesce-setah ]h"] coalesce_setah$]h&]uh1hhhhhhhhMUubh)}(hhh](h)}(h PAUSE_GETh]h PAUSE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hEGets pause frame settings like ``ETHTOOL_GPAUSEPARAM`` ioctl request.h](hGets pause frame settings like }(hj#hhhNhNubh)}(h``ETHTOOL_GPAUSEPARAM``h]hETHTOOL_GPAUSEPARAM}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubh ioctl request.}(hj#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_STATS_SRC`` u32 source of statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjXubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_HEADER``h]h)}(hjh]hETHTOOL_A_PAUSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]h)}(hjۉh]hETHTOOL_A_PAUSE_STATS_SRC}(hj݉hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjىubah}(h]h ]h"]h$]h&]uh1hhhhMhj։ubah}(h]h ]h"]h$]h&]uh1jhjӉubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjӉubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjӉubeh}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjUubah}(h]h ]h"]h$]h&]uh1jhjQubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h@``ETHTOOL_A_PAUSE_STATS_SRC`` is optional. It takes values from:h](h)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]hETHTOOL_A_PAUSE_STATS_SRC}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubh# is optional. It takes values from:}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleethtool_mac_stats_src (C enum)c.ethtool_mac_stats_srchNtauh1j_hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hethtool_mac_stats_srch]hdesc_signature_line)}(henum ethtool_mac_stats_srch](hdesc_sig_keyword)}(henumh]henum}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhj}hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhj}hhhjhKubh desc_name)}(hethtool_mac_stats_srch]h desc_sig_name)}(hjyh]hethtool_mac_stats_src}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&] xml:spacepreserveuh1jhj}hhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊ add_permalinkuh1j{sphinx_line_type declaratorhjwhhhjhKubah}(h]jnah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1juhjhKhjrhhubh desc_content)}(hhh]h)}(h source of ethtool MAC statisticsh]h source of ethtool MAC statistics}(hj݊hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjڊhhubah}(h]h ]h"]h$]h&]uh1j؊hjrhhhjhKubeh}(h]h ](cenumeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1jphhhjhNhNubh container)}(hX**Constants** ``ETHTOOL_MAC_STATS_SRC_AGGREGATE`` if device supports a MAC merge layer, this retrieves the aggregate statistics of the eMAC and pMAC. Otherwise, it retrieves just the statistics of the single (express) MAC. ``ETHTOOL_MAC_STATS_SRC_EMAC`` if device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC. ``ETHTOOL_MAC_STATS_SRC_PMAC`` if device supports a MM layer, this retrieves the pMAC statistics.h](h)}(h **Constants**h]hstrong)}(hjh]h Constants}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjubhdefinition_list)}(hhh](hdefinition_list_item)}(h``ETHTOOL_MAC_STATS_SRC_AGGREGATE`` if device supports a MAC merge layer, this retrieves the aggregate statistics of the eMAC and pMAC. Otherwise, it retrieves just the statistics of the single (express) MAC. h](hterm)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]h)}(hj/h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhj'ubh definition)}(hhh]h)}(hif device supports a MAC merge layer, this retrieves the aggregate statistics of the eMAC and pMAC. Otherwise, it retrieves just the statistics of the single (express) MAC.h]hif device supports a MAC merge layer, this retrieves the aggregate statistics of the eMAC and pMAC. Otherwise, it retrieves just the statistics of the single (express) MAC.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjGubah}(h]h ]h"]h$]h&]uh1jEhj'ubeh}(h]h ]h"]h$]h&]uh1j%hjDhMhj"ubj&)}(h``ETHTOOL_MAC_STATS_SRC_EMAC`` if device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC. h](j,)}(h``ETHTOOL_MAC_STATS_SRC_EMAC``h]h)}(hjkh]hETHTOOL_MAC_STATS_SRC_EMAC}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjeubjF)}(hhh]h)}(hif device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC.h]hif device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjeubeh}(h]h ]h"]h$]h&]uh1j%hjhMhj"ubj&)}(ha``ETHTOOL_MAC_STATS_SRC_PMAC`` if device supports a MM layer, this retrieves the pMAC statistics.h](j,)}(h``ETHTOOL_MAC_STATS_SRC_PMAC``h]h)}(hjh]hETHTOOL_MAC_STATS_SRC_PMAC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hBif device supports a MM layer, this retrieves the pMAC statistics.h]hBif device supports a MM layer, this retrieves the pMAC statistics.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1172: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhj"ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hIf absent from the request, stats will be provided with an ``ETHTOOL_A_PAUSE_STATS_SRC`` attribute in the response equal to ``ETHTOOL_MAC_STATS_SRC_AGGREGATE``.h](h;If absent from the request, stats will be provided with an }(hjhhhNhNubh)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]hETHTOOL_A_PAUSE_STATS_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh$ attribute in the response equal to }(hjhhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_AUTONEG`` bool pause autonegotiation ``ETHTOOL_A_PAUSE_RX`` bool receive pause frames ``ETHTOOL_A_PAUSE_TX`` bool transmit pause frames ``ETHTOOL_A_PAUSE_STATS`` nested pause statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj-ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_HEADER``h]h)}(hjYh]hETHTOOL_A_PAUSE_HEADER}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hnestedh]hnested}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_AUTONEG``h]h)}(hjh]hETHTOOL_A_PAUSE_AUTONEG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjΌhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjˌubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_RX``h]h)}(hjh]hETHTOOL_A_PAUSE_RX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_TX``h]h)}(hj^h]hETHTOOL_A_PAUSE_TX}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhhhMhjYubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hboolh]hbool}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(htransmit pause framesh]htransmit pause frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_STATS``h]h)}(hjh]hETHTOOL_A_PAUSE_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjӍhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjЍubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpause statisticsh]hpause statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]colsKuh1jhj*ubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h``ETHTOOL_A_PAUSE_STATS`` are reported if ``ETHTOOL_FLAG_STATS`` was set in ``ETHTOOL_A_HEADER_FLAGS``. It will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:h](h)}(h``ETHTOOL_A_PAUSE_STATS``h]hETHTOOL_A_PAUSE_STATS}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh are reported if }(hjhhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh was set in }(hjhhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhv. It will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jlethtool_pause_stats (C struct)c.ethtool_pause_statshNtauh1j_hjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhNubjq)}(hhh](jv)}(hethtool_pause_statsh]j|)}(hstruct ethtool_pause_statsh](j)}(hstructh]hstruct}(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjshhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjshhhjhKubj)}(hethtool_pause_statsh]j)}(hjqh]hethtool_pause_stats}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjshhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjohhhjhKubah}(h]jiah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjlhhubjي)}(hhh]h)}(h'statistics for IEEE 802.3x pause framesh]h'statistics for IEEE 802.3x pause frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjlhhhjhKubeh}(h]h ](jstructeh"]h$]h&]jjjjҎjjҎjjjuh1jphhhjhjkhNubj)}(hX'**Definition**:: struct ethtool_pause_stats { enum ethtool_mac_stats_src src; u64 tx_pause_frames; u64 rx_pause_frames; }; **Members** ``src`` input field denoting whether stats should be queried from the eMAC or pMAC (if the MM layer is supported). To be ignored otherwise. ``tx_pause_frames`` transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``. ``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to:h](h)}(h**Definition**::h](j )}(h**Definition**h]h Definition}(hjގhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjڎubh:}(hjڎhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhj֎ubh literal_block)}(hustruct ethtool_pause_stats { enum ethtool_mac_stats_src src; u64 tx_pause_frames; u64 rx_pause_frames; };h]hustruct ethtool_pause_stats { enum ethtool_mac_stats_src src; u64 tx_pause_frames; u64 rx_pause_frames; };}hjsbah}(h]h ]h"]h$]h&]jŠjÊuh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhj֎ubh)}(h **Members**h]j )}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhj֎ubj!)}(hhh](j&)}(h``src`` input field denoting whether stats should be queried from the eMAC or pMAC (if the MM layer is supported). To be ignored otherwise. h](j,)}(h``src``h]h)}(hj)h]hsrc}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhj#ubjF)}(hhh]h)}(hinput field denoting whether stats should be queried from the eMAC or pMAC (if the MM layer is supported). To be ignored otherwise.h]hinput field denoting whether stats should be queried from the eMAC or pMAC (if the MM layer is supported). To be ignored otherwise.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhj?ubah}(h]h ]h"]h$]h&]uh1jEhj#ubeh}(h]h ]h"]h$]h&]uh1j%hj>hMhj ubj&)}(hq``tx_pause_frames`` transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``. h](j,)}(h``tx_pause_frames``h]h)}(hjch]htx_pause_frames}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhj]ubjF)}(hhh]h)}(h\transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``.h](h9transmitted pause frame count. Reported to user space as }(hj|hhhNhNubh)}(h"``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``h]hETHTOOL_A_PAUSE_STAT_TX_FRAMES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubh.}(hj|hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhjyubah}(h]h ]h"]h$]h&]uh1jEhj]ubeh}(h]h ]h"]h$]h&]uh1j%hjxhMhj ubj&)}(h|``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to:h](j,)}(h``rx_pause_frames``h]h)}(hjh]hrx_pause_frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hhreceived pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to:h](h6received pause frame count. Reported to user space as }(hjȏhhhNhNubh)}(h"``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``h]hETHTOOL_A_PAUSE_STAT_RX_FRAMES}(hjЏhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjȏubh. Equivalent to:}(hjȏhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjďhMhjŏubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjďhMhj ubeh}(h]h ]h"]h$]h&]uh1j hj֎ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjkhNubh)}(h**Description**h]j )}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhjhhubj)}(hEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard. Equivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard. h](h)}(hJEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard.h](hEquivalent to }(hjhhhNhNubhtitle_reference)}(h)`30.3.4.2 aPAUSEMACCtrlFramesTransmitted`h]h'30.3.4.2 aPAUSEMACCtrlFramesTransmitted}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhjubh)}(hGEquivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard.h](hEquivalent to }(hj@hhhNhNubj&)}(h&`30.3.4.3 aPAUSEMACCtrlFramesReceived`h]h$30.3.4.3 aPAUSEMACCtrlFramesReceived}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hj@ubh from the standard.}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1194: ./include/linux/ethtool.hhMhjubeh}(h]h ]h"]h$]h&]uh1jhj?hMhjhhubh)}(h2Each member has a corresponding attribute defined.h]h2Each member has a corresponding attribute defined.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h] pause-getah ]h"] pause_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PAUSE_SETh]h PAUSE_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hhhhhMubh)}(hASets pause parameters like ``ETHTOOL_GPAUSEPARAM`` ioctl request.h](hSets pause parameters like }(hjhhhNhNubh)}(h``ETHTOOL_GPAUSEPARAM``h]hETHTOOL_GPAUSEPARAM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj}hhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}hhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_AUTONEG`` bool pause autonegotiation ``ETHTOOL_A_PAUSE_RX`` bool receive pause frames ``ETHTOOL_A_PAUSE_TX`` bool transmit pause frames ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjÐubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjÐubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjÐubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_HEADER``h]h)}(hjh]hETHTOOL_A_PAUSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_AUTONEG``h]h)}(hjFh]hETHTOOL_A_PAUSE_AUTONEG}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hboolh]hbool}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_RX``h]h)}(hjh]hETHTOOL_A_PAUSE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(hjґhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjϑubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_TX``h]h)}(hjh]hETHTOOL_A_PAUSE_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htransmit pause framesh]htransmit pause frames}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjÐubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj}hhubeh}(h] pause-setah ]h"] pause_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_GETh]hEEE_GET}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdhhhhhMubh)}(hLGets Energy Efficient Ethernet settings like ``ETHTOOL_GEEE`` ioctl request.h](h-Gets Energy Efficient Ethernet settings like }(hjuhhhNhNubh)}(h``ETHTOOL_GEEE``h]h ETHTOOL_GEEE}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubh ioctl request.}(hjuhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjdhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_EEE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_HEADER``h]h)}(hj֒h]hETHTOOL_A_EEE_HEADER}(hjؒhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjԒubah}(h]h ]h"]h$]h&]uh1hhhhMhjђubah}(h]h ]h"]h$]h&]uh1jhjΒubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjΒubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjΒubeh}(h]h ]h"]h$]h&]uh1jhj˒ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjdhhubh)}(hKernel response contents:h]hKernel response contents:}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdhhubj)}(hXl===================================== ====== ========================== ``ETHTOOL_A_EEE_HEADER`` nested request header ``ETHTOOL_A_EEE_MODES_OURS`` bool supported/advertised modes ``ETHTOOL_A_EEE_MODES_PEER`` bool peer advertised link modes ``ETHTOOL_A_EEE_ACTIVE`` bool EEE is actively used ``ETHTOOL_A_EEE_ENABLED`` bool EEE is enabled ``ETHTOOL_A_EEE_TX_LPI_ENABLED`` bool Tx lpi enabled ``ETHTOOL_A_EEE_TX_LPI_TIMER`` u32 Tx lpi timeout (in us) ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjSubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_HEADER``h]h)}(hjh]hETHTOOL_A_EEE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_OURS``h]h)}(hj֓h]hETHTOOL_A_EEE_MODES_OURS}(hjؓhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjԓubah}(h]h ]h"]h$]h&]uh1hhhhMhjѓubah}(h]h ]h"]h$]h&]uh1jhjΓubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjΓubj)}(hhh]h)}(hsupported/advertised modesh]hsupported/advertised modes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjΓubeh}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_PEER``h]h)}(hj-h]hETHTOOL_A_EEE_MODES_PEER}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hboolh]hbool}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hpeer advertised link modesh]hpeer advertised link modes}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ACTIVE``h]h)}(hjh]hETHTOOL_A_EEE_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hEEE is actively usedh]hEEE is actively used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ENABLED``h]h)}(hj۔h]hETHTOOL_A_EEE_ENABLED}(hjݔhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjٔubah}(h]h ]h"]h$]h&]uh1hhhhMhj֔ubah}(h]h ]h"]h$]h&]uh1jhjӔubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjӔubj)}(hhh]h)}(hEEE is enabledh]hEEE is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjӔubeh}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_EEE_TX_LPI_ENABLED``h]h)}(hj2h]hETHTOOL_A_EEE_TX_LPI_ENABLED}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hboolh]hbool}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hTx lpi enabledh]hTx lpi enabled}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_TX_LPI_TIMER``h]h)}(hjh]hETHTOOL_A_EEE_TX_LPI_TIMER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]colsKuh1jhjPubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jhhhMhjdhhubh)}(hXkIn ``ETHTOOL_A_EEE_MODES_OURS``, mask consists of link modes for which EEE is enabled, value of link modes for which EEE is advertised. Link modes for which peer advertises EEE are listed in ``ETHTOOL_A_EEE_MODES_PEER`` (no mask). The netlink interface allows reporting EEE status for all link modes but only first 32 are provided by the ``ethtool_ops`` callback.h](hIn }(hjhhhNhNubh)}(h``ETHTOOL_A_EEE_MODES_OURS``h]hETHTOOL_A_EEE_MODES_OURS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, mask consists of link modes for which EEE is enabled, value of link modes for which EEE is advertised. Link modes for which peer advertises EEE are listed in }(hjhhhNhNubh)}(h``ETHTOOL_A_EEE_MODES_PEER``h]hETHTOOL_A_EEE_MODES_PEER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhw (no mask). The netlink interface allows reporting EEE status for all link modes but only first 32 are provided by the }(hjhhhNhNubh)}(h``ethtool_ops``h]h ethtool_ops}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh callback.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjdhhubeh}(h]eee-getah ]h"]eee_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_SETh]hEEE_SET}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=hhhhhMubh)}(hNSets Energy Efficient Ethernet parameters like ``ETHTOOL_SEEE`` ioctl request.h](h/Sets Energy Efficient Ethernet parameters like }(hjNhhhNhNubh)}(h``ETHTOOL_SEEE``h]h ETHTOOL_SEEE}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh ioctl request.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj=hhubh)}(hRequest contents:h]hRequest contents:}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=hhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_EEE_HEADER`` nested request header ``ETHTOOL_A_EEE_MODES_OURS`` bool advertised modes ``ETHTOOL_A_EEE_ENABLED`` bool EEE is enabled ``ETHTOOL_A_EEE_TX_LPI_ENABLED`` bool Tx lpi enabled ``ETHTOOL_A_EEE_TX_LPI_TIMER`` u32 Tx lpi timeout (in us) ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_HEADER``h]h)}(hjh]hETHTOOL_A_EEE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj͖hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjʖubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_OURS``h]h)}(hjh]hETHTOOL_A_EEE_MODES_OURS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hadvertised modesh]hadvertised modes}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ENABLED``h]h)}(hj]h]hETHTOOL_A_EEE_ENABLED}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1hhhhMhjXubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hboolh]hbool}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hEEE is enabledh]hEEE is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_EEE_TX_LPI_ENABLED``h]h)}(hjh]hETHTOOL_A_EEE_TX_LPI_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjҗhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjϗubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTx lpi enabledh]hTx lpi enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_TX_LPI_TIMER``h]h)}(hj h]hETHTOOL_A_EEE_TX_LPI_TIMER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhhhMhj=hhubh)}(hXE``ETHTOOL_A_EEE_MODES_OURS`` is used to either list link modes to advertise EEE for (if there is no mask) or specify changes to the list (if there is a mask). The netlink interface allows reporting EEE status for all link modes but only first 32 can be set at the moment as that is what the ``ethtool_ops`` callback supports.h](h)}(h``ETHTOOL_A_EEE_MODES_OURS``h]hETHTOOL_A_EEE_MODES_OURS}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubhX is used to either list link modes to advertise EEE for (if there is no mask) or specify changes to the list (if there is a mask). The netlink interface allows reporting EEE status for all link modes but only first 32 can be set at the moment as that is what the }(hjshhhNhNubh)}(h``ethtool_ops``h]h ethtool_ops}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubh callback supports.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj=hhubeh}(h]eee-setah ]h"]eee_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h TSINFO_GETh]h TSINFO_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hIGets timestamping information like ``ETHTOOL_GET_TS_INFO`` ioctl request.h](h#Gets timestamping information like }(hjhhhNhNubh)}(h``ETHTOOL_GET_TS_INFO``h]hETHTOOL_GET_TS_INFO}(hj˜hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjژhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX'======================================== ====== ============================ ``ETHTOOL_A_TSINFO_HEADER`` nested request header ``ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER`` nested PTP hw clock provider ======================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_HEADER``h]h)}(hjh]hETHTOOL_A_TSINFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER``h]h)}(hjrh]h"ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjڙhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX)===================================== ====== ========================== ``ETHTOOL_A_TSINFO_HEADER`` nested request header ``ETHTOOL_A_TSINFO_TIMESTAMPING`` bitset SO_TIMESTAMPING flags ``ETHTOOL_A_TSINFO_TX_TYPES`` bitset supported Tx types ``ETHTOOL_A_TSINFO_RX_FILTERS`` bitset supported Rx filters ``ETHTOOL_A_TSINFO_PHC_INDEX`` u32 PTP hw clock index ``ETHTOOL_A_TSINFO_STATS`` nested HW timestamping statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_HEADER``h]h)}(hjh]hETHTOOL_A_TSINFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSINFO_TIMESTAMPING``h]h)}(hjrh]hETHTOOL_A_TSINFO_TIMESTAMPING}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hSO_TIMESTAMPING flagsh]hSO_TIMESTAMPING flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_TX_TYPES``h]h)}(hjɚh]hETHTOOL_A_TSINFO_TX_TYPES}(hj˚hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjǚubah}(h]h ]h"]h$]h&]uh1hhhhMhjĚubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsupported Tx typesh]hsupported Tx types}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_RX_FILTERS``h]h)}(hj h]hETHTOOL_A_TSINFO_RX_FILTERS}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsupported Rx filtersh]hsupported Rx filters}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_PHC_INDEX``h]h)}(hjwh]hETHTOOL_A_TSINFO_PHC_INDEX}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hPTP hw clock indexh]hPTP hw clock index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_STATS``h]h)}(hjΛh]hETHTOOL_A_TSINFO_STATS}(hjЛhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj̛ubah}(h]h ]h"]h$]h&]uh1hhhhMhjɛubah}(h]h ]h"]h$]h&]uh1jhjƛubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjƛubj)}(hhh]h)}(hHW timestamping statisticsh]hHW timestamping statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjƛubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h``ETHTOOL_A_TSINFO_PHC_INDEX`` is absent if there is no associated PHC (there is no special value for this case). The bitset attributes are omitted if they would be empty (no bit set).h](h)}(h``ETHTOOL_A_TSINFO_PHC_INDEX``h]hETHTOOL_A_TSINFO_PHC_INDEX}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubh is absent if there is no associated PHC (there is no special value for this case). The bitset attributes are omitted if they would be empty (no bit set).}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjhhubh)}(h>Additional hardware timestamping statistics response contents:h]h>Additional hardware timestamping statistics response contents:}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(hXe================================================== ====== ===================== ``ETHTOOL_A_TS_STAT_TX_PKTS`` uint Packets with Tx HW timestamps ``ETHTOOL_A_TS_STAT_TX_LOST`` uint Tx HW timestamp not arrived count ``ETHTOOL_A_TS_STAT_TX_ERR`` uint HW error request Tx timestamp count ``ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED`` uint Packets with one-step HW TX timestamps with unconfirmed delivery ================================================== ====== ===================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjgubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjgubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjgubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TS_STAT_TX_PKTS``h]h)}(hjh]hETHTOOL_A_TS_STAT_TX_PKTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPackets with Tx HW timestampsh]hPackets with Tx HW timestamps}(hjȜhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjŜubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TS_STAT_TX_LOST``h]h)}(hjh]hETHTOOL_A_TS_STAT_TX_LOST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!Tx HW timestamp not arrived counth]h!Tx HW timestamp not arrived count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TS_STAT_TX_ERR``h]h)}(hjAh]hETHTOOL_A_TS_STAT_TX_ERR}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(huinth]huint}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h#HW error request Tx timestamp counth]h#HW error request Tx timestamp count}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h1``ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED``h]h)}(hjh]h-ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h@Packets with one-step HW TX timestamps with unconfirmed deliveryh]h@Packets with one-step HW TX timestamps with unconfirmed delivery}(hj͝hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjʝubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]colsKuh1jhjdubah}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h] tsinfo-getah ]h"] tsinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CABLE_TESTh]h CABLE_TEST}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hStart a cable test.h]hStart a cable test.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_CABLE_TEST_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj<ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj<ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj<ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_HEADER``h]h)}(hjhh]hETHTOOL_A_CABLE_TEST_HEADER}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhM#hjcubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]colsKuh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhhhM"hjhhubh)}(hNotification contents:h]hNotification contents:}(hjОhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjhhubh)}(hXAn Ethernet cable typically contains 1, 2 or 4 pairs. The length of the pair can only be measured when there is a fault in the pair and hence a reflection. Information about the fault may not be available, depending on the specific hardware. Hence the contents of the notify message are mostly optional. The attributes can be repeated an arbitrary number of times, in an arbitrary order, for an arbitrary number of pairs.h]hXAn Ethernet cable typically contains 1, 2 or 4 pairs. The length of the pair can only be measured when there is a fault in the pair and hence a reflection. Information about the fault may not be available, depending on the specific hardware. Hence the contents of the notify message are mostly optional. The attributes can be repeated an arbitrary number of times, in an arbitrary order, for an arbitrary number of pairs.}(hjޞhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjhhubh)}(hThe example shows the notification sent when the test is completed for a T2 cable, i.e. two pairs. One pair is OK and hence has no length information. The second pair has a fault and does have length information.h]hThe example shows the notification sent when the test is completed for a T2 cable, i.e. two pairs. One pair is OK and hence has no length information. The second pair has a fault and does have length information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjhhubj)}(hX+---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_CABLE_TEST_HEADER`` | nested | reply header | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_CABLE_TEST_STATUS`` | u8 | completed | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_CABLE_TEST_NTF_NEST`` | nested | all the results | +-+-------------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_CABLE_NEST_RESULT`` | nested | cable test result | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_CODE`` | u8 | result code | +-+-+-----------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_CABLE_NEST_RESULT`` | nested | cable test results | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_CODE`` | u8 | result code | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULT_SRC`` | u32 | information source | +-+-+-----------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_CABLE_NEST_FAULT_LENGTH`` | nested | cable length | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_FAULT_LENGTH_CM`` | u32 | length in cm | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_FAULT_LENGTH_SRC`` | u32 | information source | +-+-+-----------------------------------------+--------+---------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK)uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_HEADER``h]h)}(hjAh]hETHTOOL_A_CABLE_TEST_HEADER}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM6hj<ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj9ubj)}(hhh]h)}(hnestedh]hnested}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj]ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h reply headerh]h reply header}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjtubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_STATUS``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h completedh]h completed}(hjϟhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj̟ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_CABLE_TEST_NTF_NEST``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_NTF_NEST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hall the resultsh]hall the results}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_RESULT``h]h)}(hjRh]hETHTOOL_A_CABLE_NEST_RESULT}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhM<hjMubah}(h]h ]h"]h$]h&]morecolsKuh1jhjAubj)}(hhh]h)}(hnestedh]hnested}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjnubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hcable test resulth]hcable test result}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjڠhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjנubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_CODE``h]h)}(hj%h]hETHTOOL_A_CABLE_RESULTS_CODE}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1hhhhM@hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj@ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h result codeh]h result code}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hjWubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_RESULT``h]h)}(hjh]hETHTOOL_A_CABLE_NEST_RESULT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjtubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hcable test resultsh]hcable test results}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjաubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjաubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMDhjubah}(h]h ]h"]h$]h&]uh1jhjաubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj ubah}(h]h ]h"]h$]h&]uh1jhjաubj)}(hhh]h)}(h pair numberh]h pair number}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj!ubah}(h]h ]h"]h$]h&]uh1jhjաubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_CODE``h]h)}(hjXh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMFhjSubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hu8h]hu8}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjsubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h result codeh]h result code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_RESULT_SRC``h]h)}(hjh]hETHTOOL_A_CABLE_RESULT_SRC}(hjâhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMHhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjߢhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjܢubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_NEST_FAULT_LENGTH``h]h)}(hj!h]h!ETHTOOL_A_CABLE_NEST_FAULT_LENGTH}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj=ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h cable lengthh]h cable length}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjTubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR``h]h)}(hjh]h!ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjڣubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjڣubj)}(hhh]h)}(h#``ETHTOOL_A_CABLE_FAULT_LENGTH_CM``h]h)}(hjh]hETHTOOL_A_CABLE_FAULT_LENGTH_CM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMNhjubah}(h]h ]h"]h$]h&]uh1jhjڣubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjubah}(h]h ]h"]h$]h&]uh1jhjڣubj)}(hhh]h)}(h length in cmh]h length in cm}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj&ubah}(h]h ]h"]h$]h&]uh1jhjڣubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h$``ETHTOOL_A_CABLE_FAULT_LENGTH_SRC``h]h)}(hj]h]h ETHTOOL_A_CABLE_FAULT_LENGTH_SRC}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1hhhhMPhjXubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hu32h]hu32}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjxubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM5hjhhubeh}(h] cable-testah ]h"] cable_testah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hCABLE_TEST TDRh]hCABLE_TEST TDR}(hjФhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjͤhhhhhMUubh)}(h*Start a cable test and report raw TDR datah]h*Start a cable test and report raw TDR data}(hjޤhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjͤhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjͤhhubj)}(hX+--------------------------------------------+--------+-----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_HEADER`` | nested | reply header | +--------------------------------------------+--------+-----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_CFG`` | nested | test configuration | +-+------------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE`` | u32 | first data distance | +-+-+----------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE`` | u32 | last data distance | +-+-+----------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE`` | u32 | distance of each step | +-+-+----------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR`` | u8 | pair to test | +-+-+----------------------------------------+--------+-----------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CABLE_TEST_TDR_HEADER``h]h)}(hjAh]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM\hj<ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj9ubj)}(hhh]h)}(hnestedh]hnested}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj]ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h reply headerh]h reply header}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjtubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_CABLE_TEST_TDR_CFG``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_CFG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htest configurationh]htest configuration}(hjϥhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj̥ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h'``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE``h]h)}(hjh]h#ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hfirst data distanceh]hfirst data distance}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj-ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE``h]h)}(hj[h]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMbhjVubah}(h]h ]h"]h$]h&]morecolsKuh1jhjJubj)}(hhh]h)}(hu32h]hu32}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjwubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hlast data distanceh]hlast data distance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE``h]h)}(hjh]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjۦhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjئubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdistance of each steph]hdistance of each step}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR``h]h)}(hjh]h!ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj9ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h pair to testh]h pair to test}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjPubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM[hjͤhhubh)}(hX6The ETHTOOL_A_CABLE_TEST_TDR_CFG is optional, as well as all members of the nest. All distances are expressed in centimeters. The PHY takes the distances as a guide, and rounds to the nearest distance it actually supports. If a pair is passed, only that one pair will be tested. Otherwise all pairs are tested.h]hX6The ETHTOOL_A_CABLE_TEST_TDR_CFG is optional, as well as all members of the nest. All distances are expressed in centimeters. The PHY takes the distances as a guide, and rounds to the nearest distance it actually supports. If a pair is passed, only that one pair will be tested. Otherwise all pairs are tested.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjͤhhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjͤhhubh)}(hRaw TDR data is gathered by sending a pulse down the cable and recording the amplitude of the reflected pulse for a given distance.h]hRaw TDR data is gathered by sending a pulse down the cable and recording the amplitude of the reflected pulse for a given distance.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjͤhhubh)}(hXIt can take a number of seconds to collect TDR data, especial if the full 100 meters is probed at 1 meter intervals. When the test is started a notification will be sent containing just ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED.h]hXIt can take a number of seconds to collect TDR data, especial if the full 100 meters is probed at 1 meter intervals. When the test is started a notification will be sent containing just ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjͤhhubh)}(hWhen the test has completed a second notification will be sent containing ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED and the TDR data.h]hWhen the test has completed a second notification will be sent containing ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED and the TDR data.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjͤhhubh)}(hThe message may optionally contain the amplitude of the pulse send down the cable. This is measured in mV. A reflection should not be bigger than transmitted pulse.h]hThe message may optionally contain the amplitude of the pulse send down the cable. This is measured in mV. A reflection should not be bigger than transmitted pulse.}(hj̧hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjͤhhubh)}(hXBefore the raw TDR data should be an ETHTOOL_A_CABLE_TDR_NEST_STEP nest containing information about the distance along the cable for the first reading, the last reading, and the step between each reading. Distances are measured in centimeters. These should be the exact values the PHY used. These may be different to what the user requested, if the native measurement resolution is greater than 1 cm.h]hXBefore the raw TDR data should be an ETHTOOL_A_CABLE_TDR_NEST_STEP nest containing information about the distance along the cable for the first reading, the last reading, and the step between each reading. Distances are measured in centimeters. These should be the exact values the PHY used. These may be different to what the user requested, if the native measurement resolution is greater than 1 cm.}(hjڧhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjͤhhubh)}(hFor each step along the cable, a ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE is used to report the amplitude of the reflection for a given pair.h]hFor each step along the cable, a ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE is used to report the amplitude of the reflection for a given pair.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjͤhhubj)}(hX +---------------------------------------------+--------+----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_HEADER`` | nested | reply header | +---------------------------------------------+--------+----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_STATUS`` | u8 | completed | +---------------------------------------------+--------+----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST`` | nested | all the results | +-+-------------------------------------------+--------+----------------------+ | | ``ETHTOOL_A_CABLE_TDR_NEST_PULSE`` | nested | TX Pulse amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_PULSE_mV`` | s16 | Pulse amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | ``ETHTOOL_A_CABLE_NEST_STEP`` | nested | TDR step info | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE`` | u32 | First data distance | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE`` | u32 | Last data distance | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE`` | u32 | distance of each step| +-+-+-----------------------------------------+--------+----------------------+ | | ``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE`` | nested | Reflection amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_AMPLITUDE_mV`` | s16 | Reflection amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | ``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE`` | nested | Reflection amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_AMPLITUDE_mV`` | s16 | Reflection amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | ``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE`` | nested | Reflection amplitude | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+----------------------+ | | | ``ETHTOOL_A_CABLE_AMPLITUDE_mV`` | s16 | Reflection amplitude | +-+-+-----------------------------------------+--------+----------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK)uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CABLE_TEST_TDR_HEADER``h]h)}(hj=h]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj5ubj)}(hhh]h)}(hnestedh]hnested}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h reply headerh]h reply header}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CABLE_TEST_TDR_STATUS``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h completedh]h completed}(hj˨hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjȨubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST``h]h)}(hjh]h!ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hall the resultsh]hall the results}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h"``ETHTOOL_A_CABLE_TDR_NEST_PULSE``h]h)}(hjNh]hETHTOOL_A_CABLE_TDR_NEST_PULSE}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]morecolsKuh1jhj=ubj)}(hhh]h)}(hnestedh]hnested}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hTX Pulse amplitudeh]hTX Pulse amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_PULSE_mV``h]h)}(hjh]hETHTOOL_A_CABLE_PULSE_mV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hj֩hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjөubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPulse amplitudeh]hPulse amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_STEP``h]h)}(hjh]hETHTOOL_A_CABLE_NEST_STEP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h TDR step infoh]h TDR step info}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(h'``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE``h]h)}(hjh]h#ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj}ubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hFirst data distanceh]hFirst data distance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjѪubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjѪubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE``h]h)}(hjh]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjѪubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjѪubj)}(hhh]h)}(hLast data distanceh]hLast data distance}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjѪubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE``h]h)}(hjTh]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hu32h]hu32}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hdistance of each steph]hdistance of each step}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hjh]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjӫhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjЫubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_AMPLITUDE_mV``h]h)}(hjh]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hs16h]hs16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj֬ubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hjh]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj֬ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj֬ubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj֬ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjQh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hu8h]hu8}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_AMPLITUDE_mV``h]h)}(hjh]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hjحhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjխubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hjh]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjӮubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjӮubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_AMPLITUDE_mV``h]h)}(hjh]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjӮubj)}(hhh]h)}(hs16h]hs16}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjӮubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjӮubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjͤhhubeh}(h]cable-test-tdrah ]h"]cable_test tdrah$]h&]uh1hhhhhhhhMUubh)}(hhh](h)}(h TUNNEL_INFOh]h TUNNEL_INFO}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hhhhhMubh)}(h8Gets information about the tunnel state NIC is aware of.h]h8Gets information about the tunnel state NIC is aware of.}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubh)}(hRequest contents:h]hRequest contents:}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_TUNNEL_INFO_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_TUNNEL_INFO_HEADER``h]h)}(hjh]hETHTOOL_A_TUNNEL_INFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjۯhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjدubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj]hhubh)}(hKernel response contents:h]hKernel response contents:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubj)}(hX+---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_TUNNEL_INFO_HEADER`` | nested | reply header | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_TUNNEL_INFO_UDP_PORTS`` | nested | all UDP port tables | +-+-------------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_TUNNEL_UDP_TABLE`` | nested | one UDP port table | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE`` | u32 | max size of the | | | | | | table | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES`` | bitset | tunnel types which | | | | | | table can hold | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY`` | nested | offloaded UDP port | +-+-+-+---------------------------------------+--------+---------------------+ | | | | ``ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT`` | be16 | UDP port | +-+-+-+---------------------------------------+--------+---------------------+ | | | | ``ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE`` | u32 | tunnel type | +-+-+-+---------------------------------------+--------+---------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj:ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj:ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj:ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhj:ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj:ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj:ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_TUNNEL_INFO_HEADER``h]h)}(hjh]hETHTOOL_A_TUNNEL_INFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj|ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_INFO_UDP_PORTS``h]h)}(hjܰh]hETHTOOL_A_TUNNEL_INFO_UDP_PORTS}(hjްhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjڰubah}(h]h ]h"]h$]h&]uh1hhhhMhjװubah}(h]h ]h"]h$]h&]morecolsKuh1jhj԰ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj԰ubj)}(hhh]h)}(hall UDP port tablesh]hall UDP port tables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj԰ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(h``ETHTOOL_A_TUNNEL_UDP_TABLE``h]h)}(hj=h]hETHTOOL_A_TUNNEL_UDP_TABLE}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj,ubj)}(hhh]h)}(hnestedh]hnested}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hone UDP port tableh]hone UDP port table}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE``h]h)}(hjh]hETHTOOL_A_TUNNEL_UDP_TABLE_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjƱhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjñubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax size of the tableh]hmax size of the table}(hjݱhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjڱubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES``h]h)}(hjh]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!tunnel types which table can holdh]h!tunnel types which table can hold}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY``h]h)}(hj{h]h ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]morecolsKuh1jhjaubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hoffloaded UDP porth]hoffloaded UDP port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj˲ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj˲ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj˲ubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT``h]h)}(hjh]hETHTOOL_A_TUNNEL_UDP_ENTRY_PORT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj˲ubj)}(hhh]h)}(hbe16h]hbe16}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj˲ubj)}(hhh]h)}(hUDP porth]hUDP port}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj˲ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE``h]h)}(hj`h]hETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h tunnel typeh]h tunnel type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]colsKuh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhhhMhj]hhubh)}(hFor UDP tunnel table empty ``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES`` indicates that the table contains static entries, hard-coded by the NIC.h](hFor UDP tunnel table empty }(hjȳhhhNhNubh)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES``h]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hjгhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjȳubhI indicates that the table contains static entries, hard-coded by the NIC.}(hjȳhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubeh}(h] tunnel-infoah ]h"] tunnel_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_GETh]hFEC_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hJGets FEC configuration and state like ``ETHTOOL_GFECPARAM`` ioctl request.h](h&Gets FEC configuration and state like }(hjhhhNhNubh)}(h``ETHTOOL_GFECPARAM``h]hETHTOOL_GFECPARAM}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_FEC_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj6ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_HEADER``h]h)}(hjbh]hETHTOOL_A_FEC_HEADER}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj]ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]colsKuh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjʴhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_FEC_HEADER`` nested request header ``ETHTOOL_A_FEC_MODES`` bitset configured modes ``ETHTOOL_A_FEC_AUTO`` bool FEC mode auto selection ``ETHTOOL_A_FEC_ACTIVE`` u32 index of active FEC mode ``ETHTOOL_A_FEC_STATS`` nested FEC statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjߴubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjߴubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjߴubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_HEADER``h]h)}(hj h]hETHTOOL_A_FEC_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_MODES``h]h)}(hjbh]hETHTOOL_A_FEC_MODES}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj]ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hconfigured modesh]hconfigured modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_AUTO``h]h)}(hjh]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj׵hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjԵubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFEC mode auto selectionh]hFEC mode auto selection}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_ACTIVE``h]h)}(hjh]hETHTOOL_A_FEC_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hindex of active FEC modeh]hindex of active FEC mode}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_STATS``h]h)}(hjgh]hETHTOOL_A_FEC_STATS}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hFEC statisticsh]hFEC statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjߴubeh}(h]h ]h"]h$]h&]colsKuh1jhjܴubah}(h]h ]h"]h$]h&]uh1jhjشubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h``ETHTOOL_A_FEC_ACTIVE`` is the bit index of the FEC link mode currently active on the interface. This attribute may not be present if device does not support FEC.h](h)}(h``ETHTOOL_A_FEC_ACTIVE``h]hETHTOOL_A_FEC_ACTIVE}(hjӶhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj϶ubh is the bit index of the FEC link mode currently active on the interface. This attribute may not be present if device does not support FEC.}(hj϶hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hX``ETHTOOL_A_FEC_MODES`` and ``ETHTOOL_A_FEC_AUTO`` are only meaningful when autonegotiation is disabled. If ``ETHTOOL_A_FEC_AUTO`` is non-zero driver will select the FEC mode automatically based on the parameters of the SFP module. This is equivalent to the ``ETHTOOL_FEC_AUTO`` bit of the ioctl interface. ``ETHTOOL_A_FEC_MODES`` carry the current FEC configuration using link mode bits (rather than old ``ETHTOOL_FEC_*`` bits).h](h)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh and }(hjhhhNhNubh)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh: are only meaningful when autonegotiation is disabled. If }(hjhhhNhNubh)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh is non-zero driver will select the FEC mode automatically based on the parameters of the SFP module. This is equivalent to the }(hjhhhNhNubh)}(h``ETHTOOL_FEC_AUTO``h]hETHTOOL_FEC_AUTO}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh bit of the ioctl interface. }(hjhhhNhNubh)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhK carry the current FEC configuration using link mode bits (rather than old }(hjhhhNhNubh)}(h``ETHTOOL_FEC_*``h]h ETHTOOL_FEC_*}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh bits).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hX_``ETHTOOL_A_FEC_STATS`` are reported if ``ETHTOOL_FLAG_STATS`` was set in ``ETHTOOL_A_HEADER_FLAGS``. Each attribute carries an array of 64bit statistics. First entry in the array contains the total number of events on the port, while the following entries are counters corresponding to lanes/PCS instances. The number of entries in the array will be:h](h)}(h``ETHTOOL_A_FEC_STATS``h]hETHTOOL_A_FEC_STATS}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubh are reported if }(hjahhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubh was set in }(hjahhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubh. Each attribute carries an array of 64bit statistics. First entry in the array contains the total number of events on the port, while the following entries are counters corresponding to lanes/PCS instances. The number of entries in the array will be:}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h`0`h]j&)}(hjƷh]h0}(hjȷhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjķubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&device does not support FEC statisticsh]h&device does not support FEC statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h`1`h]j&)}(hjh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h+device does not support per-lane break downh]h+device does not support per-lane break down}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h `1 + #lanes`h]j&)}(hjFh]h 1 + #lanes}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjDubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h%device has full support for FEC statsh]h%device has full support for FEC stats}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h:Drivers fill in the statistics in the following structure:h]h:Drivers fill in the statistics in the following structure:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jlethtool_fec_stats (C struct)c.ethtool_fec_statshNtauh1j_hjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhNubjq)}(hhh](jv)}(hethtool_fec_statsh]j|)}(hstruct ethtool_fec_statsh](j)}(hjyh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhKubj)}(h h]h }(hjǸhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjƸhKubj)}(hethtool_fec_statsh]j)}(hjh]hethtool_fec_stats}(hjٸhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjոubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjƸhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjƸhKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjƸhKhjhhubjي)}(hhh]h)}(hstatistics for IEEE 802.3 FECh]hstatistics for IEEE 802.3 FEC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjƸhKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1jphhhjhjhNubj)}(hX**Definition**:: struct ethtool_fec_stats { struct ethtool_fec_stat { u64 total; u64 lanes[ETHTOOL_MAX_LANES]; } corrected_blocks, uncorrectable_blocks, corrected_bits; }; **Members** ``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. ``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. ``corrected_bits`` number of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](h)}(h**Definition**::h](j )}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhM hjubj)}(hstruct ethtool_fec_stats { struct ethtool_fec_stat { u64 total; u64 lanes[ETHTOOL_MAX_LANES]; } corrected_blocks, uncorrectable_blocks, corrected_bits; };h]hstruct ethtool_fec_stats { struct ethtool_fec_stat { u64 total; u64 lanes[ETHTOOL_MAX_LANES]; } corrected_blocks, uncorrectable_blocks, corrected_bits; };}hj8sbah}(h]h ]h"]h$]h&]jŠjÊuh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhM hjubh)}(h **Members**h]j )}(hjIh]hMembers}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjGubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjubj!)}(hhh](j&)}(h|``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. h](j,)}(h``corrected_blocks``h]h)}(hjhh]hcorrected_blocks}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhM hjbubjF)}(hhh]h)}(hfnumber of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``.h](hEnumber of received blocks corrected by FEC Reported to user space as }(hjhhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORRECTED``h]hETHTOOL_A_FEC_STAT_CORRECTED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhM hj~ubah}(h]h ]h"]h$]h&]uh1jEhjbubeh}(h]h ]h"]h$]h&]uh1j%hj}hM hj_ubj&)}(h``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. h](j,)}(h``uncorrectable_blocks``h]h)}(hjh]huncorrectable_blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hnnumber of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``.h](hPnumber of received blocks FEC was not able to correct Reported to user space as }(hj͹hhhNhNubh)}(h``ETHTOOL_A_FEC_STAT_UNCORR``h]hETHTOOL_A_FEC_STAT_UNCORR}(hjչhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj͹ubh.}(hj͹hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjʹubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjɹhMhj_ubj&)}(h``corrected_bits`` number of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](j,)}(h``corrected_bits``h]h)}(hjh]hcorrected_bits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hnumber of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](h+number of bits corrected by FEC Similar to }(hjhhhNhNubj )}(h**corrected_blocks**h]hcorrected_blocks}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh| but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as }(hjhhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORR_BITS``h]hETHTOOL_A_FEC_STAT_CORR_BITS}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhj_ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j )}(hjgh]h Description}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1j hjeubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjhhubj)}(hEquivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard. Equivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard. h](h)}(hBEquivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard.h](hEquivalent to }(hjhhhNhNubj&)}(h!`30.5.1.1.17 aFECCorrectedBlocks`h]h30.5.1.1.17 aFECCorrectedBlocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhM hj}ubh)}(hFEquivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard.h](hEquivalent to }(hjhhhNhNubj&)}(h%`30.5.1.1.18 aFECUncorrectableBlocks`h]h#30.5.1.1.18 aFECUncorrectableBlocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhM hj}ubeh}(h]h ]h"]h$]h&]uh1jhjhM hjhhubh)}(h?For each of the above fields, the two substructure members are:h]h?For each of the above fields, the two substructure members are:}(hjɺhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjhhubj0)}(hhh](j0)}(hB**lanes**: per-lane/PCS-instance counts as defined by the standardh]h)}(hjݺh](j )}(h **lanes**h]hlanes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjߺubh9: per-lane/PCS-instance counts as defined by the standard}(hjߺhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjۺubah}(h]h ]h"]h$]h&]uh1j0hjغubj0)}(hb**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h]j!)}(hhh]j&)}(h_**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h](j,)}(hO**total**: error counts for the entire port, for drivers incapable of reportingh](j )}(h **total**h]htotal}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubhF: error counts for the entire port, for drivers incapable of reporting}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hper-lane statsh]hper-lane stats}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hMhj)ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj(hMhjubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1j0hjغubeh}(h]h ]h"]h$]h&]j1j 1uh1j0hjhMhjhhubh)}(hDrivers should fill in either only total or per-lane statistics, core will take care of adding lane values up to produce the total.h]hDrivers should fill in either only total or per-lane statistics, core will take care of adding lane values up to produce the total.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1543: ./include/linux/ethtool.hhMhjhhubh)}(hStatistics may have FEC bins histogram attribute ``ETHTOOL_A_FEC_STAT_HIST`` as defined in IEEE 802.3ck-2022 and 802.3df-2024. Nested attributes will have the range of FEC errors in the bin (inclusive) and the amount of error events in the bin.h](h1Statistics may have FEC bins histogram attribute }(hjghhhNhNubh)}(h``ETHTOOL_A_FEC_STAT_HIST``h]hETHTOOL_A_FEC_STAT_HIST}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubh as defined in IEEE 802.3ck-2022 and 802.3df-2024. Nested attributes will have the range of FEC errors in the bin (inclusive) and the amount of error events in the bin.}(hjghhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjhhubeh}(h]fec-getah ]h"]fec_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_SETh]hFEC_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(h=Sets FEC parameters like ``ETHTOOL_SFECPARAM`` ioctl request.h](hSets FEC parameters like }(hjhhhNhNubh)}(h``ETHTOOL_SFECPARAM``h]hETHTOOL_SFECPARAM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hXY===================================== ====== ========================== ``ETHTOOL_A_FEC_HEADER`` nested request header ``ETHTOOL_A_FEC_MODES`` bitset configured modes ``ETHTOOL_A_FEC_AUTO`` bool FEC mode auto selection ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjջubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjջubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjջubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_HEADER``h]h)}(hjh]hETHTOOL_A_FEC_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_MODES``h]h)}(hjXh]hETHTOOL_A_FEC_MODES}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hbitseth]hbitset}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hconfigured modesh]hconfigured modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_AUTO``h]h)}(hjh]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjͼhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjʼubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFEC mode auto selectionh]hFEC mode auto selection}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjջubeh}(h]h ]h"]h$]h&]colsKuh1jhjһubah}(h]h ]h"]h$]h&]uh1jhjλubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h{``FEC_SET`` is only meaningful when autonegotiation is disabled. Otherwise FEC mode is selected as part of autonegotiation.h](h)}(h ``FEC_SET``h]hFEC_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhp is only meaningful when autonegotiation is disabled. Otherwise FEC mode is selected as part of autonegotiation.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h``ETHTOOL_A_FEC_MODES`` selects which FEC mode should be used. It's recommended to set only one bit, if multiple bits are set driver may choose between them in an implementation specific way.h](h)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh selects which FEC mode should be used. It’s recommended to set only one bit, if multiple bits are set driver may choose between them in an implementation specific way.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h``ETHTOOL_A_FEC_AUTO`` requests the driver to choose FEC mode based on SFP module parameters. This does not mean autonegotiation.h](h)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubhk requests the driver to choose FEC mode based on SFP module parameters. This does not mean autonegotiation.}(hjOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM#hjhhubeh}(h]fec-setah ]h"]fec_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMODULE_EEPROM_GETh]hMODULE_EEPROM_GET}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjshhhhhM'ubh)}(hXFetch module EEPROM data dump. This interface is designed to allow dumps of at most 1/2 page at once. This means only dumps of 128 (or less) bytes are allowed, without crossing half page boundary located at offset 128. For pages other than 0 only high 128 bytes are accessible.h]hXFetch module EEPROM data dump. This interface is designed to allow dumps of at most 1/2 page at once. This means only dumps of 128 (or less) bytes are allowed, without crossing half page boundary located at offset 128. For pages other than 0 only high 128 bytes are accessible.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hjshhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjshhubj)}(hX#======================================= ====== ========================== ``ETHTOOL_A_MODULE_EEPROM_HEADER`` nested request header ``ETHTOOL_A_MODULE_EEPROM_OFFSET`` u32 offset within a page ``ETHTOOL_A_MODULE_EEPROM_LENGTH`` u32 amount of bytes to read ``ETHTOOL_A_MODULE_EEPROM_PAGE`` u8 page number ``ETHTOOL_A_MODULE_EEPROM_BANK`` u8 bank number ``ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS`` u8 page I2C address ======================================= ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_HEADER``h]h)}(hjӽh]hETHTOOL_A_MODULE_EEPROM_HEADER}(hjսhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjѽubah}(h]h ]h"]h$]h&]uh1hhhhM2hjνubah}(h]h ]h"]h$]h&]uh1jhj˽ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjubah}(h]h ]h"]h$]h&]uh1jhj˽ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjubah}(h]h ]h"]h$]h&]uh1jhj˽ubeh}(h]h ]h"]h$]h&]uh1jhjȽubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_OFFSET``h]h)}(hj*h]hETHTOOL_A_MODULE_EEPROM_OFFSET}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhhhM3hj%ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hu32h]hu32}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjEubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hoffset within a pageh]hoffset within a page}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj\ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhjȽubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_LENGTH``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_LENGTH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM4hj|ubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hamount of bytes to readh]hamount of bytes to read}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjȽubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_MODULE_EEPROM_PAGE``h]h)}(hjؾh]hETHTOOL_A_MODULE_EEPROM_PAGE}(hjھhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj־ubah}(h]h ]h"]h$]h&]uh1hhhhM5hjӾubah}(h]h ]h"]h$]h&]uh1jhjоubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjubah}(h]h ]h"]h$]h&]uh1jhjоubj)}(hhh]h)}(h page numberh]h page number}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj ubah}(h]h ]h"]h$]h&]uh1jhjоubeh}(h]h ]h"]h$]h&]uh1jhjȽubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]h)}(hj/h]hETHTOOL_A_MODULE_EEPROM_BANK}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhM6hj*ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hu8h]hu8}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjJubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(h bank numberh]h bank number}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjaubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjȽubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS``h]h)}(hjh]h#ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hpage I2C addressh]hpage I2C address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhjȽubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM1hjshhubh)}(hHIf ``ETHTOOL_A_MODULE_EEPROM_BANK`` is not specified, bank 0 is assumed.h](hIf }(hjhhhNhNubh)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]hETHTOOL_A_MODULE_EEPROM_BANK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh% is not specified, bank 0 is assumed.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM:hjshhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjshhubj)}(hX+---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_MODULE_EEPROM_HEADER`` | nested | reply header | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_MODULE_EEPROM_DATA`` | binary | array of bytes from | | | | module EEPROM | +---------------------------------------------+--------+---------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jhj#ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj#ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj#ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_HEADER``h]h)}(hjOh]hETHTOOL_A_MODULE_EEPROM_HEADER}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhM?hjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hnestedh]hnested}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjjubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_MODULE_EEPROM_DATA``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_DATA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!array of bytes from module EEPROMh]h!array of bytes from module EEPROM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM>hjshhubh)}(hk``ETHTOOL_A_MODULE_EEPROM_DATA`` has an attribute length equal to the amount of bytes driver actually read.h](h)}(h ``ETHTOOL_A_MODULE_EEPROM_DATA``h]hETHTOOL_A_MODULE_EEPROM_DATA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhK has an attribute length equal to the amount of bytes driver actually read.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMEhjshhubeh}(h]module-eeprom-getah ]h"]module_eeprom_getah$]h&]uh1hhhhhhhhM'ubh)}(hhh](h)}(h STATS_GETh]h STATS_GET}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hhhhhMIubh)}(hGet standard statistics for the interface. Note that this is not a re-implementation of ``ETHTOOL_GSTATS`` which exposed driver-defined stats.h](hXGet standard statistics for the interface. Note that this is not a re-implementation of }(hjChhhNhNubh)}(h``ETHTOOL_GSTATS``h]hETHTOOL_GSTATS}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubh$ which exposed driver-defined stats.}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMKhj2hhubh)}(hRequest contents:h]hRequest contents:}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhj2hhubj)}(hXi======================================= ====== ========================== ``ETHTOOL_A_STATS_HEADER`` nested request header ``ETHTOOL_A_STATS_SRC`` u32 source of statistics ``ETHTOOL_A_STATS_GROUPS`` bitset requested groups of stats ======================================= ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhjxubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjxubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjxubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_HEADER``h]h)}(hjh]hETHTOOL_A_STATS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_SRC``h]h)}(hjh]hETHTOOL_A_STATS_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj-ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_GROUPS``h]h)}(hjRh]hETHTOOL_A_STATS_GROUPS}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhMThjMubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hbitseth]hbitset}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjmubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hrequested groups of statsh]hrequested groups of stats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]colsKuh1jhjuubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jhhhMQhj2hhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj2hhubj)}(hXP+-----------------------------------+--------+--------------------------------+ | ``ETHTOOL_A_STATS_HEADER`` | nested | reply header | +-----------------------------------+--------+--------------------------------+ | ``ETHTOOL_A_STATS_SRC`` | u32 | source of statistics | +-----------------------------------+--------+--------------------------------+ | ``ETHTOOL_A_STATS_GRP`` | nested | one or more group of stats | +-+---------------------------------+--------+--------------------------------+ | | ``ETHTOOL_A_STATS_GRP_ID`` | u32 | group ID - ``ETHTOOL_STATS_*`` | +-+---------------------------------+--------+--------------------------------+ | | ``ETHTOOL_A_STATS_GRP_SS_ID`` | u32 | string set ID for names | +-+---------------------------------+--------+--------------------------------+ | | ``ETHTOOL_A_STATS_GRP_STAT`` | nested | nest containing a statistic | +-+---------------------------------+--------+--------------------------------+ | | ``ETHTOOL_A_STATS_GRP_HIST_RX`` | nested | histogram statistic (Rx) | +-+---------------------------------+--------+--------------------------------+ | | ``ETHTOOL_A_STATS_GRP_HIST_TX`` | nested | histogram statistic (Tx) | +-+---------------------------------+--------+--------------------------------+ )h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_HEADER``h]h)}(hjh]hETHTOOL_A_STATS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMZhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_SRC``h]h)}(hj]h]hETHTOOL_A_STATS_SRC}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1hhhhM\hjXubah}(h]h ]h"]h$]h&]morecolsKuh1jhjUubj)}(hhh]h)}(hu32h]hu32}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjyubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP``h]h)}(hjh]hETHTOOL_A_STATS_GRP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hone or more group of statsh]hone or more group of stats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_ID``h]h)}(hjh]hETHTOOL_A_STATS_GRP_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hgroup ID - ``ETHTOOL_STATS_*``h](h group ID - }(hjKhhhNhNubh)}(h``ETHTOOL_STATS_*``h]hETHTOOL_STATS_*}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubeh}(h]h ]h"]h$]h&]uh1hhhhM`hjHubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]h)}(hjh]hETHTOOL_A_STATS_GRP_SS_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hstring set ID for namesh]hstring set ID for names}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_STAT``h]h)}(hjh]hETHTOOL_A_STATS_GRP_STAT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnest containing a statistich]hnest containing a statistic}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_HIST_RX``h]h)}(hjDh]hETHTOOL_A_STATS_GRP_HIST_RX}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhMfhj?ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hnestedh]hnested}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj_ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hhistogram statistic (Rx)h]hhistogram statistic (Rx)}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjvubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_HIST_TX``h]h)}(hjh]hETHTOOL_A_STATS_GRP_HIST_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhistogram statistic (Tx)h]hhistogram statistic (Tx)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMYhj2hhubh)}(hUsers specify which groups of statistics they are requesting via the ``ETHTOOL_A_STATS_GROUPS`` bitset. Currently defined values are:h](hEUsers specify which groups of statistics they are requesting via the }(hj hhhNhNubh)}(h``ETHTOOL_A_STATS_GROUPS``h]hETHTOOL_A_STATS_GROUPS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh& bitset. Currently defined values are:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMkhj2hhubj)}(hX====================== ======== =============================================== ETHTOOL_STATS_ETH_MAC eth-mac Basic IEEE 802.3 MAC statistics (30.3.1.1.*) ETHTOOL_STATS_ETH_PHY eth-phy Basic IEEE 802.3 PHY statistics (30.3.2.1.*) ETHTOOL_STATS_ETH_CTRL eth-ctrl Basic IEEE 802.3 MAC Ctrl statistics (30.3.3.*) ETHTOOL_STATS_RMON rmon RMON (RFC 2819) statistics ETHTOOL_STATS_PHY phy Additional PHY statistics, not defined by IEEE ====================== ======== =============================================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhj3ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_MACh]hETHTOOL_STATS_ETH_MAC}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjZubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(heth-mach]heth-mac}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjqubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(h,Basic IEEE 802.3 MAC statistics (30.3.1.1.*)h]h,Basic IEEE 802.3 MAC statistics (30.3.1.1.*)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_PHYh]hETHTOOL_STATS_ETH_PHY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-phyh]heth-phy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h,Basic IEEE 802.3 PHY statistics (30.3.2.1.*)h]h,Basic IEEE 802.3 PHY statistics (30.3.2.1.*)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_CTRLh]hETHTOOL_STATS_ETH_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-ctrlh]heth-ctrl}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h/Basic IEEE 802.3 MAC Ctrl statistics (30.3.3.*)h]h/Basic IEEE 802.3 MAC Ctrl statistics (30.3.3.*)}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj$ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_RMONh]hETHTOOL_STATS_RMON}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hrmonh]hrmon}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj[ubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hRMON (RFC 2819) statisticsh]hRMON (RFC 2819) statistics}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjrubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_PHYh]hETHTOOL_STATS_PHY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hphyh]hphy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Additional PHY statistics, not defined by IEEEh]h.Additional PHY statistics, not defined by IEEE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]colsKuh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhhhMnhj2hhubh)}(hXEach group should have a corresponding ``ETHTOOL_A_STATS_GRP`` in the reply. ``ETHTOOL_A_STATS_GRP_ID`` identifies which group's statistics nest contains. ``ETHTOOL_A_STATS_GRP_SS_ID`` identifies the string set ID for the names of the statistics in the group, if available.h](h'Each group should have a corresponding }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh in the reply. }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_ID``h]hETHTOOL_A_STATS_GRP_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh6 identifies which group’s statistics nest contains. }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]hETHTOOL_A_STATS_GRP_SS_ID}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhY identifies the string set ID for the names of the statistics in the group, if available.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhj2hhubh)}(hX?Statistics are added to the ``ETHTOOL_A_STATS_GRP`` nest under ``ETHTOOL_A_STATS_GRP_STAT``. ``ETHTOOL_A_STATS_GRP_STAT`` should contain single 8 byte (u64) attribute inside - the type of that attribute is the statistic ID and the value is the value of the statistic. Each group has its own interpretation of statistic IDs. Attribute IDs correspond to strings from the string set identified by ``ETHTOOL_A_STATS_GRP_SS_ID``. Complex statistics (such as RMON histogram entries) are also listed inside ``ETHTOOL_A_STATS_GRP`` and do not have a string defined in the string set.h](hStatistics are added to the }(hj:hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubh nest under }(hj:hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_STAT``h]hETHTOOL_A_STATS_GRP_STAT}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubh. }(hj:hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_STAT``h]hETHTOOL_A_STATS_GRP_STAT}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubhX should contain single 8 byte (u64) attribute inside - the type of that attribute is the statistic ID and the value is the value of the statistic. Each group has its own interpretation of statistic IDs. Attribute IDs correspond to strings from the string set identified by }(hj:hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]hETHTOOL_A_STATS_GRP_SS_ID}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubhM. Complex statistics (such as RMON histogram entries) are also listed inside }(hj:hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubh4 and do not have a string defined in the string set.}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hj2hhubh)}(hXRMON "histogram" counters count number of packets within given size range. Because RFC does not specify the ranges beyond the standard 1518 MTU devices differ in definition of buckets. For this reason the definition of packet ranges is left to each driver.h]hXRMON “histogram” counters count number of packets within given size range. Because RFC does not specify the ranges beyond the standard 1518 MTU devices differ in definition of buckets. For this reason the definition of packet ranges is left to each driver.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2hhubh)}(hk``ETHTOOL_A_STATS_GRP_HIST_RX`` and ``ETHTOOL_A_STATS_GRP_HIST_TX`` nests contain the following attributes:h](h)}(h``ETHTOOL_A_STATS_GRP_HIST_RX``h]hETHTOOL_A_STATS_GRP_HIST_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh and }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_HIST_TX``h]hETHTOOL_A_STATS_GRP_HIST_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh( nests contain the following attributes:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj2hhubj)}(hXa================================= ====== =================================== ETHTOOL_A_STATS_RMON_HIST_BKT_LOW u32 low bound of the packet size bucket ETHTOOL_A_STATS_RMON_HIST_BKT_HI u32 high bound of the bucket ETHTOOL_A_STATS_RMON_HIST_VAL u64 packet counter ================================= ====== =================================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h!ETHTOOL_A_STATS_RMON_HIST_BKT_LOWh]h!ETHTOOL_A_STATS_RMON_HIST_BKT_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h#low bound of the packet size bucketh]h#low bound of the packet size bucket}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ETHTOOL_A_STATS_RMON_HIST_BKT_HIh]h ETHTOOL_A_STATS_RMON_HIST_BKT_HI}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hu32h]hu32}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hhigh bound of the bucketh]hhigh bound of the bucket}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_A_STATS_RMON_HIST_VALh]hETHTOOL_A_STATS_RMON_HIST_VAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu64h]hu64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpacket counterh]hpacket counter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj2hhubh)}(h/Low and high bounds are inclusive, for example:h]h/Low and high bounds are inclusive, for example:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2hhubj)}(h============================= ==== ==== RFC statistic low high ============================= ==== ==== etherStatsPkts64Octets 0 64 etherStatsPkts512to1023Octets 512 1023 ============================= ==== ==== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj!ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj!ubhthead)}(hhh]j)}(hhh](j)}(hhh]h)}(h RFC statistich]h RFC statistic}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hlowh]hlow}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hhighh]hhigh}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jBhj!ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hetherStatsPkts64Octetsh]hetherStatsPkts64Octets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h64h]h64}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hetherStatsPkts512to1023Octetsh]hetherStatsPkts512to1023Octets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h512h]h512}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h1023h]h1023}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj2hhubh)}(hX``ETHTOOL_A_STATS_SRC`` is optional. Similar to ``PAUSE_GET``, it takes values from ``enum ethtool_mac_stats_src``. If absent from the request, stats will be provided with an ``ETHTOOL_A_STATS_SRC`` attribute in the response equal to ``ETHTOOL_MAC_STATS_SRC_AGGREGATE``.h](h)}(h``ETHTOOL_A_STATS_SRC``h]hETHTOOL_A_STATS_SRC}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh is optional. Similar to }(hjShhhNhNubh)}(h ``PAUSE_GET``h]h PAUSE_GET}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh, it takes values from }(hjShhhNhNubh)}(h``enum ethtool_mac_stats_src``h]henum ethtool_mac_stats_src}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh=. If absent from the request, stats will be provided with an }(hjShhhNhNubh)}(h``ETHTOOL_A_STATS_SRC``h]hETHTOOL_A_STATS_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh$ attribute in the response equal to }(hjShhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh.}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj2hhubeh}(h] stats-getah ]h"] stats_getah$]h&]uh1hhhhhhhhMIubh)}(hhh](h)}(hPHC_VCLOCKS_GETh]hPHC_VCLOCKS_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(h,Query device PHC virtual clocks information.h]h,Query device PHC virtual clocks information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PHC_VCLOCKS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_PHC_VCLOCKS_HEADER``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_HEADER}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hXS==================================== ====== ========================== ``ETHTOOL_A_PHC_VCLOCKS_HEADER`` nested reply header ``ETHTOOL_A_PHC_VCLOCKS_NUM`` u32 PHC virtual clocks number ``ETHTOOL_A_PHC_VCLOCKS_INDEX`` s32 PHC index array ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_PHC_VCLOCKS_HEADER``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHC_VCLOCKS_NUM``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_NUM}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPHC virtual clocks numberh]hPHC virtual clocks number}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHC_VCLOCKS_INDEX``h]h)}(hjvh]hETHTOOL_A_PHC_VCLOCKS_INDEX}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(hs32h]hs32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(hPHC index arrayh]hPHC index array}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h]phc-vclocks-getah ]h"]phc_vclocks_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h MODULE_GETh]h MODULE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(h#Gets transceiver module parameters.h]h#Gets transceiver module parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_MODULE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MODULE_HEADER``h]h)}(hjFh]hETHTOOL_A_MODULE_HEADER}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hnestedh]hnested}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX\====================================== ====== ========================== ``ETHTOOL_A_MODULE_HEADER`` nested reply header ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` u8 power mode policy ``ETHTOOL_A_MODULE_POWER_MODE`` u8 operational power mode ====================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MODULE_HEADER``h]h)}(hjh]hETHTOOL_A_MODULE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h)}(hjFh]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hu8h]hu8}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MODULE_POWER_MODE``h]h)}(hjh]hETHTOOL_A_MODULE_POWER_MODE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hoperational power modeh]hoperational power mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hXBThe optional ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` attribute encodes the transceiver module power mode policy enforced by the host. The default policy is driver-dependent, but "auto" is the recommended default and it should be implemented by new drivers and drivers where conformance to a legacy behavior is not critical.h](h The optional }(hjhhhNhNubh)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhX attribute encodes the transceiver module power mode policy enforced by the host. The default policy is driver-dependent, but “auto” is the recommended default and it should be implemented by new drivers and drivers where conformance to a legacy behavior is not critical.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hThe optional ``ETHTHOOL_A_MODULE_POWER_MODE`` attribute encodes the operational power mode policy of the transceiver module. It is only reported when a module is plugged-in. Possible values are:h](h The optional }(hj%hhhNhNubh)}(h ``ETHTHOOL_A_MODULE_POWER_MODE``h]hETHTHOOL_A_MODULE_POWER_MODE}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubh attribute encodes the operational power mode policy of the transceiver module. It is only reported when a module is plugged-in. Possible values are:}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl"ethtool_module_power_mode (C enum)c.ethtool_module_power_modehNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_module_power_modeh]j|)}(henum ethtool_module_power_modeh](j)}(hjh]henum}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1745: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjlhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZhhhjkhKubj)}(hethtool_module_power_modeh]j)}(hjXh]hethtool_module_power_mode}(hj~hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjzubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjZhhhjkhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjVhhhjkhKubah}(h]jQah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjkhKhjShhubjي)}(hhh]h)}(hplug-in module power modeh]hplug-in module power mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1745: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjShhhjkhKubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjhNhNubj)}(h**Constants** ``ETHTOOL_MODULE_POWER_MODE_LOW`` Module is in low power mode. ``ETHTOOL_MODULE_POWER_MODE_HIGH`` Module is in high power mode.h](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1745: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(h?``ETHTOOL_MODULE_POWER_MODE_LOW`` Module is in low power mode. h](j,)}(h!``ETHTOOL_MODULE_POWER_MODE_LOW``h]h)}(hjh]hETHTOOL_MODULE_POWER_MODE_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1745: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hModule is in low power mode.h]hModule is in low power mode.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h@``ETHTOOL_MODULE_POWER_MODE_HIGH`` Module is in high power mode.h](j,)}(h"``ETHTOOL_MODULE_POWER_MODE_HIGH``h]h)}(hjh]hETHTOOL_MODULE_POWER_MODE_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1745: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hModule is in high power mode.h]hModule is in high power mode.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1745: ./include/uapi/linux/ethtool.hhMhj0ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj/hMhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h] module-getah ]h"] module_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h MODULE_SETh]h MODULE_SET}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjchhhhhMubh)}(h#Sets transceiver module parameters.h]h#Sets transceiver module parameters.}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjchhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjchhubj)}(hX====================================== ====== ========================== ``ETHTOOL_A_MODULE_HEADER`` nested request header ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` u8 power mode policy ====================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MODULE_HEADER``h]h)}(hjh]hETHTOOL_A_MODULE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h)}(hjh]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjchhubh)}(hWhen set, the optional ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` attribute is used to set the transceiver module power policy enforced by the host. Possible values are:h](hWhen set, the optional }(hjhhhNhNubh)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhh attribute is used to set the transceiver module power policy enforced by the host. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjchhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl)ethtool_module_power_mode_policy (C enum)"c.ethtool_module_power_mode_policyhNtauh1j_hjchhhNhNubjq)}(hhh](jv)}(h ethtool_module_power_mode_policyh]j|)}(h%enum ethtool_module_power_mode_policyh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1764: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(h ethtool_module_power_mode_policyh]j)}(hjh]h ethtool_module_power_mode_policy}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjhhubjي)}(hhh]h)}(h plug-in module power mode policyh]h plug-in module power mode policy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1764: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhKubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjchNhNubj)}(hXP**Constants** ``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH`` Module is always in high power mode. ``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO`` Module is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.h](h)}(h **Constants**h]j )}(hjh]h Constants}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1764: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(hO``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH`` Module is always in high power mode. h](j,)}(h)``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH``h]h)}(hj>h]h%ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1764: ./include/uapi/linux/ethtool.hhMhj8ubjF)}(hhh]h)}(h$Module is always in high power mode.h]h$Module is always in high power mode.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMhjTubah}(h]h ]h"]h$]h&]uh1jEhj8ubeh}(h]h ]h"]h$]h&]uh1j%hjShMhj5ubj&)}(h``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO`` Module is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.h](j,)}(h)``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO``h]h)}(hjwh]h%ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1764: ./include/uapi/linux/ethtool.hhMhjqubjF)}(hhh]h)}(hModule is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.h]hModule is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1764: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjqubeh}(h]h ]h"]h$]h&]uh1j%hjhMhj5ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjchhhNhNubh)}(hzFor SFF-8636 modules, low power mode is forced by the host according to table 6-10 in revision 2.10a of the specification.h]hzFor SFF-8636 modules, low power mode is forced by the host according to table 6-10 in revision 2.10a of the specification.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjchhubh)}(htFor CMIS modules, low power mode is forced by the host according to table 6-12 in revision 5.0 of the specification.h]htFor CMIS modules, low power mode is forced by the host according to table 6-12 in revision 5.0 of the specification.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjchhubeh}(h] module-setah ]h"] module_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hPSE_GETh]hPSE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hGets PSE attributes.h]hGets PSE attributes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PSE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(hj<h]hETHTOOL_A_PSE_HEADER}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hnestedh]hnested}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX========================================== ====== ============================= ``ETHTOOL_A_PSE_HEADER`` nested reply header ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` u32 Operational state of the PoDL PSE functions ``ETHTOOL_A_PODL_PSE_PW_D_STATUS`` u32 power detection status of the PoDL PSE. ``ETHTOOL_A_C33_PSE_ADMIN_STATE`` u32 Operational state of the PoE PSE functions. ``ETHTOOL_A_C33_PSE_PW_D_STATUS`` u32 power detection status of the PoE PSE. ``ETHTOOL_A_C33_PSE_PW_CLASS`` u32 power class of the PoE PSE. ``ETHTOOL_A_C33_PSE_ACTUAL_PW`` u32 actual power drawn on the PoE PSE. ``ETHTOOL_A_C33_PSE_EXT_STATE`` u32 power extended state of the PoE PSE. ``ETHTOOL_A_C33_PSE_EXT_SUBSTATE`` u32 power extended substatus of the PoE PSE. ``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT`` u32 currently configured power limit of the PoE PSE. ``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit configuration ranges. ``ETHTOOL_A_PSE_PW_D_ID`` u32 Index of the PSE power domain ``ETHTOOL_A_PSE_PRIO_MAX`` u32 Priority maximum configurable on the PoE PSE ``ETHTOOL_A_PSE_PRIO`` u32 Priority of the PoE PSE currently configured ========================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(hjh]hETHTOOL_A_PSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_PODL_PSE_ADMIN_STATE``h]h)}(hj<h]hETHTOOL_A_PODL_PSE_ADMIN_STATE}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hu32h]hu32}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h+Operational state of the PoDL PSE functionsh]h+Operational state of the PoDL PSE functions}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_PODL_PSE_PW_D_STATUS``h]h)}(hjh]hETHTOOL_A_PODL_PSE_PW_D_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h'power detection status of the PoDL PSE.h]h'power detection status of the PoDL PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_C33_PSE_ADMIN_STATE``h]h)}(hjh]hETHTOOL_A_C33_PSE_ADMIN_STATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h+Operational state of the PoE PSE functions.h]h+Operational state of the PoE PSE functions.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_C33_PSE_PW_D_STATUS``h]h)}(hjAh]hETHTOOL_A_C33_PSE_PW_D_STATUS}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hu32h]hu32}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h&power detection status of the PoE PSE.h]h&power detection status of the PoE PSE.}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_C33_PSE_PW_CLASS``h]h)}(hjh]hETHTOOL_A_C33_PSE_PW_CLASS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpower class of the PoE PSE.h]hpower class of the PoE PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_C33_PSE_ACTUAL_PW``h]h)}(hjh]hETHTOOL_A_C33_PSE_ACTUAL_PW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h"actual power drawn on the PoE PSE.h]h"actual power drawn on the PoE PSE.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_C33_PSE_EXT_STATE``h]h)}(hjFh]hETHTOOL_A_C33_PSE_EXT_STATE}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hu32h]hu32}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h$power extended state of the PoE PSE.h]h$power extended state of the PoE PSE.}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_C33_PSE_EXT_SUBSTATE``h]h)}(hjh]hETHTOOL_A_C33_PSE_EXT_SUBSTATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(power extended substatus of the PoE PSE.h]h(power extended substatus of the PoE PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT``h]h)}(hjh]h ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0currently configured power limit of the PoE PSE.h]h0currently configured power limit of the PoE PSE.}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj&ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES``h]h)}(hjKh]h!ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hnestedh]hnested}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjfubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h+Supported power limit configuration ranges.h]h+Supported power limit configuration ranges.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj}ubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PW_D_ID``h]h)}(hjh]hETHTOOL_A_PSE_PW_D_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndex of the PSE power domainh]hIndex of the PSE power domain}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PRIO_MAX``h]h)}(hjh]hETHTOOL_A_PSE_PRIO_MAX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h,Priority maximum configurable on the PoE PSEh]h,Priority maximum configurable on the PoE PSE}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PRIO``h]h)}(hjPh]hETHTOOL_A_PSE_PRIO}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hu32h]hu32}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h,Priority of the PoE PSE currently configuredh]h,Priority of the PoE PSE currently configured}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hXWWhen set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` attribute identifies the operational state of the PoDL PSE functions. The operational state of the PSE function can be changed using the ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` action. This attribute corresponds to ``IEEE 802.3-2018`` 30.15.1.1.2 aPoDLPSEAdminState. Possible values are:h](hWhen set, the optional }(hjhhhNhNubh)}(h"``ETHTOOL_A_PODL_PSE_ADMIN_STATE``h]hETHTOOL_A_PODL_PSE_ADMIN_STATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute identifies the operational state of the PoDL PSE functions. The operational state of the PSE function can be changed using the }(hjhhhNhNubh)}(h$``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL``h]h ETHTOOL_A_PODL_PSE_ADMIN_CONTROL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh' action. This attribute corresponds to }(hjhhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh5 30.15.1.1.2 aPoDLPSEAdminState. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl%ethtool_podl_pse_admin_state (C enum)c.ethtool_podl_pse_admin_statehNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_podl_pse_admin_stateh]j|)}(h!enum ethtool_podl_pse_admin_stateh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj"hKubj)}(hethtool_podl_pse_admin_stateh]j)}(hjh]hethtool_podl_pse_admin_state}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhj"hKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hj hhhj"hKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhj"hKhj hhubjي)}(hhh]h)}(h[operational state of the PoDL PSE functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminStateh]h[operational state of the PoDL PSE functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjThhubah}(h]h ]h"]h$]h&]uh1j؊hj hhhj"hKubeh}(h]h ](jenumeh"]h$]h&]jjjjojjojjjuh1jphhhjhNhNubj)}(h**Constants** ``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN`` state of PoDL PSE functions are unknown ``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED`` PoDL PSE functions are disabled ``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED`` PoDL PSE functions are enabledh](h)}(h **Constants**h]j )}(hjyh]h Constants}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjwubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjsubj!)}(hhh](j&)}(hQ``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN`` state of PoDL PSE functions are unknown h](j,)}(h(``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN``h]h)}(hjh]h$ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(h'state of PoDL PSE functions are unknownh]h'state of PoDL PSE functions are unknown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hJ``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED`` PoDL PSE functions are disabled h](j,)}(h)``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED``h]h)}(hjh]h%ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLEDU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hPoDL PSE functions are disabledh]hPoDL PSE functions are disabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hG``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED`` PoDL PSE functions are enabledh](j,)}(h(``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED``h]h)}(hj h]h$ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hPoDL PSE functions are enabledh]hPoDL PSE functions are enabled}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhj!ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj hMhjubeh}(h]h ]h"]h$]h&]uh1j hjsubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hoThe same goes for ``ETHTOOL_A_C33_PSE_ADMIN_STATE`` implementing ``IEEE 802.3-2022`` 30.9.1.1.2 aPSEAdminState.h](hThe same goes for }(hjLhhhNhNubh)}(h!``ETHTOOL_A_C33_PSE_ADMIN_STATE``h]hETHTOOL_A_C33_PSE_ADMIN_STATE}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubh implementing }(hjLhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubh 30.9.1.1.2 aPSEAdminState.}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl$ethtool_c33_pse_admin_state (C enum)c.ethtool_c33_pse_admin_statehNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_c33_pse_admin_stateh]j|)}(h enum ethtool_c33_pse_admin_stateh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hethtool_c33_pse_admin_stateh]j)}(hjh]hethtool_c33_pse_admin_state}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjhhubjي)}(hhh]h)}(hVoperational state of the PoDL PSE functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminStateh]hVoperational state of the PoDL PSE functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhKubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjhNhNubj)}(h**Constants** ``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN`` state of PSE functions is unknown ``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED`` PSE functions are disabled ``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED`` PSE functions are enabledh](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(hJ``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN`` state of PSE functions is unknown h](j,)}(h'``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN``h]h)}(hjh]h#ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(h!state of PSE functions is unknownh]h!state of PSE functions is unknown}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hMhj0ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj/hMhjubj&)}(hD``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED`` PSE functions are disabled h](j,)}(h(``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED``h]h)}(hjSh]h$ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhMhjMubjF)}(hhh]h)}(hPSE functions are disabledh]hPSE functions are disabled}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhMhjiubah}(h]h ]h"]h$]h&]uh1jEhjMubeh}(h]h ]h"]h$]h&]uh1j%hjhhMhjubj&)}(hA``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED`` PSE functions are enabledh](j,)}(h'``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED``h]h)}(hjh]h#ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hPSE functions are enabledh]hPSE functions are enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1826: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hXEWhen set, the optional ``ETHTOOL_A_PODL_PSE_PW_D_STATUS`` attribute identifies the power detection status of the PoDL PSE. The status depend on internal PSE state machine and automatic PD classification support. This attribute corresponds to ``IEEE 802.3-2018`` 30.15.1.1.3 aPoDLPSEPowerDetectionStatus. Possible values are:h](hWhen set, the optional }(hjhhhNhNubh)}(h"``ETHTOOL_A_PODL_PSE_PW_D_STATUS``h]hETHTOOL_A_PODL_PSE_PW_D_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute identifies the power detection status of the PoDL PSE. The status depend on internal PSE state machine and automatic PD classification support. This attribute corresponds to }(hjhhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh? 30.15.1.1.3 aPoDLPSEPowerDetectionStatus. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM%hjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl%ethtool_podl_pse_pw_d_status (C enum)c.ethtool_podl_pse_pw_d_statushNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_podl_pse_pw_d_statush]j|)}(h!enum ethtool_podl_pse_pw_d_statush](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj%hKubj)}(hethtool_podl_pse_pw_d_statush]j)}(hjh]hethtool_podl_pse_pw_d_status}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhj%hKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhj%hKubah}(h]j ah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhj%hKhj hhubjي)}(hhh]h)}(hapower detection status of the PoDL PSE. IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:h]hapower detection status of the PoDL PSE. IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjWhhubah}(h]h ]h"]h$]h&]uh1j؊hj hhhj%hKubeh}(h]h ](jenumeh"]h$]h&]jjjjrjjrjjjuh1jphhhjhNhNubj)}(hXA**Constants** ``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN`` PoDL PSE ``ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED`` "The enumeration “disabled” is asserted true when the PoDL PSE state diagram variable mr_pse_enable is false" ``ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING`` "The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING`` "The enumeration “deliveringPower” is asserted true when the PoDL PSE state diagram variable pi_powered is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP`` "The enumeration “sleep” is asserted true when the PoDL PSE state diagram variable pi_sleeping is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE`` "The enumeration “idle” is asserted true when the logical combination of the PoDL PSE state diagram variables pi_prebiased*!pi_sleeping is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR`` "The enumeration “error” is asserted true when the PoDL PSE state diagram variable overload_held is true."h](h)}(h **Constants**h]j )}(hj|h]h Constants}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjzubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjvubj!)}(hhh](j&)}(h2``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN`` PoDL PSE h](j,)}(h(``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN``h]h)}(hjh]h$ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hPoDL PSEh]hPoDL PSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED`` "The enumeration “disabled” is asserted true when the PoDL PSE state diagram variable mr_pse_enable is false" h](j,)}(h)``ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED``h]h)}(hjh]h%ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hq"The enumeration “disabled” is asserted true when the PoDL PSE state diagram variable mr_pse_enable is false"h]hu“The enumeration “disabled” is asserted true when the PoDL PSE state diagram variable mr_pse_enable is false”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING`` "The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true." h](j,)}(h*``ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING``h]h)}(hjh]hÐTOOL_PODL_PSE_PW_D_STATUS_SEARCHING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhM hjubjF)}(hhh]h)}(h"The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true."h]h“The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true.”}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhM hj$ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj#hM hjubj&)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING`` "The enumeration “deliveringPower” is asserted true when the PoDL PSE state diagram variable pi_powered is true." h](j,)}(h+``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING``h]h)}(hjHh]h'ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjBubjF)}(hhh]h)}(hu"The enumeration “deliveringPower” is asserted true when the PoDL PSE state diagram variable pi_powered is true."h]hy“The enumeration “deliveringPower” is asserted true when the PoDL PSE state diagram variable pi_powered is true.”}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhj^ubah}(h]h ]h"]h$]h&]uh1jEhjBubeh}(h]h ]h"]h$]h&]uh1j%hj]hMhjubj&)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP`` "The enumeration “sleep” is asserted true when the PoDL PSE state diagram variable pi_sleeping is true." h](j,)}(h&``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP``h]h)}(hjh]h"ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhj|ubjF)}(hhh]h)}(hl"The enumeration “sleep” is asserted true when the PoDL PSE state diagram variable pi_sleeping is true."h]hp“The enumeration “sleep” is asserted true when the PoDL PSE state diagram variable pi_sleeping is true.”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhj|ubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE`` "The enumeration “idle” is asserted true when the logical combination of the PoDL PSE state diagram variables pi_prebiased*!pi_sleeping is true." h](j,)}(h%``ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE``h]h)}(hjh]h!ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(h"The enumeration “idle” is asserted true when the logical combination of the PoDL PSE state diagram variables pi_prebiased*!pi_sleeping is true."h]h“The enumeration “idle” is asserted true when the logical combination of the PoDL PSE state diagram variables pi_prebiased*!pi_sleeping is true.”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR`` "The enumeration “error” is asserted true when the PoDL PSE state diagram variable overload_held is true."h](j,)}(h&``ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR``h]h)}(hjh]h"ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hn"The enumeration “error” is asserted true when the PoDL PSE state diagram variable overload_held is true."h]hr“The enumeration “error” is asserted true when the PoDL PSE state diagram variable overload_held is true.”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj hMhjubeh}(h]h ]h"]h$]h&]uh1j hjvubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hThe same goes for ``ETHTOOL_A_C33_PSE_ADMIN_PW_D_STATUS`` implementing ``IEEE 802.3-2022`` 30.9.1.1.5 aPSEPowerDetectionStatus.h](hThe same goes for }(hj6hhhNhNubh)}(h'``ETHTOOL_A_C33_PSE_ADMIN_PW_D_STATUS``h]h#ETHTOOL_A_C33_PSE_ADMIN_PW_D_STATUS}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubh implementing }(hj6hhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubh% 30.9.1.1.5 aPSEPowerDetectionStatus.}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM.hjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl$ethtool_c33_pse_pw_d_status (C enum)c.ethtool_c33_pse_pw_d_statushNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_c33_pse_pw_d_statush]j|)}(h enum ethtool_c33_pse_pw_d_statush](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj}hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj}hhhjhKubj)}(hethtool_c33_pse_pw_d_statush]j)}(hj{h]hethtool_c33_pse_pw_d_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhj}hhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjyhhhjhKubah}(h]jtah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjvhhubjي)}(hhh]h)}(h[power detection status of the PSE. IEEE 802.3-2022 30.9.1.1.3 aPoDLPSEPowerDetectionStatus:h]h[power detection status of the PSE. IEEE 802.3-2022 30.9.1.1.3 aPoDLPSEPowerDetectionStatus:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjvhhhjhKubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjhNhNubj)}(hX**Constants** ``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN`` PSE status is unknown ``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED`` The enumeration "disabled" indicates that the PSE State diagram is in the state DISABLED. ``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING`` The enumeration "searching" indicates the PSE State diagram is in a state other than those listed. ``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING`` The enumeration "deliveringPower" indicates that the PSE State diagram is in the state POWER_ON. ``ETHTOOL_C33_PSE_PW_D_STATUS_TEST`` The enumeration "test" indicates that the PSE State diagram is in the state TEST_MODE. ``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT`` The enumeration "fault" indicates that the PSE State diagram is in the state TEST_ERROR. ``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT`` The enumeration "otherFault" indicates that the PSE State diagram is in the state IDLE due to the variable error_condition = true.h](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(h>``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN`` PSE status is unknown h](j,)}(h'``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN``h]h)}(hjh]h#ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hPSE status is unknownh]hPSE status is unknown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED`` The enumeration "disabled" indicates that the PSE State diagram is in the state DISABLED. h](j,)}(h(``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED``h]h)}(hj=h]h$ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhj7ubjF)}(hhh]h)}(hYThe enumeration "disabled" indicates that the PSE State diagram is in the state DISABLED.h]h]The enumeration “disabled” indicates that the PSE State diagram is in the state DISABLED.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjSubah}(h]h ]h"]h$]h&]uh1jEhj7ubeh}(h]h ]h"]h$]h&]uh1j%hjRhMhjubj&)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING`` The enumeration "searching" indicates the PSE State diagram is in a state other than those listed. h](j,)}(h)``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING``h]h)}(hjwh]h%ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjqubjF)}(hhh]h)}(hbThe enumeration "searching" indicates the PSE State diagram is in a state other than those listed.h]hfThe enumeration “searching” indicates the PSE State diagram is in a state other than those listed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjqubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING`` The enumeration "deliveringPower" indicates that the PSE State diagram is in the state POWER_ON. h](j,)}(h*``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING``h]h)}(hjh]hÐTOOL_C33_PSE_PW_D_STATUS_DELIVERING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(h`The enumeration "deliveringPower" indicates that the PSE State diagram is in the state POWER_ON.h]hdThe enumeration “deliveringPower” indicates that the PSE State diagram is in the state POWER_ON.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h|``ETHTOOL_C33_PSE_PW_D_STATUS_TEST`` The enumeration "test" indicates that the PSE State diagram is in the state TEST_MODE. h](j,)}(h$``ETHTOOL_C33_PSE_PW_D_STATUS_TEST``h]h)}(hjh]h ETHTOOL_C33_PSE_PW_D_STATUS_TEST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hVThe enumeration "test" indicates that the PSE State diagram is in the state TEST_MODE.h]hZThe enumeration “test” indicates that the PSE State diagram is in the state TEST_MODE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT`` The enumeration "fault" indicates that the PSE State diagram is in the state TEST_ERROR. h](j,)}(h%``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT``h]h)}(hj%h]h!ETHTOOL_C33_PSE_PW_D_STATUS_FAULT}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hXThe enumeration "fault" indicates that the PSE State diagram is in the state TEST_ERROR.h]h\The enumeration “fault” indicates that the PSE State diagram is in the state TEST_ERROR.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhj;ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj:hMhjubj&)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT`` The enumeration "otherFault" indicates that the PSE State diagram is in the state IDLE due to the variable error_condition = true.h](j,)}(h*``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT``h]h)}(hj_h]hÐTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjYubjF)}(hhh]h)}(hThe enumeration "otherFault" indicates that the PSE State diagram is in the state IDLE due to the variable error_condition = true.h]hThe enumeration “otherFault” indicates that the PSE State diagram is in the state IDLE due to the variable error_condition = true.}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjuubah}(h]h ]h"]h$]h&]uh1jEhjYubeh}(h]h ]h"]h$]h&]uh1j%hjthMhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hWhen set, the optional ``ETHTOOL_A_C33_PSE_PW_CLASS`` attribute identifies the power class of the C33 PSE. It depends on the class negotiated between the PSE and the PD. This attribute corresponds to ``IEEE 802.3-2022`` 30.9.1.1.8 aPSEPowerClassification.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_C33_PSE_PW_CLASS``h]hETHTOOL_A_C33_PSE_PW_CLASS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute identifies the power class of the C33 PSE. It depends on the class negotiated between the PSE and the PD. This attribute corresponds to }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh$ 30.9.1.1.8 aPSEPowerClassification.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM4hjhhubh)}(hWhen set, the optional ``ETHTOOL_A_C33_PSE_ACTUAL_PW`` attribute identifies the actual power drawn by the C33 PSE. This attribute corresponds to ``IEEE 802.3-2022`` 30.9.1.1.23 aPSEActualPower. Actual power is reported in mW.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_C33_PSE_ACTUAL_PW``h]hETHTOOL_A_C33_PSE_ACTUAL_PW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh[ attribute identifies the actual power drawn by the C33 PSE. This attribute corresponds to }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh= 30.9.1.1.23 aPSEActualPower. Actual power is reported in mW.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM9hjhhubh)}(hWhen set, the optional ``ETHTOOL_A_C33_PSE_EXT_STATE`` attribute identifies the extended error state of the C33 PSE. Possible values are:h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_C33_PSE_EXT_STATE``h]hETHTOOL_A_C33_PSE_EXT_STATE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhS attribute identifies the extended error state of the C33 PSE. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM>hjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl"ethtool_c33_pse_ext_state (C enum)c.ethtool_c33_pse_ext_statehNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_c33_pse_ext_stateh]j|)}(henum ethtool_c33_pse_ext_stateh](j)}(hjh]henum}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9hhhjJhKubj)}(hethtool_c33_pse_ext_stateh]j)}(hj7h]hethtool_c33_pse_ext_state}(hj]hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjYubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhj9hhhjJhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hj5hhhjJhKubah}(h]j0ah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjJhKhj2hhubjي)}(hhh]h)}(hKgroups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hKgroups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj|hhubah}(h]h ]h"]h$]h&]uh1j؊hj2hhhjJhKubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjhNhNubj)}(hX**Constants** ``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION`` Group of error_condition states ``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID`` Group of mr_mps_valid states ``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE`` Group of mr_pse_enable states ``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED`` Group of option_detect_ted states ``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM`` Group of option_vport_lim states ``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED`` Group of ovld_detected states ``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE`` Group of pd_dll_power_type states ``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE`` Group of power_not_available states ``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED`` Group of short_detected statesh](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(hN``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION`` Group of error_condition states h](j,)}(h-``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION``h]h)}(hjh]h)ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hGroup of error_condition statesh]hGroup of error_condition states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hH``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID`` Group of mr_mps_valid states h](j,)}(h*``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID``h]h)}(hjh]hÐTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hGroup of mr_mps_valid statesh]hGroup of mr_mps_valid states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hJ``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE`` Group of mr_pse_enable states h](j,)}(h+``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE``h]h)}(hj2h]h'ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj,ubjF)}(hhh]h)}(hGroup of mr_pse_enable statesh]hGroup of mr_pse_enable states}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhMhjHubah}(h]h ]h"]h$]h&]uh1jEhj,ubeh}(h]h ]h"]h$]h&]uh1j%hjGhMhjubj&)}(hR``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED`` Group of option_detect_ted states h](j,)}(h/``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED``h]h)}(hjkh]h+ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM hjeubjF)}(hhh]h)}(h!Group of option_detect_ted statesh]h!Group of option_detect_ted states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjeubeh}(h]h ]h"]h$]h&]uh1j%hjhM hjubj&)}(hP``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM`` Group of option_vport_lim states h](j,)}(h.``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM``h]h)}(hjh]h*ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM hjubjF)}(hhh]h)}(h Group of option_vport_lim statesh]h Group of option_vport_lim states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM hjubj&)}(hJ``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED`` Group of ovld_detected states h](j,)}(h+``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED``h]h)}(hjh]h'ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hGroup of ovld_detected statesh]hGroup of ovld_detected states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hR``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE`` Group of pd_dll_power_type states h](j,)}(h/``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE``h]h)}(hjh]h+ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(h!Group of pd_dll_power_type statesh]h!Group of pd_dll_power_type states}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj-ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj,hMhjubj&)}(hV``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE`` Group of power_not_available states h](j,)}(h1``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE``h]h)}(hjQh]h-ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjKubjF)}(hhh]h)}(h#Group of power_not_available statesh]h#Group of power_not_available states}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjgubah}(h]h ]h"]h$]h&]uh1jEhjKubeh}(h]h ]h"]h$]h&]uh1j%hjfhMhjubj&)}(hK``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED`` Group of short_detected statesh](j,)}(h,``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED``h]h)}(hjh]h(ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(hGroup of short_detected statesh]hGroup of short_detected states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hWhen set, the optional ``ETHTOOL_A_C33_PSE_EXT_SUBSTATE`` attribute identifies the extended error state of the C33 PSE. Possible values are: Possible values are:h](hWhen set, the optional }(hjhhhNhNubh)}(h"``ETHTOOL_A_C33_PSE_EXT_SUBSTATE``h]hETHTOOL_A_C33_PSE_EXT_SUBSTATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhh attribute identifies the extended error state of the C33 PSE. Possible values are: Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMDhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl5ethtool_c33_pse_ext_substate_error_condition (C enum).c.ethtool_c33_pse_ext_substate_error_conditionhNtauh1j_hjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhNubjq)}(hhh](jv)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j|)}(h1enum ethtool_c33_pse_ext_substate_error_conditionh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j)}(hjh]h,ethtool_c33_pse_ext_substate_error_condition}(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj"ubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjhhubjي)}(hhh]h)}(hDerror_condition states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hDerror_condition states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM'hjEhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhKubeh}(h]h ](jenumeh"]h$]h&]jjjj`jj`jjjuh1jphhhjhjhNubj)}(hXq**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT`` Non-existing port number ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT`` Undefined port ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT`` Internal hardware fault ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON`` Communication error after force on ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS`` Unknown port status ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF`` Host crash turn off ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN`` Host crash force shutdown ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE`` Configuration change ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP`` Over temperature detectedh](h)}(h **Constants**h]j )}(hjjh]h Constants}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM+hjdubj!)}(hhh](j&)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT`` Non-existing port number h](j,)}(hB``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT``h]h)}(hjh]h>ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM/hjubjF)}(hhh]h)}(hNon-existing port numberh]hNon-existing port number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM.hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM/hjubj&)}(hO``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT`` Undefined port h](j,)}(h?``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT``h]h)}(hjh]h;ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM2hjubjF)}(hhh]h)}(hUndefined porth]hUndefined port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM2hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM2hjubj&)}(h[``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT`` Internal hardware fault h](j,)}(hB``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT``h]h)}(hjh]h>ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM6hjubjF)}(hhh]h)}(hInternal hardware faulth]hInternal hardware fault}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM5hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM6hjubj&)}(hn``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON`` Communication error after force on h](j,)}(hJ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON``h]h)}(hj6h]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM9hj0ubjF)}(hhh]h)}(h"Communication error after force onh]h"Communication error after force on}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhM9hjLubah}(h]h ]h"]h$]h&]uh1jEhj0ubeh}(h]h ]h"]h$]h&]uh1j%hjKhM9hjubj&)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS`` Unknown port status h](j,)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS``h]h)}(hjoh]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM=hjiubjF)}(hhh]h)}(hUnknown port statush]hUnknown port status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM<hjubah}(h]h ]h"]h$]h&]uh1jEhjiubeh}(h]h ]h"]h$]h&]uh1j%hjhM=hjubj&)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF`` Host crash turn off h](j,)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF``h]h)}(hjh]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMAhjubjF)}(hhh]h)}(hHost crash turn offh]hHost crash turn off}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM@hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMAhjubj&)}(he``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN`` Host crash force shutdown h](j,)}(hJ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN``h]h)}(hjh]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMDhjubjF)}(hhh]h)}(hHost crash force shutdownh]hHost crash force shutdown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMDhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMDhjubj&)}(hT``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE`` Configuration change h](j,)}(h>``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE``h]h)}(hjh]h:ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMHhjubjF)}(hhh]h)}(hConfiguration changeh]hConfiguration change}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMGhj2ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj1hMHhjubj&)}(h]``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP`` Over temperature detectedh](j,)}(hC``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP``h]h)}(hjVh]h?ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMKhjPubjF)}(hhh]h)}(hOver temperature detectedh]hOver temperature detected}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhMKhjlubah}(h]h ]h"]h$]h&]uh1jEhjPubeh}(h]h ]h"]h$]h&]uh1j%hjkhMKhjubeh}(h]h ]h"]h$]h&]uh1j hjdubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j )}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMNhjhhubh)}(hXXerror_condition is a variable indicating the status of implementation-specific fault conditions or optionally other system faults that prevent the PSE from meeting the specifications in Table 33–11 and that require the PSE not to source power. These error conditions are different from those monitored by the state diagrams in Figure 33–10.h]hXXerror_condition is a variable indicating the status of implementation-specific fault conditions or optionally other system faults that prevent the PSE from meeting the specifications in Table 33–11 and that require the PSE not to source power. These error conditions are different from those monitored by the state diagrams in Figure 33–10.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM;hjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl3ethtool_c33_pse_ext_substate_mr_pse_enable (C enum),c.ethtool_c33_pse_ext_substate_mr_pse_enablehNtauh1j_hjhhhjhNubjq)}(hhh](jv)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]j|)}(h/enum ethtool_c33_pse_ext_substate_mr_pse_enableh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMDubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMDubj)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]j)}(hjh]h*ethtool_c33_pse_ext_substate_mr_pse_enable}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhMDubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhMDubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhMDhjhhubjي)}(hhh]h)}(hBmr_pse_enable states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hBmr_pse_enable states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMOhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhMDubeh}(h]h ](jenumeh"]h$]h&]jjjj0jj0jjjuh1jphhhjhjhNubj)}(hg**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE`` Disable pin activeh](h)}(h **Constants**h]j )}(hj:h]h Constants}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj8ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMShj4ubj!)}(hhh]j&)}(hT``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE`` Disable pin activeh](j,)}(hA``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE``h]h)}(hjYh]h=ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMVhjSubjF)}(hhh]h)}(hDisable pin activeh]hDisable pin active}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhMVhjoubah}(h]h ]h"]h$]h&]uh1jEhjSubeh}(h]h ]h"]h$]h&]uh1j%hjnhMVhjPubah}(h]h ]h"]h$]h&]uh1j hj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j )}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMYhjhhubh)}(hPmr_pse_enable is control variable that selects PSE operation and test functions.h]hPmr_pse_enable is control variable that selects PSE operation and test functions.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMThjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl7ethtool_c33_pse_ext_substate_option_detect_ted (C enum)0c.ethtool_c33_pse_ext_substate_option_detect_tedhNtauh1j_hjhhhjhNubjq)}(hhh](jv)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]j|)}(h3enum ethtool_c33_pse_ext_substate_option_detect_tedh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMZubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMZubj)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]j)}(hjh]h.ethtool_c33_pse_ext_substate_option_detect_ted}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhMZubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhMZubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhMZhjhhubjي)}(hhh]h)}(hFoption_detect_ted states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hFoption_detect_ted states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM]hjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhMZubeh}(h]h ](jenumeh"]h$]h&]jjjj3jj3jjjuh1jphhhjhjhNubj)}(h**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS`` Detection in process ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR`` Connection check errorh](h)}(h **Constants**h]j )}(hj=h]h Constants}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj;ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMahj7ubj!)}(hhh](j&)}(hW``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS`` Detection in process h](j,)}(hA``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS``h]h)}(hj\h]h=ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMehjVubjF)}(hhh]h)}(hDetection in processh]hDetection in process}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMdhjrubah}(h]h ]h"]h$]h&]uh1jEhjVubeh}(h]h ]h"]h$]h&]uh1j%hjqhMehjSubj&)}(h```ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR`` Connection check errorh](j,)}(hI``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR``h]h)}(hjh]hEETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMghjubjF)}(hhh]h)}(hConnection check errorh]hConnection check error}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMghjSubeh}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j )}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMjhjhhubh)}(hroption_detect_ted is a variable indicating if detection can be performed by the PSE during the ted_timer interval.h]hroption_detect_ted is a variable indicating if detection can be performed by the PSE during the ted_timer interval.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMdhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl6ethtool_c33_pse_ext_substate_option_vport_lim (C enum)/c.ethtool_c33_pse_ext_substate_option_vport_limhNtauh1j_hjhhhjhNubjq)}(hhh](jv)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j|)}(h2enum ethtool_c33_pse_ext_substate_option_vport_limh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMjubj)}(h h]h }(hj%hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj$hMjubj)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j)}(hjh]h-ethtool_c33_pse_ext_substate_option_vport_lim}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhj$hMjubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhj$hMjubah}(h]j ah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhj$hMjhj hhubjي)}(hhh]h)}(hEoption_vport_lim states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hEoption_vport_lim states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMnhjVhhubah}(h]h ]h"]h$]h&]uh1j؊hj hhhj$hMjubeh}(h]h ](jenumeh"]h$]h&]jjjjqjjqjjjuh1jphhhjhjhNubj)}(hX4**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE`` Main supply voltage is high ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE`` Main supply voltage is low ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION`` Voltage injection into the porth](h)}(h **Constants**h]j )}(hj{h]h Constants}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjyubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMrhjuubj!)}(hhh](j&)}(h[``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE`` Main supply voltage is high h](j,)}(h>``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE``h]h)}(hjh]h:ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMvhjubjF)}(hhh]h)}(hMain supply voltage is highh]hMain supply voltage is high}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMuhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMvhjubj&)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE`` Main supply voltage is low h](j,)}(h=``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE``h]h)}(hjh]h9ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMzhjubjF)}(hhh]h)}(hMain supply voltage is lowh]hMain supply voltage is low}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMyhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMzhjubj&)}(hc``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION`` Voltage injection into the porth](j,)}(hC``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION``h]h)}(hjh]h?ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM}hjubjF)}(hhh]h)}(hVoltage injection into the porth]hVoltage injection into the port}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hM}hj$ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj#hM}hjubeh}(h]h ]h"]h$]h&]uh1j hjuubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j )}(hjPh]h Description}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjhhubh)}(hwoption_vport_lim is an optional variable indicates if VPSE is out of the operating range during normal operating state.h]hwoption_vport_lim is an optional variable indicates if VPSE is out of the operating range during normal operating state.}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMwhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl3ethtool_c33_pse_ext_substate_ovld_detected (C enum),c.ethtool_c33_pse_ext_substate_ovld_detectedhNtauh1j_hjhhhjhNubjq)}(hhh](jv)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j|)}(h/enum ethtool_c33_pse_ext_substate_ovld_detectedh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhM}ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhM}ubj)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j)}(hjh]h*ethtool_c33_pse_ext_substate_ovld_detected}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhM}ubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhM}ubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhM}hjhhubjي)}(hhh]h)}(hBovld_detected states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hBovld_detected states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhM}ubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjhjhNubj)}(hW**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh]j&)}(hF``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](j,)}(h7``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD``h]h)}(hjh]h3ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhj ubjF)}(hhh]h)}(hOverload stateh]hOverload state}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhj'ubah}(h]h ]h"]h$]h&]uh1jEhj ubeh}(h]h ]h"]h$]h&]uh1j%hj&hMhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j )}(hjTh]h Description}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjRubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjhhubh)}(hovld_detected is a variable indicating if the PSE output current has been in an overload condition (see 33.2.7.6) for at least TCUT of a one-second sliding time.h]hovld_detected is a variable indicating if the PSE output current has been in an overload condition (see 33.2.7.6) for at least TCUT of a one-second sliding time.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl9ethtool_c33_pse_ext_substate_power_not_available (C enum)2c.ethtool_c33_pse_ext_substate_power_not_availablehNtauh1j_hjhhhjhNubjq)}(hhh](jv)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j|)}(h5enum ethtool_c33_pse_ext_substate_power_not_availableh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j)}(hjh]h0ethtool_c33_pse_ext_substate_power_not_available}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhMubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhMubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhMhjhhubjي)}(hhh]h)}(hHpower_not_available states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hHpower_not_available states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhMubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhjhjhNubj)}(hX **Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED`` Power budget exceeded for the controller ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET`` Configured port power limit exceeded controller power budget ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT`` Power request from PD exceeds port limit ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT`` Power denied due to Hardware power limith](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(hn``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED`` Power budget exceeded for the controller h](j,)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED``h]h)}(hjh]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjubjF)}(hhh]h)}(h(Power budget exceeded for the controllerh]h(Power budget exceeded for the controller}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhj+ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj*hMhj ubj&)}(h``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET`` Configured port power limit exceeded controller power budget h](j,)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET``h]h)}(hjOh]hXETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1864: ./include/uapi/linux/ethtool.hhMhjIubjF)}(hhh]h)}(hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT``h]h)}(hj`h]h!ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhMqhj[ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj{ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(h%Control PoE PSE available power limith]h%Control PoE PSE available power limit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PRIO``h]h)}(hjh]hETHTOOL_A_PSE_PRIO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hControl priority of the PoE PSEh]hControl priority of the PoE PSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]colsKuh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhhhMmhjhhubh)}(hWhen set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` attribute is used to control PoDL PSE Admin functions. This option implements ``IEEE 802.3-2018`` 30.15.1.2.1 acPoDLPSEAdminControl. See ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` for supported values.h](hWhen set, the optional }(hjhhhNhNubh)}(h$``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL``h]h ETHTOOL_A_PODL_PSE_ADMIN_CONTROL}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhO attribute is used to control PoDL PSE Admin functions. This option implements }(hjhhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh( 30.15.1.2.1 acPoDLPSEAdminControl. See }(hjhhhNhNubh)}(h"``ETHTOOL_A_PODL_PSE_ADMIN_STATE``h]hETHTOOL_A_PODL_PSE_ADMIN_STATE}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh for supported values.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMwhjhhubh)}(htThe same goes for ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` implementing ``IEEE 802.3-2022`` 30.9.1.2.1 acPSEAdminControl.h](hThe same goes for }(hjchhhNhNubh)}(h#``ETHTOOL_A_C33_PSE_ADMIN_CONTROL``h]hETHTOOL_A_C33_PSE_ADMIN_CONTROL}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubh implementing }(hjchhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubh 30.9.1.2.1 acPSEAdminControl.}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM|hjhhubh)}(hX]When set, the optional ``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` attribute is used to control the available power value limit for C33 PSE in milliwatts. This attribute corresponds to the `pse_available_power` variable described in ``IEEE 802.3-2022`` 33.2.4.4 Variables and `pse_avail_pwr` in 145.2.5.4 Variables, which are described in power classes.h](hWhen set, the optional }(hjhhhNhNubh)}(h%``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT``h]h!ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh| attribute is used to control the available power value limit for C33 PSE in milliwatts. This attribute corresponds to the }(hjhhhNhNubj&)}(h`pse_available_power`h]hpse_available_power}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjubh variable described in }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 33.2.4.4 Variables and }(hjhhhNhNubj&)}(h`pse_avail_pwr`h]h pse_avail_pwr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j%hjubh> in 145.2.5.4 Variables, which are described in power classes.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hXgIt was decided to use milliwatts for this interface to unify it with other power monitoring interfaces, which also use milliwatts, and to align with various existing products that document power consumption in watts rather than classes. If power limit configuration based on classes is needed, the conversion can be done in user space, for example by ethtool.h]hXgIt was decided to use milliwatts for this interface to unify it with other power monitoring interfaces, which also use milliwatts, and to align with various existing products that document power consumption in watts rather than classes. If power limit configuration based on classes is needed, the conversion can be done in user space, for example by ethtool.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hWhen set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to control the PSE priority. Allowed priority value are between zero and the value of ``ETHTOOL_A_PSE_PRIO_MAX`` attribute.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO``h]hETHTOOL_A_PSE_PRIO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhj attributes is used to control the PSE priority. Allowed priority value are between zero and the value of }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO_MAX``h]hETHTOOL_A_PSE_PRIO_MAX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hA lower value indicates a higher priority, meaning that a priority value of 0 corresponds to the highest port priority. Port priority serves two functions:h]hA lower value indicates a higher priority, meaning that a priority value of 0 corresponds to the highest port priority. Port priority serves two functions:}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX- Power-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first. - Shutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first. h]j0)}(hhh](j0)}(hPower-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first.h]h)}(hPower-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first.h]hPower-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1j0hj=ubj0)}(hsShutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first. h]h)}(hrShutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first.h]hrShutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjXubah}(h]h ]h"]h$]h&]uh1j0hj=ubeh}(h]h ]h"]h$]h&]j1j 1uh1j0hhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h]pse-setah ]h"]pse_setah$]h&]uh1hhhhhhhhMgubh)}(hhh](h)}(hPSE_NTFh]hPSE_NTF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hNotify PSE events.h]hNotify PSE events.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h=============================== ====== ======================== ``ETHTOOL_A_PSE_HEADER`` nested request header ``ETHTOOL_A_PSE_EVENTS`` bitset PSE events =============================== ====== ======================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(hjh]hETHTOOL_A_PSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_EVENTS``h]h)}(hj;h]hETHTOOL_A_PSE_EVENTS}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hbitseth]hbitset}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h PSE eventsh]h PSE events}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hTWhen set, the optional ``ETHTOOL_A_PSE_EVENTS`` attribute identifies the PSE events.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_EVENTS``h]hETHTOOL_A_PSE_EVENTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh% attribute identifies the PSE events.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jlethtool_pse_event (C enum)c.ethtool_pse_eventhNtauh1j_hjhhhNhNubjq)}(hhh](jv)}(hethtool_pse_eventh]j|)}(henum ethtool_pse_eventh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hethtool_pse_eventh]j)}(hjh]hethtool_pse_event}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhjhKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjhhubjي)}(hhh]h)}(h%PSE event list for the PSE controllerh]h%PSE event list for the PSE controller}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhK6hjhhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhjhKubeh}(h]h ](jenumeh"]h$]h&]jjjj6jj6jjjuh1jphhhjhNhNubj)}(hX**Constants** ``ETHTOOL_PSE_EVENT_OVER_CURRENT`` PSE output current is too high ``ETHTOOL_PSE_EVENT_OVER_TEMP`` PSE in over temperature state ``ETHTOOL_C33_PSE_EVENT_DETECTION`` detection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatus ``ETHTOOL_C33_PSE_EVENT_CLASSIFICATION`` classification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification. ``ETHTOOL_C33_PSE_EVENT_DISCONNECTION`` PD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter. ``ETHTOOL_PSE_EVENT_OVER_BUDGET`` PSE turned off due to over budget situation ``ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR`` PSE faced an error managing the power control from softwareh](h)}(h **Constants**h]j )}(hj@h]h Constants}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj>ubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhK:hj:ubj!)}(hhh](j&)}(hB``ETHTOOL_PSE_EVENT_OVER_CURRENT`` PSE output current is too high h](j,)}(h"``ETHTOOL_PSE_EVENT_OVER_CURRENT``h]h)}(hj_h]hETHTOOL_PSE_EVENT_OVER_CURRENT}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhK=hjYubjF)}(hhh]h)}(hPSE output current is too highh]hPSE output current is too high}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjthK=hjuubah}(h]h ]h"]h$]h&]uh1jEhjYubeh}(h]h ]h"]h$]h&]uh1j%hjthK=hjVubj&)}(h>``ETHTOOL_PSE_EVENT_OVER_TEMP`` PSE in over temperature state h](j,)}(h``ETHTOOL_PSE_EVENT_OVER_TEMP``h]h)}(hjh]hETHTOOL_PSE_EVENT_OVER_TEMP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhK@hjubjF)}(hhh]h)}(hPSE in over temperature stateh]hPSE in over temperature state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK@hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhK@hjVubj&)}(h``ETHTOOL_C33_PSE_EVENT_DETECTION`` detection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatus h](j,)}(h#``ETHTOOL_C33_PSE_EVENT_DETECTION``h]h)}(hjh]hETHTOOL_C33_PSE_EVENT_DETECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKEhjubjF)}(hhh]h)}(hdetection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatush]hdetection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKChjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhKEhjVubj&)}(h``ETHTOOL_C33_PSE_EVENT_CLASSIFICATION`` classification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification. h](j,)}(h(``ETHTOOL_C33_PSE_EVENT_CLASSIFICATION``h]h)}(hj h]h$ETHTOOL_C33_PSE_EVENT_CLASSIFICATION}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKJhjubjF)}(hhh]h)}(hclassification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification.h]hclassification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKHhj!ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj hKJhjVubj&)}(h``ETHTOOL_C33_PSE_EVENT_DISCONNECTION`` PD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter. h](j,)}(h'``ETHTOOL_C33_PSE_EVENT_DISCONNECTION``h]h)}(hjEh]h#ETHTOOL_C33_PSE_EVENT_DISCONNECTION}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKPhj?ubjF)}(hhh]h)}(hPD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter.h]hPD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKMhj[ubah}(h]h ]h"]h$]h&]uh1jEhj?ubeh}(h]h ]h"]h$]h&]uh1j%hjZhKPhjVubj&)}(hN``ETHTOOL_PSE_EVENT_OVER_BUDGET`` PSE turned off due to over budget situation h](j,)}(h!``ETHTOOL_PSE_EVENT_OVER_BUDGET``h]h)}(hjh]hETHTOOL_PSE_EVENT_OVER_BUDGET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKShjyubjF)}(hhh]h)}(h+PSE turned off due to over budget situationh]h+PSE turned off due to over budget situation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKShjubah}(h]h ]h"]h$]h&]uh1jEhjyubeh}(h]h ]h"]h$]h&]uh1j%hjhKShjVubj&)}(he``ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR`` PSE faced an error managing the power control from softwareh](j,)}(h)``ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR``h]h)}(hjh]h%ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+h{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1960: ./include/uapi/linux/ethtool_netlink_generated.hhKVhjubjF)}(hhh]h)}(h;PSE faced an error managing the power control from softwareh]h;PSE faced an error managing the power control from software}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKVhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhKVhjVubeh}(h]h ]h"]h$]h&]uh1j hj:ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h]pse-ntfah ]h"]pse_ntfah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_GETh]hRSS_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hGet indirection table, hash key and hash function info associated with a RSS context of an interface similar to ``ETHTOOL_GRSSH`` ioctl request.h](hpGet indirection table, hash key and hash function info associated with a RSS context of an interface similar to }(hjhhhNhNubh)}(h``ETHTOOL_GRSSH``h]h ETHTOOL_GRSSH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjBubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjBubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjBubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjnh]hETHTOOL_A_RSS_HEADER}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_START_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_START_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hstart context number (dumps)h]hstart context number (dumps)}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]colsKuh1jhj?ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hX``ETHTOOL_A_RSS_CONTEXT`` specifies which RSS context number to query, if not set context 0 (the main context) is queried. Dumps can be filtered by device (only listing contexts of a given netdev). Filtering single context number is not supported but ``ETHTOOL_A_RSS_START_CONTEXT`` can be used to start dumping context from the given number (primarily used to ignore context 0s and only dump additional contexts).h](h)}(h``ETHTOOL_A_RSS_CONTEXT``h]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh specifies which RSS context number to query, if not set context 0 (the main context) is queried. Dumps can be filtered by device (only listing contexts of a given netdev). Filtering single context number is not supported but }(hj~hhhNhNubh)}(h``ETHTOOL_A_RSS_START_CONTEXT``h]hETHTOOL_A_RSS_START_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh can be used to start dumping context from the given number (primarily used to ignore context 0s and only dump additional contexts).}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjh]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hj@h]hETHTOOL_A_RSS_CONTEXT}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hu32h]hu32}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HFUNC``h]h)}(hjh]hETHTOOL_A_RSS_HFUNC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h RSS hash funch]h RSS hash func}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hjh]hETHTOOL_A_RSS_INDIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hjEh]hETHTOOL_A_RSS_HKEY}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hbinaryh]hbinary}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INPUT_XFRM``h]h)}(hjh]hETHTOOL_A_RSS_INPUT_XFRM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hRSS input data transformationh]hRSS input data transformation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_FLOW_HASH``h]h)}(hjh]hETHTOOL_A_RSS_FLOW_HASH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHeader fields included in hashh]hHeader fields included in hash}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hX8ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function being used. Current supported options are toeplitz, xor or crc32. ETHTOOL_A_RSS_INDIR attribute returns RSS indirection table where each byte indicates queue number. ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of transformation applied to the input protocol fields before given to the RSS hfunc. Current supported options are symmetric-xor and symmetric-or-xor. ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header fields are included in the hash calculation.h]hX8ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function being used. Current supported options are toeplitz, xor or crc32. ETHTOOL_A_RSS_INDIR attribute returns RSS indirection table where each byte indicates queue number. ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of transformation applied to the input protocol fields before given to the RSS hfunc. Current supported options are symmetric-xor and symmetric-or-xor. ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header fields are included in the hash calculation.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]rss-getah ]h"]rss_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_SETh]hRSS_SET}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhhhhhMubh)}(hRequest contents:h]hRequest contents:}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjh]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HFUNC``h]h)}(hjgh]hETHTOOL_A_RSS_HFUNC}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(h RSS hash funch]h RSS hash func}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hjh]hETHTOOL_A_RSS_INDIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hjh]hETHTOOL_A_RSS_HKEY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbinaryh]hbinary}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INPUT_XFRM``h]h)}(hjlh]hETHTOOL_A_RSS_INPUT_XFRM}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hRSS input data transformationh]hRSS input data transformation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_FLOW_HASH``h]h)}(hjh]hETHTOOL_A_RSS_FLOW_HASH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHeader fields included in hashh]hHeader fields included in hash}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjkhhhhhNubh)}(hX``ETHTOOL_A_RSS_INDIR`` is the minimal RSS table the user expects. Kernel and the device driver may replicate the table if its smaller than smallest table size supported by the device. For example if user requests ``[0, 1]`` but the device needs at least 8 entries - the real table in use will end up being ``[0, 1, 0, 1, 0, 1, 0, 1]``. Most devices require the table size to be power of 2, so tables which size is not a power of 2 will likely be rejected. Using table of size 0 will reset the indirection table to the default.h](h)}(h``ETHTOOL_A_RSS_INDIR``h]hETHTOOL_A_RSS_INDIR}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubh is the minimal RSS table the user expects. Kernel and the device driver may replicate the table if its smaller than smallest table size supported by the device. For example if user requests }(hj%hhhNhNubh)}(h ``[0, 1]``h]h[0, 1]}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubhS but the device needs at least 8 entries - the real table in use will end up being }(hj%hhhNhNubh)}(h``[0, 1, 0, 1, 0, 1, 0, 1]``h]h[0, 1, 0, 1, 0, 1, 0, 1]}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubh. Most devices require the table size to be power of 2, so tables which size is not a power of 2 will likely be rejected. Using table of size 0 will reset the indirection table to the default.}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjkhhubeh}(h]rss-setah ]h"]rss_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_CREATE_ACTh]hRSS_CREATE_ACT}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhhhhhMubh)}(hRequest contents:h]hRequest contents:}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjh]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HFUNC``h]h)}(hjih]hETHTOOL_A_RSS_HFUNC}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(h RSS hash funch]h RSS hash func}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hjh]hETHTOOL_A_RSS_INDIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hjh]hETHTOOL_A_RSS_HKEY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INPUT_XFRM``h]h)}(hjnh]hETHTOOL_A_RSS_INPUT_XFRM}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hRSS input data transformationh]hRSS input data transformation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjmhhhhhNubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hj h]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjdh]hETHTOOL_A_RSS_CONTEXT}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjmhhhhhNubh)}(hwCreate an additional RSS context, if ``ETHTOOL_A_RSS_CONTEXT`` is not specified kernel will allocate one automatically.h](h%Create an additional RSS context, if }(hjhhhNhNubh)}(h``ETHTOOL_A_RSS_CONTEXT``h]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh9 is not specified kernel will allocate one automatically.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjmhhubeh}(h]rss-create-actah ]h"]rss_create_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_DELETE_ACTh]hRSS_DELETE_ACT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hj<h]hETHTOOL_A_RSS_HEADER}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hnestedh]hnested}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h!Delete an additional RSS context.h]h!Delete an additional RSS context.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]rss-delete-actah ]h"]rss_delete_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PLCA_GET_CFGh]h PLCA_GET_CFG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(hxGets the IEEE 802.3cg-2019 Clause 148 Physical Layer Collision Avoidance (PLCA) Reconciliation Sublayer (RS) attributes.h]hxGets the IEEE 802.3cg-2019 Clause 148 Physical Layer Collision Avoidance (PLCA) Reconciliation Sublayer (RS) attributes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hRequest contents:h]hRequest contents:}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PLCA_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hjkh]hETHTOOL_A_PLCA_HEADER}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj`ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]colsKuh1jhj<ubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hX====================================== ====== ============================= ``ETHTOOL_A_PLCA_HEADER`` nested reply header ``ETHTOOL_A_PLCA_VERSION`` u16 Supported PLCA management interface standard/version ``ETHTOOL_A_PLCA_ENABLED`` u8 PLCA Admin State ``ETHTOOL_A_PLCA_NODE_ID`` u32 PLCA unique local node ID ``ETHTOOL_A_PLCA_NODE_CNT`` u32 Number of PLCA nodes on the network, including the coordinator ``ETHTOOL_A_PLCA_TO_TMR`` u32 Transmit Opportunity Timer value in bit-times (BT) ``ETHTOOL_A_PLCA_BURST_CNT`` u32 Number of additional packets the node is allowed to send within a single TO ``ETHTOOL_A_PLCA_BURST_TMR`` u32 Time to wait for the MAC to transmit a new frame before terminating the burst ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hjh]hETHTOOL_A_PLCA_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj/ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h reply headerh]h reply header}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_VERSION``h]h)}(hjkh]hETHTOOL_A_PLCA_VERSION}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1hhhhM!hjfubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(h4Supported PLCA management interface standard/versionh]h4Supported PLCA management interface standard/version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_ENABLED``h]h)}(hjh]hETHTOOL_A_PLCA_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hjh]hETHTOOL_A_PLCA_NODE_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM$hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjKubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]h)}(hjph]hETHTOOL_A_PLCA_NODE_CNT}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnubah}(h]h ]h"]h$]h&]uh1hhhhM%hjkubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(h>Number of PLCA nodes on the network, including the coordinatorh]h>Number of PLCA nodes on the network, including the coordinator}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_TO_TMR``h]h)}(hjh]hETHTOOL_A_PLCA_TO_TMR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h2Transmit Opportunity Timer value in bit-times (BT)h]h2Transmit Opportunity Timer value in bit-times (BT)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hjh]hETHTOOL_A_PLCA_BURST_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM*hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hKNumber of additional packets the node is allowed to send within a single TOh]hKNumber of additional packets the node is allowed to send within a single TO}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjPubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]h)}(hjuh]hETHTOOL_A_PLCA_BURST_TMR}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhM-hjpubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hMTime to wait for the MAC to transmit a new frame before terminating the bursth]hMTime to wait for the MAC to transmit a new frame before terminating the burst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(hXWhen set, the optional ``ETHTOOL_A_PLCA_VERSION`` attribute indicates which standard and version the PLCA management interface complies to. When not set, the interface is vendor-specific and (possibly) supplied by the driver. The OPEN Alliance SIG specifies a standard register map for 10BASE-T1S PHYs embedding the PLCA Reconciliation Sublayer. See "10BASE-T1S PLCA Management Registers" at https://www.opensig.org/about/specifications/.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_VERSION``h]hETHTOOL_A_PLCA_VERSION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhX[ attribute indicates which standard and version the PLCA management interface complies to. When not set, the interface is vendor-specific and (possibly) supplied by the driver. The OPEN Alliance SIG specifies a standard register map for 10BASE-T1S PHYs embedding the PLCA Reconciliation Sublayer. See “10BASE-T1S PLCA Management Registers” at }(hjhhhNhNubj})}(h-https://www.opensig.org/about/specifications/h]h-https://www.opensig.org/about/specifications/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j}hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hj hhubh)}(hXWhen set, the optional ``ETHTOOL_A_PLCA_ENABLED`` attribute indicates the administrative state of the PLCA RS. When not set, the node operates in "plain" CSMA/CD mode. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.1 aPLCAAdminState / 30.16.1.2.1 acPLCAAdminControl.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_ENABLED``h]hETHTOOL_A_PLCA_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute indicates the administrative state of the PLCA RS. When not set, the node operates in “plain” CSMA/CD mode. This option is corresponding to }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh> 30.16.1.1.1 aPLCAAdminState / 30.16.1.2.1 acPLCAAdminControl.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM9hj hhubh)}(hXsWhen set, the optional ``ETHTOOL_A_PLCA_NODE_ID`` attribute indicates the configured local node ID of the PHY. This ID determines which transmit opportunity (TO) is reserved for the node to transmit into. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.4 aPLCALocalNodeID. The valid range for this attribute is [0 .. 255] where 255 means "not configured".h](hWhen set, the optional }(hjBhhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_ID``h]hETHTOOL_A_PLCA_NODE_ID}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh attribute indicates the configured local node ID of the PHY. This ID determines which transmit opportunity (TO) is reserved for the node to transmit into. This option is corresponding to }(hjBhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubhu 30.16.1.1.4 aPLCALocalNodeID. The valid range for this attribute is [0 .. 255] where 255 means “not configured”.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM>hj hhubh)}(hXWhen set, the optional ``ETHTOOL_A_PLCA_NODE_CNT`` attribute indicates the configured maximum number of PLCA nodes on the mixing-segment. This number determines the total number of transmit opportunities generated during a PLCA cycle. This attribute is relevant only for the PLCA coordinator, which is the node with aPLCALocalNodeID set to 0. Follower nodes ignore this setting. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.3 aPLCANodeCount. The valid range for this attribute is [1 .. 255].h](hWhen set, the optional }(hjthhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]hETHTOOL_A_PLCA_NODE_CNT}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubhXi attribute indicates the configured maximum number of PLCA nodes on the mixing-segment. This number determines the total number of transmit opportunities generated during a PLCA cycle. This attribute is relevant only for the PLCA coordinator, which is the node with aPLCALocalNodeID set to 0. Follower nodes ignore this setting. This option is corresponding to }(hjthhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubhN 30.16.1.1.3 aPLCANodeCount. The valid range for this attribute is [1 .. 255].}(hjthhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMDhj hhubh)}(hXyWhen set, the optional ``ETHTOOL_A_PLCA_TO_TMR`` attribute indicates the configured value of the transmit opportunity timer in bit-times. This value must be set equal across all nodes sharing the medium for PLCA to work correctly. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.5 aPLCATransmitOpportunityTimer. The valid range for this attribute is [0 .. 255].h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_TO_TMR``h]hETHTOOL_A_PLCA_TO_TMR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute indicates the configured value of the transmit opportunity timer in bit-times. This value must be set equal across all nodes sharing the medium for PLCA to work correctly. This option is corresponding to }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh] 30.16.1.1.5 aPLCATransmitOpportunityTimer. The valid range for this attribute is [0 .. 255].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhj hhubh)}(hXWhen set, the optional ``ETHTOOL_A_PLCA_BURST_CNT`` attribute indicates the configured number of extra packets that the node is allowed to send during a single transmit opportunity. By default, this attribute is 0, meaning that the node can only send a single frame per TO. When greater than 0, the PLCA RS keeps the TO after any transmission, waiting for the MAC to send a new frame for up to aPLCABurstTimer BTs. This can only happen a number of times per PLCA cycle up to the value of this parameter. After that, the burst is over and the normal counting of TOs resumes. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.6 aPLCAMaxBurstCount. The valid range for this attribute is [0 .. 255].h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]hETHTOOL_A_PLCA_BURST_CNT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhX+ attribute indicates the configured number of extra packets that the node is allowed to send during a single transmit opportunity. By default, this attribute is 0, meaning that the node can only send a single frame per TO. When greater than 0, the PLCA RS keeps the TO after any transmission, waiting for the MAC to send a new frame for up to aPLCABurstTimer BTs. This can only happen a number of times per PLCA cycle up to the value of this parameter. After that, the burst is over and the normal counting of TOs resumes. This option is corresponding to }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhR 30.16.1.1.6 aPLCAMaxBurstCount. The valid range for this attribute is [0 .. 255].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMShj hhubh)}(hXWhen set, the optional ``ETHTOOL_A_PLCA_BURST_TMR`` attribute indicates how many bit-times the PLCA RS waits for the MAC to initiate a new transmission when aPLCAMaxBurstCount is greater than 0. If the MAC fails to send a new frame within this time, the burst ends and the counting of TOs resumes. Otherwise, the new frame is sent as part of the current burst. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.7 aPLCABurstTimer. The valid range for this attribute is [0 .. 255]. Although, the value should be set greater than the Inter-Frame-Gap (IFG) time of the MAC (plus some margin) for PLCA burst mode to work as intended.h](hWhen set, the optional }(hj hhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]hETHTOOL_A_PLCA_BURST_TMR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubhXV attribute indicates how many bit-times the PLCA RS waits for the MAC to initiate a new transmission when aPLCAMaxBurstCount is greater than 0. If the MAC fails to send a new frame within this time, the burst ends and the counting of TOs resumes. Otherwise, the new frame is sent as part of the current burst. This option is corresponding to }(hj hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh 30.16.1.1.7 aPLCABurstTimer. The valid range for this attribute is [0 .. 255]. Although, the value should be set greater than the Inter-Frame-Gap (IFG) time of the MAC (plus some margin) for PLCA burst mode to work as intended.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM^hj hhubeh}(h] plca-get-cfgah ]h"] plca_get_cfgah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PLCA_SET_CFGh]h PLCA_SET_CFG}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhhhhhMiubh)}(hSets PLCA RS parameters.h]hSets PLCA RS parameters.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjDhhubh)}(hRequest contents:h]hRequest contents:}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjDhhubj)}(hX====================================== ====== ============================= ``ETHTOOL_A_PLCA_HEADER`` nested request header ``ETHTOOL_A_PLCA_ENABLED`` u8 PLCA Admin State ``ETHTOOL_A_PLCA_NODE_ID`` u8 PLCA unique local node ID ``ETHTOOL_A_PLCA_NODE_CNT`` u8 Number of PLCA nodes on the network, including the coordinator ``ETHTOOL_A_PLCA_TO_TMR`` u8 Transmit Opportunity Timer value in bit-times (BT) ``ETHTOOL_A_PLCA_BURST_CNT`` u8 Number of additional packets the node is allowed to send within a single TO ``ETHTOOL_A_PLCA_BURST_TMR`` u8 Time to wait for the MAC to transmit a new frame before terminating the burst ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjxubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjxubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjxubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hjh]hETHTOOL_A_PLCA_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_ENABLED``h]h)}(hjh]hETHTOOL_A_PLCA_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj- ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hjR h]hETHTOOL_A_PLCA_NODE_ID}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP ubah}(h]h ]h"]h$]h&]uh1hhhhMrhjM ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]h)}(hu8h]hu8}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjm ubah}(h]h ]h"]h$]h&]uh1jhjJ ubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj ubah}(h]h ]h"]h$]h&]uh1jhjJ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]h)}(hj h]hETHTOOL_A_PLCA_NODE_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMshj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h>Number of PLCA nodes on the network, including the coordinatorh]h>Number of PLCA nodes on the network, including the coordinator}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_TO_TMR``h]h)}(hj h]hETHTOOL_A_PLCA_TO_TMR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMvhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h2Transmit Opportunity Timer value in bit-times (BT)h]h2Transmit Opportunity Timer value in bit-times (BT)}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj2 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hjW h]hETHTOOL_A_PLCA_BURST_CNT}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjU ubah}(h]h ]h"]h$]h&]uh1hhhhMxhjR ubah}(h]h ]h"]h$]h&]uh1jhjO ubj)}(hhh]h)}(hu8h]hu8}(hju hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjr ubah}(h]h ]h"]h$]h&]uh1jhjO ubj)}(hhh]h)}(hKNumber of additional packets the node is allowed to send within a single TOh]hKNumber of additional packets the node is allowed to send within a single TO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj ubah}(h]h ]h"]h$]h&]uh1jhjO ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]h)}(hj h]hETHTOOL_A_PLCA_BURST_TMR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhM{hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hMTime to wait for the MAC to transmit a new frame before terminating the bursth]hMTime to wait for the MAC to transmit a new frame before terminating the burst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]colsKuh1jhjuubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1jhhhMohjDhhubh)}(h:For a description of each attribute, see ``PLCA_GET_CFG``.h](h)For a description of each attribute, see }(hj hhhNhNubh)}(h``PLCA_GET_CFG``h]h PLCA_GET_CFG}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjDhhubeh}(h] plca-set-cfgah ]h"] plca_set_cfgah$]h&]uh1hhhhhhhhMiubh)}(hhh](h)}(hPLCA_GET_STATUSh]hPLCA_GET_STATUS}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj> hhhhhMubh)}(h Gets PLCA RS status information.h]h Gets PLCA RS status information.}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj> hhubh)}(hRequest contents:h]hRequest contents:}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj> hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PLCA_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjr ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjr ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjr ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hj h]hETHTOOL_A_PLCA_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjr ubeh}(h]h ]h"]h$]h&]colsKuh1jhjo ubah}(h]h ]h"]h$]h&]uh1jhjk ubah}(h]h ]h"]h$]h&]uh1jhhhMhj> hhubh)}(hKernel response contents:h]hKernel response contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj> hhubj)}(hX$====================================== ====== ============================= ``ETHTOOL_A_PLCA_HEADER`` nested reply header ``ETHTOOL_A_PLCA_STATUS`` u8 PLCA RS operational status ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hjG h]hETHTOOL_A_PLCA_HEADER}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjE ubah}(h]h ]h"]h$]h&]uh1hhhhMhjB ubah}(h]h ]h"]h$]h&]uh1jhj? ubj)}(hhh]h)}(hnestedh]hnested}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjb ubah}(h]h ]h"]h$]h&]uh1jhj? ubj)}(hhh]h)}(h reply headerh]h reply header}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjy ubah}(h]h ]h"]h$]h&]uh1jhj? ubeh}(h]h ]h"]h$]h&]uh1jhj< ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_STATUS``h]h)}(hj h]hETHTOOL_A_PLCA_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hPLCA RS operational statush]hPLCA RS operational status}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj< ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhj> hhubh)}(hWhen set, the ``ETHTOOL_A_PLCA_STATUS`` attribute indicates whether the node is detecting the presence of the BEACON on the network. This flag is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.2 aPLCAStatus.h](hWhen set, the }(hj hhhNhNubh)}(h``ETHTOOL_A_PLCA_STATUS``h]hETHTOOL_A_PLCA_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh| attribute indicates whether the node is detecting the presence of the BEACON on the network. This flag is corresponding to }(hj hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh 30.16.1.1.2 aPLCAStatus.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj> hhubeh}(h]plca-get-statusah ]h"]plca_get_statusah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_GETh]hMM_GET}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ hhhhhMubh)}(h$Retrieve 802.3 MAC Merge parameters.h]h$Retrieve 802.3 MAC Merge parameters.}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubh)}(hRequest contents:h]hRequest contents:}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_MM_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjt ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjt ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjt ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_HEADER``h]h)}(hj h]hETHTOOL_A_MM_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjt ubeh}(h]h ]h"]h$]h&]colsKuh1jhjq ubah}(h]h ]h"]h$]h&]uh1jhjm ubah}(h]h ]h"]h$]h&]uh1jhhhMhj@ hhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubj)}(hXF================================= ====== =================================== ``ETHTOOL_A_MM_HEADER`` nested request header ``ETHTOOL_A_MM_PMAC_ENABLED`` bool set if RX of preemptible and SMD-V frames is enabled ``ETHTOOL_A_MM_TX_ENABLED`` bool set if TX of preemptible frames is administratively enabled (might be inactive if verification failed) ``ETHTOOL_A_MM_TX_ACTIVE`` bool set if TX of preemptible frames is operationally enabled ``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE`` u32 minimum size of transmitted non-final fragments, in octets ``ETHTOOL_A_MM_RX_MIN_FRAG_SIZE`` u32 minimum size of received non-final fragments, in octets ``ETHTOOL_A_MM_VERIFY_ENABLED`` bool set if TX of SMD-V frames is administratively enabled ``ETHTOOL_A_MM_VERIFY_STATUS`` u8 state of the verification function ``ETHTOOL_A_MM_VERIFY_TIME`` u32 delay between verification attempts ``ETHTOOL_A_MM_MAX_VERIFY_TIME``` u32 maximum verification interval supported by device ``ETHTOOL_A_MM_STATS`` nested IEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics counters ================================= ====== =================================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_HEADER``h]h)}(hjIh]hETHTOOL_A_MM_HEADER}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hnestedh]hnested}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_PMAC_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_PMAC_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4set if RX of preemptible and SMD-V frames is enabledh]h4set if RX of preemptible and SMD-V frames is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_TX_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hfset if TX of preemptible frames is administratively enabled (might be inactive if verification failed)h]hfset if TX of preemptible frames is administratively enabled (might be inactive if verification failed)}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ACTIVE``h]h)}(hjNh]hETHTOOL_A_MM_TX_ACTIVE}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hboolh]hbool}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h8set if TX of preemptible frames is operationally enabledh]h8set if TX of preemptible frames is operationally enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE``h]h)}(hjh]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h:minimum size of transmitted non-final fragments, in octetsh]h:minimum size of transmitted non-final fragments, in octets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_RX_MIN_FRAG_SIZE``h]h)}(hjh]hETHTOOL_A_MM_RX_MIN_FRAG_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h7minimum size of received non-final fragments, in octetsh]h7minimum size of received non-final fragments, in octets}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_ENABLED``h]h)}(hjSh]hETHTOOL_A_MM_VERIFY_ENABLED}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hboolh]hbool}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h5set if TX of SMD-V frames is administratively enabledh]h5set if TX of SMD-V frames is administratively enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h"state of the verification functionh]h"state of the verification function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_TIME``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_TIME}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#delay between verification attemptsh]h#delay between verification attempts}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_MAX_VERIFY_TIME```h]h)}(hjXh]hETHTOOL_A_MM_MAX_VERIFY_TIME`}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h1maximum verification interval supported by deviceh]h1maximum verification interval supported by device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_STATS``h]h)}(hjh]hETHTOOL_A_MM_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEIEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics countersh]hEIEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics counters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj@ hhubh)}(hRThe attributes are populated by the device driver through the following structure:h]hRThe attributes are populated by the device driver through the following structure:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jlethtool_mm_state (C struct)c.ethtool_mm_statehNtauh1j_hj@ hhhNhNubjq)}(hhh](jv)}(hethtool_mm_stateh]j|)}(hstruct ethtool_mm_stateh](j)}(hjyh]hstruct}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:hhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhKubj)}(h h]h }(hjLhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:hhhjKhKubj)}(hethtool_mm_stateh]j)}(hj8h]hethtool_mm_state}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjZubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhj:hhhjKhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hj6hhhjKhKubah}(h]j1ah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjKhKhj3hhubjي)}(hhh]h)}(h802.3 MAC merge layer stateh]h802.3 MAC merge layer state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhj}hhubah}(h]h ]h"]h$]h&]uh1j؊hj3hhhjKhKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1jphhhj@ hNhNubj)}(hX**Definition**:: struct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; }; **Members** ``verify_time`` wait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime) ``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests ``verify_status`` state of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify) ``tx_enabled`` set if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx) ``tx_active`` set if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled. ``pmac_enabled`` set if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames. ``verify_enabled`` set if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as **pmac_enabled** is set. ``tx_min_frag_size`` the minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here. ``rx_min_frag_size`` the minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h](h)}(h**Definition**::h](j )}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubj)}(hXstruct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; };h]hXstruct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; };}hjsbah}(h]h ]h"]h$]h&]jŠjÊuh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]j )}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubj!)}(hhh](j&)}(hr``verify_time`` wait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime) h](j,)}(h``verify_time``h]h)}(hjh]h verify_time}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hawait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime)h]hawait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h\``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests h](j,)}(h``max_verify_time``h]h)}(hj'h]hmax_verify_time}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhj!ubjF)}(hhh]h)}(hGmaximum accepted value for the **verify_time** variable in set requestsh](hmaximum accepted value for the }(hj@hhhNhNubj )}(h**verify_time**h]h verify_time}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj@ubh variable in set requests}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj<hMhj=ubah}(h]h ]h"]h$]h&]uh1jEhj!ubeh}(h]h ]h"]h$]h&]uh1j%hj<hMhjubj&)}(h``verify_status`` state of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify) h](j,)}(h``verify_status``h]h)}(hjrh]h verify_status}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjlubjF)}(hhh]h)}(hmstate of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify)h]hmstate of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjlubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``tx_enabled`` set if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx) h](j,)}(h``tx_enabled``h]h)}(hjh]h tx_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(huset if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx)h]huset if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``tx_active`` set if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled. h](j,)}(h ``tx_active``h]h)}(hjh]h tx_active}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hset if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled.h]hset if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h``pmac_enabled`` set if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames. h](j,)}(h``pmac_enabled``h]h)}(hj h]h pmac_enabled}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hwset if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames.h]hwset if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhj6ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj5hMhjubj&)}(hX``verify_enabled`` set if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as **pmac_enabled** is set. h](j,)}(h``verify_enabled``h]h)}(hjZh]hverify_enabled}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjTubjF)}(hhh]h)}(hXset if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as **pmac_enabled** is set.h](hXset if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as }(hjshhhNhNubj )}(h**pmac_enabled**h]h pmac_enabled}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjsubh is set.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjpubah}(h]h ]h"]h$]h&]uh1jEhjTubeh}(h]h ]h"]h$]h&]uh1j%hjohMhjubj&)}(hX``tx_min_frag_size`` the minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here. h](j,)}(h``tx_min_frag_size``h]h)}(hjh]htx_min_frag_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hXthe minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here.h]hXthe minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h~``rx_min_frag_size`` the minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h](j,)}(h``rx_min_frag_size``h]h)}(hjh]hrx_min_frag_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2239: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hithe minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h]hithe minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj@ hhhNhNubh)}(hEThe ``ETHTOOL_A_MM_VERIFY_STATUS`` will report one of the values fromh](hThe }(hj hhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]hETHTOOL_A_MM_VERIFY_STATUS}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh# will report one of the values from}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl!ethtool_mm_verify_status (C enum)c.ethtool_mm_verify_statushNtauh1j_hj@ hhhNhNubjq)}(hhh](jv)}(hethtool_mm_verify_statush]j|)}(henum ethtool_mm_verify_statush](j)}(hjh]henum}(hjYhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjghhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUhhhjfhKubj)}(hethtool_mm_verify_statush]j)}(hjSh]hethtool_mm_verify_status}(hjyhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjuubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjUhhhjfhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjQhhhjfhKubah}(h]jLah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjfhKhjNhhubjي)}(hhh]h)}(h#status of MAC Merge Verify functionh]h#status of MAC Merge Verify function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjNhhhjfhKubeh}(h]h ](jenumeh"]h$]h&]jjjjjjjjjuh1jphhhj@ hNhNubj)}(hXg**Constants** ``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN`` verification status is unknown ``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` the 802.3 Verify State diagram is in the state INIT_VERIFICATION ``ETHTOOL_MM_VERIFY_STATUS_VERIFYING`` the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE ``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED`` indicates that the Verify State diagram is in the state VERIFIED ``ETHTOOL_MM_VERIFY_STATUS_FAILED`` the Verify State diagram is in the state VERIFY_FAIL ``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](h)}(h **Constants**h]j )}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhMhjubj!)}(hhh](j&)}(hD``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN`` verification status is unknown h](j,)}(h$``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN``h]h)}(hjh]h ETHTOOL_MM_VERIFY_STATUS_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM"hjubjF)}(hhh]h)}(hverification status is unknownh]hverification status is unknown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM"hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM"hjubj&)}(hf``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` the 802.3 Verify State diagram is in the state INIT_VERIFICATION h](j,)}(h$``ETHTOOL_MM_VERIFY_STATUS_INITIAL``h]h)}(hjh]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM%hjubjF)}(hhh]h)}(h@the 802.3 Verify State diagram is in the state INIT_VERIFICATIONh]h@the 802.3 Verify State diagram is in the state INIT_VERIFICATION}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hM%hj+ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj*hM%hjubj&)}(h``ETHTOOL_MM_VERIFY_STATUS_VERIFYING`` the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE h](j,)}(h&``ETHTOOL_MM_VERIFY_STATUS_VERIFYING``h]h)}(hjNh]h"ETHTOOL_MM_VERIFY_STATUS_VERIFYING}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM)hjHubjF)}(hhh]h)}(h\the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSEh]h\the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM(hjdubah}(h]h ]h"]h$]h&]uh1jEhjHubeh}(h]h ]h"]h$]h&]uh1j%hjchM)hjubj&)}(hh``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED`` indicates that the Verify State diagram is in the state VERIFIED h](j,)}(h&``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED``h]h)}(hjh]h"ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM,hjubjF)}(hhh]h)}(h@indicates that the Verify State diagram is in the state VERIFIEDh]h@indicates that the Verify State diagram is in the state VERIFIED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM,hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM,hjubj&)}(hY``ETHTOOL_MM_VERIFY_STATUS_FAILED`` the Verify State diagram is in the state VERIFY_FAIL h](j,)}(h#``ETHTOOL_MM_VERIFY_STATUS_FAILED``h]h)}(hjh]hETHTOOL_MM_VERIFY_STATUS_FAILED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM/hjubjF)}(hhh]h)}(h4the Verify State diagram is in the state VERIFY_FAILh]h4the Verify State diagram is in the state VERIFY_FAIL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM/hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM/hjubj&)}(hV``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](j,)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h)}(hjh]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM1hjubjF)}(hhh]h)}(h0verification of preemption operation is disabledh]h0verification of preemption operation is disabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2244: ./include/uapi/linux/ethtool.hhM2hjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhM1hjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj@ hhhNhNubh)}(hXIf ``ETHTOOL_A_MM_VERIFY_ENABLED`` was passed as false in the ``MM_SET`` command, ``ETHTOOL_A_MM_VERIFY_STATUS`` will report either ``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` or ``ETHTOOL_MM_VERIFY_STATUS_DISABLED``, otherwise it should report one of the other states.h](hIf }(hj;hhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_ENABLED``h]hETHTOOL_A_MM_VERIFY_ENABLED}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh was passed as false in the }(hj;hhhNhNubh)}(h ``MM_SET``h]hMM_SET}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh command, }(hj;hhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]hETHTOOL_A_MM_VERIFY_STATUS}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh will report either }(hj;hhhNhNubh)}(h$``ETHTOOL_MM_VERIFY_STATUS_INITIAL``h]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh or }(hj;hhhNhNubh)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh5, otherwise it should report one of the other states.}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubh)}(hIt is recommended that drivers start with the pMAC disabled, and enable it upon user space request. It is also recommended that user space does not depend upon the default values from ``ETHTOOL_MSG_MM_GET`` requests.h](hIt is recommended that drivers start with the pMAC disabled, and enable it upon user space request. It is also recommended that user space does not depend upon the default values from }(hjhhhNhNubh)}(h``ETHTOOL_MSG_MM_GET``h]hETHTOOL_MSG_MM_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh requests.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubh)}(h``ETHTOOL_A_MM_STATS`` are reported if ``ETHTOOL_FLAG_STATS`` was set in ``ETHTOOL_A_HEADER_FLAGS``. The attribute will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:h](h)}(h``ETHTOOL_A_MM_STATS``h]hETHTOOL_A_MM_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh are reported if }(hjhhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh was set in }(hjhhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh. The attribute will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj@ hhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jlethtool_mm_stats (C struct)c.ethtool_mm_statshNtauh1j_hj@ hhhNhNubjq)}(hhh](jv)}(hethtool_mm_statsh]j|)}(hstruct ethtool_mm_statsh](j)}(hjyh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhKubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj)hKubj)}(hethtool_mm_statsh]j)}(hjh]hethtool_mm_stats}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjhhhj)hKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjhhhj)hKubah}(h]jah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhj)hKhjhhubjي)}(hhh]h)}(h 802.3 MAC merge layer statisticsh]h 802.3 MAC merge layer statistics}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhj[hhubah}(h]h ]h"]h$]h&]uh1j؊hjhhhj)hKubeh}(h]h ](jstructeh"]h$]h&]jjjjvjjvjjjuh1jphhhj@ hNhNubj)}(hXV**Definition**:: struct ethtool_mm_stats { u64 MACMergeFrameAssErrorCount; u64 MACMergeFrameSmdErrorCount; u64 MACMergeFrameAssOkCount; u64 MACMergeFragCountRx; u64 MACMergeFragCountTx; u64 MACMergeHoldCount; }; **Members** ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors ``MACMergeFrameSmdErrorCount`` received MAC frames/fragments rejected due to unknown or incorrect SMD ``MACMergeFrameAssOkCount`` received MAC frames that were successfully reassembled and passed up ``MACMergeFragCountRx`` number of additional correct SMD-C mPackets received due to preemption ``MACMergeFragCountTx`` number of additional mPackets sent due to preemption ``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](h)}(h**Definition**::h](j )}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj~ubh:}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjzubj)}(hstruct ethtool_mm_stats { u64 MACMergeFrameAssErrorCount; u64 MACMergeFrameSmdErrorCount; u64 MACMergeFrameAssOkCount; u64 MACMergeFragCountRx; u64 MACMergeFragCountTx; u64 MACMergeHoldCount; };h]hstruct ethtool_mm_stats { u64 MACMergeFrameAssErrorCount; u64 MACMergeFrameSmdErrorCount; u64 MACMergeFrameAssOkCount; u64 MACMergeFragCountRx; u64 MACMergeFragCountTx; u64 MACMergeHoldCount; };}hjsbah}(h]h ]h"]h$]h&]jŠjÊuh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjzubh)}(h **Members**h]j )}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjzubj!)}(hhh](j&)}(hJ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors h](j,)}(h``MACMergeFrameAssErrorCount``h]h)}(hjh]hMACMergeFrameAssErrorCount}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(h*received MAC frames with reassembly errorsh]h*received MAC frames with reassembly errors}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hf``MACMergeFrameSmdErrorCount`` received MAC frames/fragments rejected due to unknown or incorrect SMD h](j,)}(h``MACMergeFrameSmdErrorCount``h]h)}(hjh]hMACMergeFrameSmdErrorCount}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hFreceived MAC frames/fragments rejected due to unknown or incorrect SMDh]hFreceived MAC frames/fragments rejected due to unknown or incorrect SMD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(ha``MACMergeFrameAssOkCount`` received MAC frames that were successfully reassembled and passed up h](j,)}(h``MACMergeFrameAssOkCount``h]h)}(hj=h]hMACMergeFrameAssOkCount}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhj7ubjF)}(hhh]h)}(hDreceived MAC frames that were successfully reassembled and passed uph]hDreceived MAC frames that were successfully reassembled and passed up}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhMhjSubah}(h]h ]h"]h$]h&]uh1jEhj7ubeh}(h]h ]h"]h$]h&]uh1j%hjRhMhjubj&)}(h_``MACMergeFragCountRx`` number of additional correct SMD-C mPackets received due to preemption h](j,)}(h``MACMergeFragCountRx``h]h)}(hjvh]hMACMergeFragCountRx}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjpubjF)}(hhh]h)}(hFnumber of additional correct SMD-C mPackets received due to preemptionh]hFnumber of additional correct SMD-C mPackets received due to preemption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjpubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(hM``MACMergeFragCountTx`` number of additional mPackets sent due to preemption h](j,)}(h``MACMergeFragCountTx``h]h)}(hjh]hMACMergeFragCountTx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(h4number of additional mPackets sent due to preemptionh]h4number of additional mPackets sent due to preemption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubj&)}(h{``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](j,)}(h``MACMergeHoldCount``h]h)}(hjh]hMACMergeHoldCount}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2261: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(henumber of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich]henumber of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffic}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhjubeh}(h]h ]h"]h$]h&]uh1j hjzubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj@ hhhNhNubeh}(h]mm-getah ]h"]mm_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_SETh]hMM_SET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hhhhhMubh)}(h8Modifies the configuration of the 802.3 MAC Merge layer.h]h8Modifies the configuration of the 802.3 MAC Merge layer.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0hhubh)}(hRequest contents:h]hRequest contents:}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0hhubj)}(hX================================= ====== ========================== ``ETHTOOL_A_MM_VERIFY_TIME`` u32 see MM_GET description ``ETHTOOL_A_MM_VERIFY_ENABLED`` bool see MM_GET description ``ETHTOOL_A_MM_TX_ENABLED`` bool see MM_GET description ``ETHTOOL_A_MM_PMAC_ENABLED`` bool see MM_GET description ``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE`` u32 see MM_GET description ================================= ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjdubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjdubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjdubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_TIME``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_TIME}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hj>h]hETHTOOL_A_MM_TX_ENABLED}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hboolh]hbool}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_PMAC_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_PMAC_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE``h]h)}(hjh]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]colsKuh1jhjaubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhhhMhj0hhubh)}(hLThe attributes are propagated to the driver through the following structure:h]hLThe attributes are propagated to the driver through the following structure:}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0hhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jlethtool_mm_cfg (C struct)c.ethtool_mm_cfghNtauh1j_hj0hhhNhNubjq)}(hhh](jv)}(hethtool_mm_cfgh]j|)}(hstruct ethtool_mm_cfgh](j)}(hjyh]hstruct}(hj{hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwhhhjhKubj)}(hethtool_mm_cfgh]j)}(hjuh]hethtool_mm_cfg}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjwhhhjhKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjshhhjhKubah}(h]jnah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhjhKhjphhubjي)}(hhh]h)}(h#802.3 MAC merge layer configurationh]h#802.3 MAC merge layer configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1j؊hjphhhjhKubeh}(h]h ](jstructeh"]h$]h&]jjjjjjjjjuh1jphhhj0hNhNubj)}(hX**Definition**:: struct ethtool_mm_cfg { u32 verify_time; bool verify_enabled; bool tx_enabled; bool pmac_enabled; u32 tx_min_frag_size; }; **Members** ``verify_time`` see struct ethtool_mm_state ``verify_enabled`` see struct ethtool_mm_state ``tx_enabled`` see struct ethtool_mm_state ``pmac_enabled`` see struct ethtool_mm_state ``tx_min_frag_size`` see struct ethtool_mm_stateh](h)}(h**Definition**::h](j )}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjubj)}(hstruct ethtool_mm_cfg { u32 verify_time; bool verify_enabled; bool tx_enabled; bool pmac_enabled; u32 tx_min_frag_size; };h]hstruct ethtool_mm_cfg { u32 verify_time; bool verify_enabled; bool tx_enabled; bool pmac_enabled; u32 tx_min_frag_size; };}hjsbah}(h]h ]h"]h$]h&]jŠjÊuh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]j )}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjubj!)}(hhh](j&)}(h,``verify_time`` see struct ethtool_mm_state h](j,)}(h``verify_time``h]h)}(hj*h]h verify_time}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhj$ubjF)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hMhj@ubah}(h]h ]h"]h$]h&]uh1jEhj$ubeh}(h]h ]h"]h$]h&]uh1j%hj?hMhj!ubj&)}(h/``verify_enabled`` see struct ethtool_mm_state h](j,)}(h``verify_enabled``h]h)}(hjch]hverify_enabled}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhj]ubjF)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhMhjyubah}(h]h ]h"]h$]h&]uh1jEhj]ubeh}(h]h ]h"]h$]h&]uh1j%hjxhMhj!ubj&)}(h+``tx_enabled`` see struct ethtool_mm_state h](j,)}(h``tx_enabled``h]h)}(hjh]h tx_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhj!ubj&)}(h-``pmac_enabled`` see struct ethtool_mm_state h](j,)}(h``pmac_enabled``h]h)}(hjh]h pmac_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hjhMhj!ubj&)}(h0``tx_min_frag_size`` see struct ethtool_mm_stateh](j,)}(h``tx_min_frag_size``h]h)}(hjh]htx_min_frag_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1j+hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhjubjF)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2281: ./include/linux/ethtool.hhMhj$ubah}(h]h ]h"]h$]h&]uh1jEhjubeh}(h]h ]h"]h$]h&]uh1j%hj#hMhj!ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj0hhhNhNubeh}(h]mm-setah ]h"]mm_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMODULE_FW_FLASH_ACTh]hMODULE_FW_FLASH_ACT}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhhhhhMubh)}(h$Flashes transceiver module firmware.h]h$Flashes transceiver module firmware.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWhhubh)}(hRequest contents:h]hRequest contents:}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWhhubj)}(hXq======================================= ====== =========================== ``ETHTOOL_A_MODULE_FW_FLASH_HEADER`` nested request header ``ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME`` string firmware image file name ``ETHTOOL_A_MODULE_FW_FLASH_PASSWORD`` u32 transceiver module password ======================================= ====== =========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_MODULE_FW_FLASH_HEADER``h]h)}(hjh]h ETHTOOL_A_MODULE_FW_FLASH_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME``h]h)}(hjh]h#ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hstringh]hstring}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hfirmware image file nameh]hfirmware image file name}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_FW_FLASH_PASSWORD``h]h)}(hjeh]h"ETHTOOL_A_MODULE_FW_FLASH_PASSWORD}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(htransceiver module passwordh]htransceiver module password}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjWhhubh)}(hphydev. User can also specify a PHY_INDEX, in which case the DO request returns information about that specific PHY.h]hRetrieve information about a given Ethernet PHY sitting on the link. The DO operation returns all available information about dev->phydev. User can also specify a PHY_INDEX, in which case the DO request returns information about that specific PHY.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2 hj$hhubh)}(hAs there can be more than one PHY, the DUMP operation can be used to list the PHYs present on a given interface, by passing an interface index or name in the dump request.h]hAs there can be more than one PHY, the DUMP operation can be used to list the PHYs present on a given interface, by passing an interface index or name in the dump request.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7 hj$hhubh)}(h7For more information, refer to :ref:`phy_link_topology`h](hFor more information, refer to }(hj$hhhNhNubh)}(h:ref:`phy_link_topology`h]hinline)}(hj$h]hphy_link_topology}(hj$hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j$hj$ubah}(h]h ]h"]h$]h&]refdocnetworking/ethtool-netlink refdomainj$reftyperef refexplicitrefwarn reftargetphy_link_topologyuh1hhhhM; hj$ubeh}(h]h ]h"]h$]h&]uh1hhhhM; hj$hhubh)}(hRequest contents:h]hRequest contents:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM= hj$hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PHY_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj%ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj%ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj%ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_HEADER``h]h)}(hjE%h]hETHTOOL_A_PHY_HEADER}(hjG%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC%ubah}(h]h ]h"]h$]h&]uh1hhhhM@ hj@%ubah}(h]h ]h"]h$]h&]uh1jhj=%ubj)}(hhh]h)}(hnestedh]hnested}(hjc%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@ hj`%ubah}(h]h ]h"]h$]h&]uh1jhj=%ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjz%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@ hjw%ubah}(h]h ]h"]h$]h&]uh1jhj=%ubeh}(h]h ]h"]h$]h&]uh1jhj:%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]colsKuh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhhhM? hj$hhubh)}(hKernel response contents:h]hKernel response contents:}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMC hj$hhubj)}(hX===================================== ====== =============================== ``ETHTOOL_A_PHY_HEADER`` nested request header ``ETHTOOL_A_PHY_INDEX`` u32 the phy's unique index, that can be used for phy-specific requests ``ETHTOOL_A_PHY_DRVNAME`` string the phy driver name ``ETHTOOL_A_PHY_NAME`` string the phy device name ``ETHTOOL_A_PHY_UPSTREAM_TYPE`` u32 the type of device this phy is connected to ``ETHTOOL_A_PHY_UPSTREAM_INDEX`` u32 the PHY index of the upstream PHY ``ETHTOOL_A_PHY_UPSTREAM_SFP_NAME`` string if this PHY is connected to its parent PHY through an SFP bus, the name of this sfp bus ``ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME`` string if the phy controls an sfp bus, the name of the sfp bus ===================================== ====== =============================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj%ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj%ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj%ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_HEADER``h]h)}(hj%h]hETHTOOL_A_PHY_HEADER}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhMF hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hnestedh]hnested}(hj &hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMF hj &ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj#&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMF hj &ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_INDEX``h]h)}(hjE&h]hETHTOOL_A_PHY_INDEX}(hjG&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC&ubah}(h]h ]h"]h$]h&]uh1hhhhMG hj@&ubah}(h]h ]h"]h$]h&]uh1jhj=&ubj)}(hhh]h)}(hu32h]hu32}(hjc&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMG hj`&ubah}(h]h ]h"]h$]h&]uh1jhj=&ubj)}(hhh]h)}(hBthe phy's unique index, that can be used for phy-specific requestsh]hDthe phy’s unique index, that can be used for phy-specific requests}(hjz&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMG hjw&ubah}(h]h ]h"]h$]h&]uh1jhj=&ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_DRVNAME``h]h)}(hj&h]hETHTOOL_A_PHY_DRVNAME}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1hhhhMJ hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hstringh]hstring}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJ hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hthe phy driver nameh]hthe phy driver name}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJ hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_NAME``h]h)}(hj&h]hETHTOOL_A_PHY_NAME}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1hhhhMK hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hstringh]hstring}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMK hj'ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hthe phy device nameh]hthe phy device name}(hj('hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMK hj%'ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_UPSTREAM_TYPE``h]h)}(hjJ'h]hETHTOOL_A_PHY_UPSTREAM_TYPE}(hjL'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjH'ubah}(h]h ]h"]h$]h&]uh1hhhhML hjE'ubah}(h]h ]h"]h$]h&]uh1jhjB'ubj)}(hhh]h)}(hu32h]hu32}(hjh'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhML hje'ubah}(h]h ]h"]h$]h&]uh1jhjB'ubj)}(hhh]h)}(h+the type of device this phy is connected toh]h+the type of device this phy is connected to}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhML hj|'ubah}(h]h ]h"]h$]h&]uh1jhjB'ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_PHY_UPSTREAM_INDEX``h]h)}(hj'h]hETHTOOL_A_PHY_UPSTREAM_INDEX}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1hhhhMN hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hu32h]hu32}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMN hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(h!the PHY index of the upstream PHYh]h!the PHY index of the upstream PHY}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMN hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_PHY_UPSTREAM_SFP_NAME``h]h)}(hj'h]hETHTOOL_A_PHY_UPSTREAM_SFP_NAME}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1hhhhMP hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hstringh]hstring}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMP hj(ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hWif this PHY is connected to its parent PHY through an SFP bus, the name of this sfp bush]hWif this PHY is connected to its parent PHY through an SFP bus, the name of this sfp bus}(hj-(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMP hj*(ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME``h]h)}(hjO(h]h!ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME}(hjQ(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM(ubah}(h]h ]h"]h$]h&]uh1hhhhMS hjJ(ubah}(h]h ]h"]h$]h&]uh1jhjG(ubj)}(hhh]h)}(hstringh]hstring}(hjm(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMS hjj(ubah}(h]h ]h"]h$]h&]uh1jhjG(ubj)}(hhh]h)}(h7if the phy controls an sfp bus, the name of the sfp bush]h7if the phy controls an sfp bus, the name of the sfp bus}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMS hj(ubah}(h]h ]h"]h$]h&]uh1jhjG(ubeh}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]colsKuh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhhhME hj$hhubh)}(hZWhen ``ETHTOOL_A_PHY_UPSTREAM_TYPE`` is PHY_UPSTREAM_PHY, the PHY's parent is another PHY.h](hWhen }(hj(hhhNhNubh)}(h``ETHTOOL_A_PHY_UPSTREAM_TYPE``h]hETHTOOL_A_PHY_UPSTREAM_TYPE}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubh8 is PHY_UPSTREAM_PHY, the PHY’s parent is another PHY.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMW hj$hhubeh}(h]phy-getah ]h"]phy_getah$]h&]uh1hhhhhhhhM0 ubh)}(hhh](h)}(h TSCONFIG_GETh]h TSCONFIG_GET}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hhhhhM[ ubh)}(h[Retrieves the information about the current hardware timestamping source and configuration.h]h[Retrieves the information about the current hardware timestamping source and configuration.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM] hj(hhubh)}(h@It is similar to the deprecated ``SIOCGHWTSTAMP`` ioctl request.h](h It is similar to the deprecated }(hj(hhhNhNubh)}(h``SIOCGHWTSTAMP``h]h SIOCGHWTSTAMP}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubh ioctl request.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM` hj(hhubh)}(hRequest contents:h]hRequest contents:}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMb hj(hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_TSCONFIG_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj3)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj3)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj3)ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_HEADER``h]h)}(hj_)h]hETHTOOL_A_TSCONFIG_HEADER}(hja)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj])ubah}(h]h ]h"]h$]h&]uh1hhhhMe hjZ)ubah}(h]h ]h"]h$]h&]uh1jhjW)ubj)}(hhh]h)}(hnestedh]hnested}(hj})hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMe hjz)ubah}(h]h ]h"]h$]h&]uh1jhjW)ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMe hj)ubah}(h]h ]h"]h$]h&]uh1jhjW)ubeh}(h]h ]h"]h$]h&]uh1jhjT)ubah}(h]h ]h"]h$]h&]uh1jhj3)ubeh}(h]h ]h"]h$]h&]colsKuh1jhj0)ubah}(h]h ]h"]h$]h&]uh1jhj,)ubah}(h]h ]h"]h$]h&]uh1jhhhMd hj(hhubh)}(hKernel response contents:h]hKernel response contents:}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMh hj(hhubj)}(hX======================================== ====== ============================ ``ETHTOOL_A_TSCONFIG_HEADER`` nested request header ``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER`` nested PTP hw clock provider ``ETHTOOL_A_TSCONFIG_TX_TYPES`` bitset hwtstamp Tx type ``ETHTOOL_A_TSCONFIG_RX_FILTERS`` bitset hwtstamp Rx filter ``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS`` u32 hwtstamp flags ======================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhj)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj)ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_HEADER``h]h)}(hj*h]hETHTOOL_A_TSCONFIG_HEADER}(hj *hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMk hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hnestedh]hnested}(hj&*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMk hj#*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj=*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMk hj:*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h)}(hj_*h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hja*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]*ubah}(h]h ]h"]h$]h&]uh1hhhhMl hjZ*ubah}(h]h ]h"]h$]h&]uh1jhjW*ubj)}(hhh]h)}(hnestedh]hnested}(hj}*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMl hjz*ubah}(h]h ]h"]h$]h&]uh1jhjW*ubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMl hj*ubah}(h]h ]h"]h$]h&]uh1jhjW*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]h)}(hj*h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMm hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hbitseth]hbitset}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMm hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hhwtstamp Tx typeh]hhwtstamp Tx type}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMm hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]h)}(hj +h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj +ubah}(h]h ]h"]h$]h&]uh1hhhhMn hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hbitseth]hbitset}(hj++hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMn hj(+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hhwtstamp Rx filterh]hhwtstamp Rx filter}(hjB+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMn hj?+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h)}(hjd+h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(hjf+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb+ubah}(h]h ]h"]h$]h&]uh1hhhhMo hj_+ubah}(h]h ]h"]h$]h&]uh1jhj\+ubj)}(hhh]h)}(hu32h]hu32}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMo hj+ubah}(h]h ]h"]h$]h&]uh1jhj\+ubj)}(hhh]h)}(hhwtstamp flagsh]hhwtstamp flags}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMo hj+ubah}(h]h ]h"]h$]h&]uh1jhj\+ubeh}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]colsKuh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhhhMj hj(hhubh)}(hXFWhen set the ``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER`` attribute identifies the source of the hw timestamping provider. It is composed by ``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX`` attribute which describe the index of the PTP device and ``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER`` which describe the qualifier of the timestamp.h](h When set the }(hj+hhhNhNubh)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubhT attribute identifies the source of the hw timestamping provider. It is composed by }(hj+hhhNhNubh)}(h(``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX``h]h$ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubh: attribute which describe the index of the PTP device and }(hj+hhhNhNubh)}(h,``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER``h]h(ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubh/ which describe the qualifier of the timestamp.}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMr hj(hhubh)}(hX<When set the ``ETHTOOL_A_TSCONFIG_TX_TYPES``, ``ETHTOOL_A_TSCONFIG_RX_FILTERS`` and the ``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS`` attributes identify the Tx type, the Rx filter and the flags configured for the current hw timestamping provider. The attributes are propagated to the driver through the following structure:h](h When set the }(hj,hhhNhNubh)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubh, }(hj,hhhNhNubh)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hj*,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubh and the }(hj,hhhNhNubh)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(hj<,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubh attributes identify the Tx type, the Rx filter and the flags configured for the current hw timestamping provider. The attributes are propagated to the driver through the following structure:}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMx hj(hhubj`)}(hhh]h}(h]h ]h"]h$]h&]entries](jl!kernel_hwtstamp_config (C struct)c.kernel_hwtstamp_confighNtauh1j_hj(hhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhNubjq)}(hhh](jv)}(hkernel_hwtstamp_configh]j|)}(hstruct kernel_hwtstamp_configh](j)}(hjyh]hstruct}(hjn,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj,hhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhKubj)}(h h]h }(hj|,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj,hhhj{,hKubj)}(hkernel_hwtstamp_configh]j)}(hjh,h]hkernel_hwtstamp_config}(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj,ubah}(h]h ](jjeh"]h$]h&]jŠjÊuh1jhjj,hhhj{,hKubeh}(h]h ]h"]h$]h&]jŠjÊjʊuh1j{jˊj̊hjf,hhhj{,hKubah}(h]j`,ah ](jЊjъeh"]h$]h&]jՊj֊)j׊huh1juhj{,hKhjc,hhubjي)}(hhh]h)}(h%Kernel copy of struct hwtstamp_configh]h%Kernel copy of struct hwtstamp_config}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK-hj,hhubah}(h]h ]h"]h$]h&]uh1j؊hjc,hhhj{,hKubeh}(h]h ](jstructeh"]h$]h&]jjjj,jj,jjjuh1jphhhj(hjb,hNubj)}(hX **Definition**:: struct kernel_hwtstamp_config { int flags; int tx_type; int rx_filter; struct ifreq *ifr; bool copied_to_user; enum hwtstamp_source source; enum hwtstamp_provider_qualifier qualifier; }; **Members** ``flags`` see struct hwtstamp_config ``tx_type`` see struct hwtstamp_config ``rx_filter`` see struct hwtstamp_config ``ifr`` pointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver ``copied_to_user`` request was passed to a legacy implementation which already copied the ioctl request back to user space ``source`` indication whether timestamps should come from the netdev or from an attached phylib PHY ``qualifier`` qualifier of the hwtstamp providerh](h)}(h**Definition**::h](j )}(h**Definition**h]h Definition}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj,ubh:}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK1hj,ubj)}(hstruct kernel_hwtstamp_config { int flags; int tx_type; int rx_filter; struct ifreq *ifr; bool copied_to_user; enum hwtstamp_source source; enum hwtstamp_provider_qualifier qualifier; };h]hstruct kernel_hwtstamp_config { int flags; int tx_type; int rx_filter; struct ifreq *ifr; bool copied_to_user; enum hwtstamp_source source; enum hwtstamp_provider_qualifier qualifier; };}hj,sbah}(h]h ]h"]h$]h&]jŠjÊuh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK3hj,ubh)}(h **Members**h]j )}(hj,h]hMembers}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj,ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK=hj,ubj!)}(hhh](j&)}(h%``flags`` see struct hwtstamp_config h](j,)}(h ``flags``h]h)}(hj-h]hflags}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK0hj-ubjF)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hj6-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2-hK0hj3-ubah}(h]h ]h"]h$]h&]uh1jEhj-ubeh}(h]h ]h"]h$]h&]uh1j%hj2-hK0hj-ubj&)}(h'``tx_type`` see struct hwtstamp_config h](j,)}(h ``tx_type``h]h)}(hjV-h]htx_type}(hjX-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT-ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK1hjP-ubjF)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hjo-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk-hK1hjl-ubah}(h]h ]h"]h$]h&]uh1jEhjP-ubeh}(h]h ]h"]h$]h&]uh1j%hjk-hK1hj-ubj&)}(h)``rx_filter`` see struct hwtstamp_config h](j,)}(h ``rx_filter``h]h)}(hj-h]h rx_filter}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK2hj-ubjF)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hK2hj-ubah}(h]h ]h"]h$]h&]uh1jEhj-ubeh}(h]h ]h"]h$]h&]uh1j%hj-hK2hj-ubj&)}(hy``ifr`` pointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver h](j,)}(h``ifr``h]h)}(hj-h]hifr}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK4hj-ubjF)}(hhh]h)}(hppointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driverh]hppointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK3hj-ubah}(h]h ]h"]h$]h&]uh1jEhj-ubeh}(h]h ]h"]h$]h&]uh1j%hj-hK4hj-ubj&)}(h{``copied_to_user`` request was passed to a legacy implementation which already copied the ioctl request back to user space h](j,)}(h``copied_to_user``h]h)}(hj.h]hcopied_to_user}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK6hj-ubjF)}(hhh]h)}(hgrequest was passed to a legacy implementation which already copied the ioctl request back to user spaceh]hgrequest was passed to a legacy implementation which already copied the ioctl request back to user space}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK5hj.ubah}(h]h ]h"]h$]h&]uh1jEhj-ubeh}(h]h ]h"]h$]h&]uh1j%hj.hK6hj-ubj&)}(hd``source`` indication whether timestamps should come from the netdev or from an attached phylib PHY h](j,)}(h ``source``h]h)}(hj<.h]hsource}(hj>.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:.ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK8hj6.ubjF)}(hhh]h)}(hXindication whether timestamps should come from the netdev or from an attached phylib PHYh]hXindication whether timestamps should come from the netdev or from an attached phylib PHY}(hjU.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK7hjR.ubah}(h]h ]h"]h$]h&]uh1jEhj6.ubeh}(h]h ]h"]h$]h&]uh1j%hjQ.hK8hj-ubj&)}(h0``qualifier`` qualifier of the hwtstamp providerh](j,)}(h ``qualifier``h]h)}(hjv.h]h qualifier}(hjx.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjt.ubah}(h]h ]h"]h$]h&]uh1j+hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK8hjp.ubjF)}(hhh]h)}(h"qualifier of the hwtstamp providerh]h"qualifier of the hwtstamp provider}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhK9hj.ubah}(h]h ]h"]h$]h&]uh1jEhjp.ubeh}(h]h ]h"]h$]h&]uh1j%hj.hK8hj-ubeh}(h]h ]h"]h$]h&]uh1j hj,ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj(hhhjb,hNubh)}(h**Description**h]j )}(hj.h]h Description}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj.ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2430: ./include/linux/net_tstamp.hhKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj >ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GLINK``h]h)}(hj0>h]h ETHTOOL_GLINK}(hj2>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj+>ubah}(h]h ]h"]h$]h&]uh1jhj(>ubj)}(hhh]h)}(h``ETHTOOL_MSG_LINKSTATE_GET``h]h)}(hjP>h]hETHTOOL_MSG_LINKSTATE_GET}(hjR>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjN>ubah}(h]h ]h"]h$]h&]uh1hhhhM hjK>ubah}(h]h ]h"]h$]h&]uh1jhj(>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GEEPROM``h]h)}(hjy>h]hETHTOOL_GEEPROM}(hj{>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw>ubah}(h]h ]h"]h$]h&]uh1hhhhM hjt>ubah}(h]h ]h"]h$]h&]uh1jhjq>ubj)}(hhh]h)}(hn/ah]hn/a}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhjq>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEPROM``h]h)}(hj>h]hETHTOOL_SEEPROM}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hn/ah]hn/a}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GCOALESCE``h]h)}(hj>h]hETHTOOL_GCOALESCE}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h``ETHTOOL_MSG_COALESCE_GET``h]h)}(hj?h]hETHTOOL_MSG_COALESCE_GET}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SCOALESCE``h]h)}(hjB?h]hETHTOOL_SCOALESCE}(hjD?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj=?ubah}(h]h ]h"]h$]h&]uh1jhj:?ubj)}(hhh]h)}(h``ETHTOOL_MSG_COALESCE_SET``h]h)}(hjb?h]hETHTOOL_MSG_COALESCE_SET}(hjd?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj]?ubah}(h]h ]h"]h$]h&]uh1jhj:?ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRINGPARAM``h]h)}(hj?h]hETHTOOL_GRINGPARAM}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(h``ETHTOOL_MSG_RINGS_GET``h]h)}(hj?h]hETHTOOL_MSG_RINGS_GET}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRINGPARAM``h]h)}(hj?h]hETHTOOL_SRINGPARAM}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(h``ETHTOOL_MSG_RINGS_SET``h]h)}(hj?h]hETHTOOL_MSG_RINGS_SET}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPAUSEPARAM``h]h)}(hj@h]hETHTOOL_GPAUSEPARAM}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(h``ETHTOOL_MSG_PAUSE_GET``h]h)}(hj=@h]hETHTOOL_MSG_PAUSE_GET}(hj?@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8@uba)h}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPAUSEPARAM``h]h)}(hjf@h]hETHTOOL_SPAUSEPARAM}(hjh@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd@ubah}(h]h ]h"]h$]h&]uh1hhhhM hja@ubah}(h]h ]h"]h$]h&]uh1jhj^@ubj)}(hhh]h)}(h``ETHTOOL_MSG_PAUSE_SET``h]h)}(hj@h]hETHTOOL_MSG_PAUSE_SET}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj^@ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCSUM``h]h)}(hj@h]hETHTOOL_GRXCSUM}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj@h]hETHTOOL_MSG_FEATURES_GET}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCSUM``h]h)}(hj@h]hETHTOOL_SRXCSUM}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjAh]hETHTOOL_MSG_FEATURES_SET}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTXCSUM``h]h)}(hjAAh]hETHTOOL_GTXCSUM}(hjCAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?Aubah}(h]h ]h"]h$]h&]uh1hhhhM hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:Bubah}(h]h ]h"]h$]h&]uh1hhhhM hj7Bubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_TEST``h]h)}(hjeBh]h ETHTOOL_TEST}(hjgBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcBubah}(h]h ]h"]h$]h&]uh1hhhhM hj`Bubah}(h]h ]h"]h$]h&]uh1jhj]Bubj)}(hhh]h)}(hn/ah]hn/a}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhj]Bubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTRINGS``h]h)}(hjBh]hETHTOOL_GSTRINGS}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hjBh]hETHTOOL_MSG_STRSET_GET}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHYS_ID``h]h)}(hjBh]hETHTOOL_PHYS_ID}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(hn/ah]hn/a}(hj ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj Cubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTATS``h]h)}(hj.Ch]hETHTOOL_GSTATS}(hj0ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,Cubah}(h]h ]h"]h$]h&]uh1hhhhM hj)Cubah}(h]h ]h"]h$]h&]uh1jhj&Cubj)}(hhh]h)}(hn/ah]hn/a}(hjLChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjICubah}(h]h ]h"]h$]h&]uh1jhj&Cubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTSO``h]h)}(hjnCh]h ETHTOOL_GTSO}(hjpChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlCubah}(h]h ]h"]h$]h&]uh1hhhhM hjiCubah}(h]h ]h"]h$]h&]uh1jhjfCubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjCh]hETHTOOL_MSG_FEATURES_GET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjfCubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STSO``h]h)}(hjCh]h ETHTOOL_STSO}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjCh]hETHTOOL_MSG_FEATURES_SET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPERMADDR``h]h)}(hjDh]hETHTOOL_GPERMADDR}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hrtnetlink ``RTM_GETLINK``h](h rtnetlink }(hjDhhhNhNubh)}(h``RTM_GETLINK``h]h RTM_GETLINK}(hj&DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubeh}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GUFO``h]h)}(hjNDh]h ETHTOOL_GUFO}(hjPDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLDubah}(h]h ]h"]h$]h&]uh1hhhhM hjIDubah}(h]h ]h"]h$]h&]uh1jhjFDubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjnDh]hETHTOOL_MSG_FEATURES_GET}(hjpDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlDubah}(h]h ]h"]h$]h&]uh1hhhhM hjiDubah}(h]h ]h"]h$]h&]uh1jhjFDubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SUFO``h]h)}(hjDh]h ETHTOOL_SUFO}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjDh]hETHTOOL_MSG_FEATURES_SET}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGSO``h]h)}(hjDh]h ETHTOOL_GGSO}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjEh]hETHTOOL_MSG_FEATURES_GET}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGSO``h]h)}(hj)Eh]h ETHTOOL_SGSO}(hj+EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'Eubah}(h]h ]h"]h$]h&]uh1hhhhM hj$Eubah}(h]h ]h"]h$]h&]uh1jhj!Eubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjIEh]hETHTOOL_MSG_FEATURES_SET}(hjKEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGEubah}(h]h ]h"]h$]h&]uh1hhhhM hjDEubah}(h]h ]h"]h$]h&]uh1jhj!Eubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFLAGS``h]h)}(hjrEh]hETHTOOL_GFLAGS}(hjtEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpEubah}(h]h ]h"]h$]h&]uh1hhhhM hjmEubah}(h]h ]h"]h$]h&]uh1jhjjEubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjEh]hETHTOOL_MSG_FEATURES_GET}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjjEubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFLAGS``h]h)}(hjEh]hETHTOOL_SFLAGS}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjEh]hETHTOOL_MSG_FEATURES_SET}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPFLAGS``h]h)}(hjFh]hETHTOOL_GPFLAGS}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_GET``h]h)}(hj$Fh]hETHTOOL_MSG_PRIVFLAGS_GET}(hj&FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Fubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPFLAGS``h]h)}(hjMFh]hETHTOOL_SPFLAGS}(hjOFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKFubah}(h]h ]h"]h$]h&]uh1hhhhM hjHFubah}(h]h ]h"]h$]h&]uh1jhjEFubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_SET``h]h)}(hjmFh]hETHTOOL_MSG_PRIVFLAGS_SET}(hjoFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkFubah}(h]h ]h"]h$]h&]uh1hhhhM hjhFubah}(h]h ]h"]h$]h&]uh1jhjEFubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFH``h]h)}(hjFh]h ETHTOOL_GRXFH}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hjFh]hETHTOOL_MSG_RSS_GET}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFH``h]h)}(hjFh]h ETHTOOL_SRXFH}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_SET``h]h)}(hjFh]hETHTOOL_MSG_RSS_SET}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGRO``h]h)}(hj(Gh]h ETHTOOL_GGRO}(hj*GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&Gubah}(h]h ]h"]h$]h&]uh1hhhhM hj#Gubah}(h]h ]h"]h$]h&]uh1jhj Gubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjHGh]hETHTOOL_MSG_FEATURES_GET}(hjJGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFGubah}(h]h ]h"]h$]h&]uh1hhhhM hjCGubah}(h]h ]h"]h$]h&]uh1jhj Gubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGRO``h]h)}(hjqGh]h ETHTOOL_SGRO}(hjsGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoGubah}(h]h ]h"]h$]h&]uh1hhhhM hjlGubah}(h]h ]h"]h$]h&]uh1jhjiGubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjGh]hETHTOOL_MSG_FEATURES_SET}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjiGubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXRINGS``h]h)}(hjGh]hETHTOOL_GRXRINGS}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hn/ah]hn/a}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLCNT``h]h)}(hjGh]hETHTOOL_GRXCLSRLCNT}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hn/ah]hn/a}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRULE``h]h)}(hj:Hh]hETHTOOL_GRXCLSRULE}(hj hj4Rubah}(h]h ]h"]h$]h&]uh1jhj1Rubj)}(hhh]h)}(h``ETHTOOL_MSG_TUNNEL_INFO_GET``h]h)}(hjPRh]hETHTOOL_MSG_TUNNEL_INFO_GET}(hjRRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNRubah}(h]h ]h"]h$]h&]uh1hhhhM> hjKRubah}(h]h ]h"]h$]h&]uh1jhj1Rubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjwRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM? hjtRubah}(h]h ]h"]h$]h&]uh1jhjqRubj)}(hhh]h)}(h``ETHTOOL_MSG_PHC_VCLOCKS_GET``h]h)}(hjRh]hETHTOOL_MSG_PHC_VCLOCKS_GET}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhM? hjRubah}(h]h ]h"]h$]h&]uh1jhjqRubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@ hjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h``ETHTOOL_MSG_MODULE_GET``h]h)}(hjRh]hETHTOOL_MSG_MODULE_GET}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhM@ hjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMA hjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h``ETHTOOL_MSG_MODULE_SET``h]h)}(hjSh]hETHTOOL_MSG_MODULE_SET}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMA hj Subah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj7ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMB hj4Subah}(h]h ]h"]h$]h&]uh1jhj1Subj)}(hhh]h)}(h``ETHTOOL_MSG_PLCA_GET_CFG``h]h)}(hjPSh]hETHTOOL_MSG_PLCA_GET_CFG}(hjRShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNSubah}(h]h ]h"]h$]h&]uh1hhhhMB hjKSubah}(h]h ]h"]h$]h&]uh1jhj1Subeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjwShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMC hjtSubah}(h]h ]h"]h$]h&]uh1jhjqSubj)}(hhh]h)}(h``ETHTOOL_MSG_PLCA_SET_CFG``h]h)}(hjSh]hETHTOOL_MSG_PLCA_SET_CFG}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMC hjSubah}(h]h ]h"]h$]h&]uh1jhjqSubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMD hjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h``ETHTOOL_MSG_PLCA_GET_STATUS``h]h)}(hjSh]hETHTOOL_MSG_PLCA_GET_STATUS}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMD hjSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhME hjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h``ETHTOOL_MSG_MM_GET``h]h)}(hjTh]hETHTOOL_MSG_MM_GET}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhME hj Tubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj7ThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMF hj4Tubah}(h]h ]h"]h$]h&]uh1jhj1Tubj)}(hhh]h)}(h``ETHTOOL_MSG_MM_SET``h]h)}(hjPTh]hETHTOOL_MSG_MM_SET}(hjRThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNTubah}(h]h ]h"]h$]h&]uh1hhhhMF hjKTubah}(h]h ]h"]h$]h&]uh1jhj1Tubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjwThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMG hjtTubah}(h]h ]h"]h$]h&]uh1jhjqTubj)}(hhh]h)}(h#``ETHTOOL_MSG_MODULE_FW_FLASH_ACT``h]h)}(hjTh]hETHTOOL_MSG_MODULE_FW_FLASH_ACT}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMG hjTubah}(h]h ]h"]h$]h&]uh1jhjqTubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMH hjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h``ETHTOOL_MSG_PHY_GET``h]h)}(hjTh]hETHTOOL_MSG_PHY_GET}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMH hjTubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``SIOCGHWTSTAMP``h]h)}(hjTh]h SIOCGHWTSTAMP}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMI hjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h``ETHTOOL_MSG_TSCONFIG_GET``h]h)}(hjUh]hETHTOOL_MSG_TSCONFIG_GET}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1hhhhMI hjUubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``SIOCSHWTSTAMP``h]h)}(hjBUh]h SIOCSHWTSTAMP}(hjDUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@Uubah}(h]h ]h"]h$]h&]uh1hhhhMJ hj=Uubah}(h]h ]h"]h$]h&]uh1jhj:Uubj)}(hhh]h)}(h``ETHTOOL_MSG_TSCONFIG_SET``h]h)}(hjbUh]hETHTOOL_MSG_TSCONFIG_SET}(hjdUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`Uubah}(h]h ]h"]h$]h&]uh1hhhhMJ hj]Uubah}(h]h ]h"]h$]h&]uh1jhj:Uubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj2;ubeh}(h]h ]h"]h$]h&]colsKuh1jhj/;ubah}(h]h ]h"]h$]h&]uh1jhj+;ubah}(h]h ]h"]h$]h&]uh1jhhhM hj ;hhubeh}(h]request-translationah ]h"]request translationah$]h&]uh1hhhhhhhhM ubeh}(h]netlink-interface-for-ethtoolah ]h"]netlink interface for ethtoolah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjUerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jUjUjcj`jjjjjj jg j)j)jG1jD1j4j4j6j6jC;j@;j>j>jFMjCMjOjOjPjPjZSjWSjUjUjWjWj [j[j]j]jp^jm^j:fj7fjkjkjboj_ojqjqj~j~j}j}jj jzjwjaj^j:j7jjjjjʤjǤjZjWjjjjjpjmj/j,jjjjj`j]jjjjjj~jjjhjejjjgjjjjjAj>j; j8 j= j: j-j*jTjQj$j$j(j(j/j/jx3ju3j ;j;jQ9jN9j;j:jUjUu nametypes}(jUjcjjjj j)jG1j4j6jC;j>jFMjOjPjZSjUjWj [j]jp^j:fjkjbojqj~j}jjzjaj:jjjʤjZjjjpj/jjj`jjjjjhjjjjjAj; j= j-jTj$j(j/jx3j ;jQ9j;jUuh}(jUhj`hjjfjjjg jj)jm jD1j)j4jJ1j6j4j@;j6j>jF;jCMj>jOjIMjPjOjWSjPjUj]SjWj Uj[jWj]j[jm^j]j7fjs^jkj=fj_oj"kjqjeoj~jqj}j}j j~jwjjnjwjijoj^j}j7jdjj=jjjǤjjWjͤjj]jjjjjmjj,jsjj2jjj]jjQjVjjcjjjjjj jjj jjtjyj0j5jjjjjjj jjjjjj4j9j~jjjjjjejjgjkjjmjjj>j j8 jDj: j> j*j@ j1j6jLjQjjjQj0jnjsj$jWj"j"j(j$j/j(j`,jf,ju3j /j;j{3jN9jM7j:jT9jUj ;u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.