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&]uh1hhhhMIhj&hhubh)}(hRequest contents:h]hRequest contents:}(hj#'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj&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&]colwidthKuh1jhj8'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhj8'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8'ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_HEADER``h]h)}(hjx'h]hETHTOOL_A_STRSET_HEADER}(hjz'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjv'ubah}(h]h ]h"]h$]h&]uh1hhhhMShjs'ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjp'ubj)}(hhh]h)}(hnestedh]hnested}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj'ubah}(h]h ]h"]h$]h&]uh1jhjp'ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj'ubah}(h]h ]h"]h$]h&]uh1jhjp'ubeh}(h]h ]h"]h$]h&]uh1jhjm'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&]uh1hhhhMUhj'ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj'ubj)}(hhh]h)}(hnestedh]hnested}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj'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&]uh1hhhhMUhj(ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjm'ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj (ubj)}(hhh]h)}(h#``ETHTOOL_A_STRINGSETS_STRINGSET+``h]h)}(hj1(h]hETHTOOL_A_STRINGSETS_STRINGSET+}(hj3(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/(ubah}(h]h ]h"]h$]h&]uh1hhhhMWhj,(ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj (ubj)}(hhh]h)}(hnestedh]hnested}(hjP(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjM(ubah}(h]h ]h"]h$]h&]uh1jhj (ubj)}(hhh]h)}(hone string seth]hone string set}(hjg(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjd(ubah}(h]h ]h"]h$]h&]uh1jhj (ubeh}(h]h ]h"]h$]h&]uh1jhjm'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_ID``h]h)}(hj(h]hETHTOOL_A_STRINGSET_ID}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhhhMYhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hu32h]hu32}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hset idh]hset id}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjm'ubeh}(h]h ]h"]h$]h&]uh1jhj8'ubeh}(h]h ]h"]h$]h&]colsKuh1jhj5'ubah}(h]h ]h"]h$]h&]uh1jhj1'ubah}(h]h ]h"]h$]h&]uh1jhhhMRhj&hhubh)}(hKernel response contents:h]hKernel response contents:}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj&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)}(hjl)h]hETHTOOL_A_STRSET_HEADER}(hjn)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjj)ubah}(h]h ]h"]h$]h&]uh1hhhhM_hjg)ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjd)ubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj)ubah}(h]h ]h"]h$]h&]uh1jhjd)ubj)}(hhh]h)}(h reply headerh]h reply header}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj)ubah}(h]h ]h"]h$]h&]uh1jhjd)ubeh}(h]h ]h"]h$]h&]uh1jhja)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&]uh1hhhhMahj)ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj)ubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahj)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&]uh1hhhhMahj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhja)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&]uh1hhhhMchj *ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj*ubj)}(hhh]h)}(hnestedh]hnested}(hjD*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjA*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hone string seth]hone string set}(hj[*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjX*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhja)ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhju*ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhju*ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_ID``h]h)}(hj*h]hETHTOOL_A_STRINGSET_ID}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMehj*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhju*ubj)}(hhh]h)}(hu32h]hu32}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj*ubah}(h]h ]h"]h$]h&]uh1jhju*ubj)}(hhh]h)}(hset idh]hset id}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj*ubah}(h]h ]h"]h$]h&]uh1jhju*ubeh}(h]h ]h"]h$]h&]uh1jhja)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&]uh1hhhhMghj*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj*ubj)}(hhh]h)}(hu32h]hu32}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj+ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hnumber of stringsh]hnumber of strings}(hj/+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj,+ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhja)ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjI+ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjI+ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_STRINGS``h]h)}(hjc+h]hETHTOOL_A_STRINGSET_STRINGS}(hje+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja+ubah}(h]h ]h"]h$]h&]uh1hhhhMihj^+ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjI+ubj)}(hhh]h)}(hnestedh]hnested}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj+ubah}(h]h ]h"]h$]h&]uh1jhjI+ubj)}(hhh]h)}(harray of stringsh]harray of strings}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj+ubah}(h]h ]h"]h$]h&]uh1jhjI+ubeh}(h]h ]h"]h$]h&]uh1jhja)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``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&]uh1hhhhMkhj+ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj+ubj)}(hhh]h)}(hnestedh]hnested}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(h one stringh]h one string}(hj ,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj ,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhja)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)}(hjR,h]hETHTOOL_A_STRING_INDEX}(hjT,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP,ubah}(h]h ]h"]h$]h&]uh1hhhhMmhjM,ubah}(h]h ]h"]h$]h&]uh1jhj&,ubj)}(hhh]h)}(hu32h]hu32}(hjp,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjm,ubah}(h]h ]h"]h$]h&]uh1jhj&,ubj)}(hhh]h)}(h string indexh]h string index}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj,ubah}(h]h ]h"]h$]h&]uh1jhj&,ubeh}(h]h ]h"]h$]h&]uh1jhja)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_VALUE``h]h)}(hj,h]hETHTOOL_A_STRING_VALUE}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMohj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hstringh]hstring}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(h string valueh]h string value}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhja)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&]uh1hhhhMqhj-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hflagh]hflag}(hjC-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj@-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hreturn only countsh]hreturn only counts}(hjZ-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjW-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhja)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)}(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 }(hj-hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubh flag, there are three type of }(hj-hhhNhNubh)}(h``STRSET_GET``h]h STRSET_GET}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubh requests:}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMthj&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)}(hj-h](hno }(hj-hhhNhNubh)}(h``NLM_F_DUMP,``h]h NLM_F_DUMP,}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubh' no device: get “global” stringsets}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMwhj-ubah}(h]h ]h"]h$]h&]uh1j-hj-ubj-)}(hEno ``NLM_F_DUMP``, with device: get string sets related to the deviceh]h)}(hj-h](hno }(hj-hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubh4, with device: get string sets related to the device}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMxhj-ubah}(h]h ]h"]h$]h&]uh1j-hj-ubj-)}(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}(hj$.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj .ubh;, no device: get device related string sets for all devices}(hj .hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMyhj.ubah}(h]h ]h"]h$]h&]uh1j-hj-ubeh}(h]h ]h"]h$]h&]bullet-uh1j-hhhMwhj-ubah}(h]h ]h"]h$]h&]uh1jhhhMwhj&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 }(hjP.hhhNhNubh)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]hETHTOOL_A_STRSET_STRINGSETS}(hjX.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP.ubhl array, all string sets of requested type are returned, otherwise only those specified in the request. Flag }(hjP.hhhNhNubh)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hjj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP.ubhO tells kernel to only return string counts of the sets, not the actual strings.}(hjP.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM{hj&hhubeh}(h] strset-getah ]h"] strset_getah$]h&]uh1hhhhhhhhMGubh)}(hhh](h)}(h LINKINFO_GETh]h LINKINFO_GET}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hhhhhMubh)}(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.hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubhh except for link modes and autonegotiation related information. The request does not use 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_LINKINFO_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_LINKINFO_HEADER``h]h)}(hj.h]hETHTOOL_A_LINKINFO_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}(hj1/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&]uh1jhj.ubeh}(h]h ]h"]h$]h&]colsKuh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhhhMhj.hhubh)}(hKernel response contents:h]hKernel response contents:}(hjd/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubj)}(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$uh1jhjy/ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjy/ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjy/ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj/h]hETHTOOL_A_LINKINFO_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_LINKINFO_PORT``h]h)}(hj/h]hETHTOOL_A_LINKINFO_PORT}(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}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h physical porth]h physical port}(hj10hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.0ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hjS0h]hETHTOOL_A_LINKINFO_PHYADDR}(hjU0hhhNhNubah}(h]h ]h"]h$]h&]u)h1hhjQ0ubah}(h]h ]h"]h$]h&]uh1hhhhMhjN0ubah}(h]h ]h"]h$]h&]uh1jhjK0ubj)}(hhh]h)}(hu8h]hu8}(hjq0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn0ubah}(h]h ]h"]h$]h&]uh1jhjK0ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhjK0ubeh}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_TP_MDIX``h]h)}(hj0h]hETHTOOL_A_LINKINFO_TP_MDIX}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hu8h]hu8}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hMDI(-X) statush]hMDI(-X) status}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hj1h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hu8h]hu8}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hj61hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj31ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_LINKINFO_TRANSCEIVER``h]h)}(hjX1h]hETHTOOL_A_LINKINFO_TRANSCEIVER}(hjZ1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV1ubah}(h]h ]h"]h$]h&]uh1hhhhMhjS1ubah}(h]h ]h"]h$]h&]uh1jhjP1ubj)}(hhh]h)}(hu8h]hu8}(hjv1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjs1ubah}(h]h ]h"]h$]h&]uh1jhjP1ubj)}(hhh]h)}(h transceiverh]h transceiver}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhjP1ubeh}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjy/ubeh}(h]h ]h"]h$]h&]colsKuh1jhjv/ubah}(h]h ]h"]h$]h&]uh1jhjr/ubah}(h]h ]h"]h$]h&]uh1jhhhMhj.hhubh)}(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.}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubh)}(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}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubh\ allows dump requests (kernel returns reply message for all devices supporting the request).}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubeh}(h] linkinfo-getah ]h"] linkinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKINFO_SETh]h LINKINFO_SET}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hhhhhMubh)}(h\``LINKINFO_SET`` request allows setting some of the attributes reported by ``LINKINFO_GET``.h](h)}(h``LINKINFO_SET``h]h LINKINFO_SET}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubh; request allows setting some of the attributes reported by }(hj2hhhNhNubh)}(h``LINKINFO_GET``h]h LINKINFO_GET}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubh.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubh)}(hRequest contents:h]hRequest contents:}(hj12hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubj)}(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$uh1jhjF2ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjF2ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjF2ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hjr2h]hETHTOOL_A_LINKINFO_HEADER}(hjt2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp2ubah}(h]h ]h"]h$]h&]uh1hhhhMhjm2ubah}(h]h ]h"]h$]h&]uh1jhjj2ubj)}(hhh]h)}(hnestedh]hnested}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhjj2ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhjj2ubeh}(h]h ]h"]h$]h&]uh1jhjg2ubj)}(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&]uh1jhjg2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hj 3h]hETHTOOL_A_LINKINFO_PHYADDR}(hj"3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hu8h]hu8}(hj>3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hjU3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjR3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjg2ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hjw3h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hjy3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhju3ubah}(h]h ]h"]h$]h&]uh1hhhhMhjr3ubah}(h]h ]h"]h$]h&]uh1jhjo3ubj)}(hhh]h)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjo3ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjo3ubeh}(h]h ]h"]h$]h&]uh1jhjg2ubeh}(h]h ]h"]h$]h&]uh1jhjF2ubeh}(h]h ]h"]h$]h&]colsKuh1jhjC2ubah}(h]h ]h"]h$]h&]uh1jhj?2ubah}(h]h ]h"]h$]h&]uh1jhhhMhj1hhubh)}(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.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubeh}(h] linkinfo-setah ]h"] linkinfo_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_GETh]h LINKMODES_GET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hhhhhMubh)}(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 }(hj4hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubh*. The request does not use any attributes.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj3hhubh)}(hRequest contents:h]hRequest contents:}(hj&4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj;4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj;4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj;4ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hjg4h]hETHTOOL_A_LINKMODES_HEADER}(hji4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje4ubah}(h]h ]h"]h$]h&]uh1hhhhMhjb4ubah}(h]h ]h"]h$]h&]uh1jhj_4ubj)}(hhh]h)}(hnestedh]hnested}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj_4ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj_4ubeh}(h]h ]h"]h$]h&]uh1jhj\4ubah}(h]h ]h"]h$]h&]uh1jhj;4ubeh}(h]h ]h"]h$]h&]colsKuh1jhj84ubah}(h]h ]h"]h$]h&]uh1jhj44ubah}(h]h ]h"]h$]h&]uh1jhhhMhj3hhubh)}(hKernel response contents:h]hKernel response contents:}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3hhubj)}(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*uh1jhj4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj4ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hj5h]hETHTOOL_A_LINKMODES_HEADER}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj 5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hnestedh]hnested}(hj.5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h reply headerh]h reply header}(hjE5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjB5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hjg5h]hETHTOOL_A_LINKMODES_AUTONEG}(hji5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje5ubah}(h]h ]h"]h$]h&]uh1hhhhMhjb5ubah}(h]h ]h"]h$]h&]uh1jhj_5ubj)}(hhh]h)}(hu8h]hu8}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj_5ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj_5ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hj5h]hETHTOOL_A_LINKMODES_OURS}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hbitseth]hbitset}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_PEER``h]h)}(hj6h]hETHTOOL_A_LINKMODES_PEER}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj 6ubj)}(hhh]h)}(hbitseth]hbitset}(hj36hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj06ubah}(h]h ]h"]h$]h&]uh1jhj 6ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hjJ6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjG6ubah}(h]h ]h"]h$]h&]uh1jhj 6ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hjl6h]hETHTOOL_A_LINKMODES_SPEED}(hjn6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhjg6ubah}(h]h ]h"]h$]h&]uh1jhjd6ubj)}(hhh]h)}(hu32h]hu32}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjd6ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjd6ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_DUPLEX``h]h)}(hj6h]hETHTOOL_A_LINKMODES_DUPLEX}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hu8h]hu8}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h duplex modeh]h duplex mode}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``h]h)}(hj7h]h$ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hu8h]hu8}(hj87hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj57ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hMaster/slave port modeh]hMaster/slave port mode}(hjO7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjL7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h*``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE``h]h)}(hjq7h]hÐTOOL_A_LINKMODES_MASTER_SLAVE_STATE}(hjs7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjo7ubah}(h]h ]h"]h$]h&]uh1hhhhMhjl7ubah}(h]h ]h"]h$]h&]uh1jhji7ubj)}(hhh]h)}(hu8h]hu8}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhji7ubj)}(hhh]h)}(hMaster/slave port stateh]hMaster/slave port state}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhji7ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_LINKMODES_RATE_MATCHING``h]h)}(hj7h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hu8h]hu8}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]colsKuh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhhhMhj3hhubh)}(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 }(hj08hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj88hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj08ubhI, value represents advertised modes and mask represents supported modes. }(hj08hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_PEER``h]hETHTOOL_A_LINKMODES_PEER}(hjJ8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj08ubh in the reply is a bit list.}(hj08hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj3hhubh)}(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}(hjf8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb8ubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjb8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj3hhubeh}(h] linkmodes-getah ]h"] linkmodes_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_SETh]h LINKMODES_SET}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hhhhhMubh)}(hRequest contents:h]hRequest contents:}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubj)}(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*uh1jhj8ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hj8h]hETHTOOL_A_LINKMODES_HEADER}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hnestedh]hnested}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj 9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj 9ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hj/9h]hETHTOOL_A_LINKMODES_AUTONEG}(hj19hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj*9ubah}(h]h ]h"]h$]h&]uh1jhj'9ubj)}(hhh]h)}(hu8h]hu8}(hjM9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ9ubah}(h]h ]h"]h$]h&]uh1jhj'9ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hjd9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhja9ubah}(h]h ]h"]h$]h&]uh1jhj'9ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hj9h]hETHTOOL_A_LINKMODES_OURS}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj~9ubj)}(hhh]h)}(hbitseth]hbitset}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj~9ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj~9ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_PEER``h]h)}(hj9h]hETHTOOL_A_LINKMODES_PEER}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hbitseth]hbitset}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hj4:h]hETHTOOL_A_LINKMODES_SPEED}(hj6:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj/:ubah}(h]h ]h"]h$]h&]uh1jhj,:ubj)}(hhh]h)}(hu32h]hu32}(hjR:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjO:ubah}(h]h ]h"]h$]h&]uh1jhj,:ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hji:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjf:ubah}(h]h ]h"]h$]h&]uh1jhj,:ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_DUPLEX``h]h)}(hj:h]hETHTOOL_A_LINKMODES_DUPLEX}(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)}(h duplex modeh]h duplex mode}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(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&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_LINKMODES_RATE_MATCHING``h]h)}(hj9;h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hj;;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj4;ubah}(h]h ]h"]h$]h&]uh1jhj1;ubj)}(hhh]h)}(hu8h]hu8}(hjW;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT;ubah}(h]h ]h"]h$]h&]uh1jhj1;ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hjn;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk;ubah}(h]h ]h"]h$]h&]uh1jhj1;ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_LANES``h]h)}(hj;h]hETHTOOL_A_LINKMODES_LANES}(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)}(hlanesh]hlanes}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]colsKuh1jhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]uh1jhhhMhj8hhubh)}(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&]uh1hhhhMhj8hhubeh}(h] linkmodes-setah ]h"] linkmodes_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKSTATE_GETh]h LINKSTATE_GET}(hj1<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}(hjG<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$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_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)}(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:}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.<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)}(hjI=h]hETHTOOL_A_LINKSTATE_HEADER}(hjK=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjG=ubah}(h]h ]h"]h$]h&]uh1hhhhMhjD=ubah}(h]h ]h"]h$]h&]uh1jhjA=ubj)}(hhh]h)}(hnestedh]hnested}(hjg=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjd=ubah}(h]h ]h"]h$]h&]uh1jhjA=ubj)}(hhh]h)}(h reply headerh]h reply header}(hj~=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{=ubah}(h]h ]h"]h$]h&]uh1jhjA=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}(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}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=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&]uh1jhj=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)}(hjN>h]hETHTOOL_A_LINKSTATE_SQI_MAX}(hjP>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjL>ubah}(h]h ]h"]h$]h&]uh1hhhhMhjI>ubah}(h]h ]h"]h$]h&]uh1jhjF>ubj)}(hhh]h)}(hu32h]hu32}(hjl>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhji>ubah}(h]h ]h"]h$]h&]uh1jhjF>ubj)}(hhh]h)}(hMax support SQI valueh]hMax support SQI value}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhjF>ubeh}(h]h ]h"]h$]h&]uh1jhj>=ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]h)}(hj>h]hETHTOOL_A_LINKSTATE_EXT_STATE}(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)}(hlink extended stateh]hlink extended state}(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_EXT_SUBSTATE``h]h)}(hj>h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(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)}(hlink extended substateh]hlink extended substate}(hj1?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_EXT_DOWN_CNT``h]h)}(hjS?h]h ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT}(hjU?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQ?ubah}(h]h ]h"]h$]h&]uh1hhhhM hjN?ubah}(h]h ]h"]h$]h&]uh1jhjK?ubj)}(hhh]h)}(hu32h]hu32}(hjq?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjn?ubah}(h]h ]h"]h$]h&]uh1jhjK?ubj)}(hhh]h)}(hcount of link down eventsh]hcount of link down events}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhjK?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)}(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?hhhNhNubh)}(h``ETHTOOL_A_LINKSTATE_LINK``h]hETHTOOL_A_LINKSTATE_LINK}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh" returns carrier flag provided by }(hj?hhhNhNubh)}(h``netif_carrier_ok()``h]hnetif_carrier_ok()}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh6 but there are drivers which define their own handler.}(hj?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj.<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}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh and }(hj?hhhNhNubh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh; are optional values. ethtool core can provide either both }(hj?hhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh and }hj?sbh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hj'@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh , or only }(hj?hhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hj9@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubh, or none of them.}(hj?hhhNhNubeh}(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}(hjU@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQ@ubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjQ@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj.<hhubh)}(hLink extended states:h]hLink extended states:}(hjm@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.<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&]colwidthK0uh1jhj@ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhj@ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_LINK_EXT_STATE_AUTONEG``h]h)}(hj@h]hETHTOOL_LINK_EXT_STATE_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)}(h8States relating to the autonegotiation or issues thereinh]h8States relating to the autonegotiation or issues therein}(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)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE``h]h)}(hj@h]h,ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE}(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)}(hFailure during link trainingh]hFailure during link training}(hjAhhhNhNubah}(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)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH``h]h)}(hj$Ah]h,ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH}(hj&AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Aubah}(h]h ]h"]h$]h&]uh1hhhhM!hjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hQLogical mismatch in physical coding sublayer or forward error correction sublayerh]hQLogical mismatch in physical coding sublayer or forward error correction sublayer}(hjBAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hj?Aubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h/``ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY``h]h)}(hjdAh]h+ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY}(hjfAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbAubah}(h]h ]h"]h$]h&]uh1hhhhM$hj_Aubah}(h]h ]h"]h$]h&]uh1jhj\Aubj)}(hhh]h)}(hSignal integrity issuesh]hSignal integrity issues}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjAubah}(h]h ]h"]h$]h&]uh1jhj\Aubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_NO_CABLE``h]h)}(hjAh]hETHTOOL_LINK_EXT_STATE_NO_CABLE}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhM&hjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hNo cable connectedh]hNo cable connected}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE``h]h)}(hjAh]h"ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhM(hjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(h4Failure is related to cable, e.g., unsupported cableh]h4Failure is related to cable, e.g., unsupported cable}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE``h]h)}(hj$Bh]h#ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE}(hj&BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Bubah}(h]h ]h"]h$]h&]uh1hhhhM+hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(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}(hjBBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hj?Bubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h.``ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE``h]h)}(hjdBh]h*ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE}(hjfBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbBubah}(h]h ]h"]h$]h&]uh1hhhhM.hj_Bubah}(h]h ]h"]h$]h&]uh1jhj\Bubj)}(hhh]h)}(h$Failure during calibration algorithmh]h$Failure during calibration algorithm}(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)}(h0``ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED``h]h)}(hjBh]h,ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM0hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjBubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_OVERHEAT``h]h)}(hjBh]hETHTOOL_LINK_EXT_STATE_OVERHEAT}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM3hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(hThe module is overheatedh]hThe module is overheated}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjBubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_LINK_EXT_STATE_MODULE``h]h)}(hj$Ch]hETHTOOL_LINK_EXT_STATE_MODULE}(hj&ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Cubah}(h]h ]h"]h$]h&]uh1hhhhM5hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hTransceiver module issueh]hTransceiver module issue}(hjBChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj?Cubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(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)}(hLink extended substates:h]hLink extended substates:}(hjuChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hj.<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:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjCubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK?uh1jhjCubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjCubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h4``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED``h]h)}(hjCh]h0ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM=hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hPeer side is downh]hPeer side is down}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h1``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED``h]h)}(hjCh]h-ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM?hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hAck not received from peer sideh]hAck not received from peer side}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjDubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h:``ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED``h]h)}(hj:Dh]h6ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED}(hj``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS``h]h)}(hj6Gh]h:ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS}(hj8GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4Gubah}(h]h ]h"]h$]h&]uh1hhhhMlhj1Gubah}(h]h ]h"]h$]h&]uh1jhj.Gubj)}(hhh]h)}(h1Physical coding sublayer did not get align statush]h1Physical coding sublayer did not get align status}(hjTGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjQGubah}(h]h ]h"]h$]h&]uh1jhj.Gubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED``h]h)}(hjvGh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED}(hjxGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtGubah}(h]h ]h"]h$]h&]uh1hhhhMohjqGubah}(h]h ]h"]h$]h&]uh1jhjnGubj)}(hhh]h)}(h)FC forward error correction is not lockedh]h)FC forward error correction is not locked}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjGubah}(h]h ]h"]h$]h&]uh1jhjnGubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED``h]h)}(hjGh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMrhjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h)RS forward error correction is not lockedh]h)RS forward error correction is not locked}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjGubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]colsKuh1jhjFubah}(h]h ]h"]h$]h&]uh1jhjCubh)}(hBad signal integrity substates:h]hBad signal integrity substates:}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjCubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKAuh1jhjHubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjHubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hA``ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS``h]h)}(hj4Hh]h=ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS}(hj6HhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2Hubah}(h]h ]h"]h$]h&]uh1hhhhMyhj/Hubah}(h]h ]h"]h$]h&]uh1jhj,Hubj)}(hhh]h)}(hLarge number of physical errorsh]hLarge number of physical errors}(hjRHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhjOHubah}(h]h ]h"]h$]h&]uh1jhj,Hubeh}(h]h ]h"]h$]h&]uh1jhj)Hubj)}(hhh](j)}(hhh]h)}(h2``ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE``h]h)}(hjtHh]h.ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE}(hjvHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrHubah}(h]h ]h"]h$]h&]uh1hhhhM|hjoHubah}(h]h ]h"]h$]h&]uh1jhjlHubj)}(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}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjHubah}(h]h ]h"]h$]h&]uh1jhjlHubeh}(h]h ]h"]h$]h&]uh1jhj)Hubj)}(hhh](j)}(hhh]h)}(h=``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST``h]h)}(hjHh]h9ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(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.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhj)Hubj)}(hhh](j)}(hhh]h)}(h-``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS``h]h)}(hjHh]h)ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(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.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhj)Hubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]colsKuh1jhjHubah}(h]h ]h"]h$]h&]uh1jhjCubh)}(hCable issue substates:h]hCable issue substates:}(hj?IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjPIubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjPIubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h2``ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE``h]h)}(hjrIh]h.ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE}(hjtIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpIubah}(h]h ]h"]h$]h&]uh1hhhhMhjmIubah}(h]h ]h"]h$]h&]uh1jhjjIubj)}(hhh]h)}(hUnsupported cableh]hUnsupported cable}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjjIubeh}(h]h ]h"]h$]h&]uh1jhjgIubj)}(hhh](j)}(hhh]h)}(h3``ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE``h]h)}(hjIh]h/ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hCable test failureh]hCable test failure}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjgIubeh}(h]h ]h"]h$]h&]uh1jhjPIubeh}(h]h ]h"]h$]h&]colsKuh1jhjMIubah}(h]h ]h"]h$]h&]uh1jhjCubh)}(h#Transceiver module issue substates:h]h#Transceiver module issue substates:}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjJubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h3``ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY``h]h)}(hj0Jh]h/ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY}(hj2JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.Jubah}(h]h ]h"]h$]h&]uh1hhhhMhj+Jubah}(h]h ]h"]h$]h&]uh1jhj(Jubj)}(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}(hjNJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKJubah}(h]h ]h"]h$]h&]uh1jhj(Jubeh}(h]h ]h"]h$]h&]uh1jhj%Jubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]colsKuh1jhj Jubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhhhM:hj.<hhubeh}(h] linkstate-getah ]h"] linkstate_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h DEBUG_GETh]h DEBUG_GET}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJhhhhhMubh)}(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.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubh)}(hRequest contents:h]hRequest contents:}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjJubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjJh]hETHTOOL_A_DEBUG_HEADER}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hnestedh]hnested}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]colsKuh1jhjJubah}(h]h ]h"]h$]h&]uh1jhjJubah}(h]h ]h"]h$]h&]uh1jhhhMhjJhhubh)}(hKernel response contents:h]hKernel response contents:}(hjQKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubj)}(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$uh1jhjfKubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjfKubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjfKubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjKh]hETHTOOL_A_DEBUG_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)}(h reply headerh]h reply header}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]h)}(hjKh]hETHTOOL_A_DEBUG_MSGMASK}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hbitseth]hbitset}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h message maskh]h message mask}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjfKubeh}(h]h ]h"]h$]h&]colsKuh1jhjcKubah}(h]h ]h"]h$]h&]uh1jhj_Kubah}(h]h ]h"]h$]h&]uh1jhhhMhjJhhubh)}(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 (}(hjQLhhhNhNubh)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]hETHTOOL_A_DEBUG_MSGMASK}(hjYLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQLubh+) is equal to message level as provided by }(hjQLhhhNhNubh)}(h``ETHTOOL_GMSGLVL``h]hETHTOOL_GMSGLVL}(hjkLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQLubh and set by }(hjQLhhhNhNubh)}(h``ETHTOOL_SMSGLVL``h]hETHTOOL_SMSGLVL}(hj}LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQLubh 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 }(hjQLhhhNhNubh)}(h``NETIF_MSG_*``h]h NETIF_MSG_*}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQLubhL constants); therefore netlink interface follows its actual use in practice.}(hjQLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubh)}(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}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjJhhubeh}(h] debug-getah ]h"] debug_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h DEBUG_SETh]h DEBUG_SET}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhhhhhMubh)}(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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubh)}(hRequest contents:h]hRequest contents:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj)}(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$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_DEBUG_HEADER``h]h)}(hj+Mh]hETHTOOL_A_DEBUG_HEADER}(hj-MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)Mubah}(h]h ]h"]h$]h&]uh1hhhhMhj&Mubah}(h]h ]h"]h$]h&]uh1jhj#Mubj)}(hhh]h)}(hnestedh]hnested}(hjIMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFMubah}(h]h ]h"]h$]h&]uh1jhj#Mubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj`MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]Mubah}(h]h ]h"]h$]h&]uh1jhj#Mubeh}(h]h ]h"]h$]h&]uh1jhj Mubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]h)}(hjMh]hETHTOOL_A_DEBUG_MSGMASK}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhj}Mubah}(h]h ]h"]h$]h&]uh1jhjzMubj)}(hhh]h)}(hbitseth]hbitset}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjzMubj)}(hhh]h)}(h message maskh]h message mask}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjzMubeh}(h]h ]h"]h$]h&]uh1jhj Mubeh}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]colsKuh1jhjLubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jhhhMhjLhhubh)}(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}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubh\ bit set allows setting or modifying mask of enabled debugging message types for the device.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubeh}(h] debug-setah ]h"] debug_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hWOL_GETh]hWOL_GET}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhhhhhMubh)}(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, }(hjNhhhNhNubh)}(h``ETHTOOL_MSG_WOL_GET``h]hETHTOOL_MSG_WOL_GET}(hj'NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh requires (netns) }(hjNhhhNhNubh)}(h``CAP_NET_ADMIN``h]h CAP_NET_ADMIN}(hj9NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubhU privileges as it (potentially) provides SecureOn(tm) password which is confidential.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubh)}(hRequest contents:h]hRequest contents:}(hjQNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_WOL_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjfNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjfNubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjfNubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_HEADER``h]h)}(hjNh]hETHTOOL_A_WOL_HEADER}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hnestedh]hnested}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]uh1jhjfNubeh}(h]h ]h"]h$]h&]colsKuh1jhjcNubah}(h]h ]h"]h$]h&]uh1jhj_Nubah}(h]h ]h"]h$]h&]uh1jhhhMhjNhhubh)}(hKernel response contents:h]hKernel response contents:}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubj)}(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$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_WOL_HEADER``h]h)}(hj;Oh]hETHTOOL_A_WOL_HEADER}(hj=OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9Oubah}(h]h ]h"]h$]h&]uh1hhhhMhj6Oubah}(h]h ]h"]h$]h&]uh1jhj3Oubj)}(hhh]h)}(hnestedh]hnested}(hjYOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVOubah}(h]h ]h"]h$]h&]uh1jhj3Oubj)}(hhh]h)}(h reply headerh]h reply header}(hjpOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmOubah}(h]h ]h"]h$]h&]uh1jhj3Oubeh}(h]h ]h"]h$]h&]uh1jhj0Oubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_MODES``h]h)}(hjOh]hETHTOOL_A_WOL_MODES}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hbitseth]hbitset}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hmask of enabled WoL modesh]hmask of enabled WoL modes}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhj0Oubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_SOPASS``h]h)}(hjOh]hETHTOOL_A_WOL_SOPASS}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hbinaryh]hbinary}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hSecureOn(tm) passwordh]hSecureOn(tm) password}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhj0Oubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]colsKuh1jhj Oubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1jhhhMhjNhhubh)}(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, }(hjQPhhhNhNubh)}(h``ETHTOOL_A_WOL_MODES``h]hETHTOOL_A_WOL_MODES}(hjYPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQPubhS mask consists of modes supported by the device, value of modes which are enabled. }(hjQPhhhNhNubh)}(h``ETHTOOL_A_WOL_SOPASS``h]hETHTOOL_A_WOL_SOPASS}(hjkPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQPubh is only included in reply if }(hjQPhhhNhNubh)}(h``WAKE_MAGICSECURE``h]hWAKE_MAGICSECURE}(hj}PhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQPubh mode is supported.}(hjQPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubeh}(h]wol-getah ]h"]wol_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hWOL_SETh]hWOL_SET}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhhhhhMubh)}(h#Set or update wake-on-lan settings.h]h#Set or update wake-on-lan settings.}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubh)}(hRequest contents:h]hRequest contents:}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubj)}(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$uh1jhjPubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjPubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjPubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_HEADER``h]h)}(hjPh]hETHTOOL_A_WOL_HEADER}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hnestedh]hnested}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj2QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Qubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_MODES``h]h)}(hjTQh]hETHTOOL_A_WOL_MODES}(hjVQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRQubah}(h]h ]h"]h$]h&]uh1hhhhMhjOQubah}(h]h ]h"]h$]h&]uh1jhjLQubj)}(hhh]h)}(hbitseth]hbitset}(hjrQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoQubah}(h]h ]h"]h$]h&]uh1jhjLQubj)}(hhh]h)}(henabled WoL modesh]henabled WoL modes}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjLQubeh}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_WOL_SOPASS``h]h)}(hjQh]hETHTOOL_A_WOL_SOPASS}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hbinaryh]hbinary}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hSecureOn(tm) passwordh]hSecureOn(tm) password}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]colsKuh1jhjPubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jhhhMhjPhhubh)}(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}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubh( is only allowed for devices supporting }(hjRhhhNhNubh)}(h``WAKE_MAGICSECURE``h]hWAKE_MAGICSECURE}(hj)RhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubh mode.}(hjRhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjPhhubeh}(h]wol-setah ]h"]wol_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h FEATURES_GETh]h FEATURES_GET}(hjLRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIRhhhhhMubh)}(h>Gets netdev features like ``ETHTOOL_GFEATURES`` ioctl request.h](hGets netdev features like }(hjZRhhhNhNubh)}(h``ETHTOOL_GFEATURES``h]hETHTOOL_GFEATURES}(hjbRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZRubh ioctl request.}(hjZRhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjIRhhubh)}(hRequest contents:h]hRequest contents:}(hjzRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIRhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested request header ==================================== ====== ========================== 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_FEATURES_HEADER``h]h)}(hjRh]hETHTOOL_A_FEATURES_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)}(hrequest headerh]hrequest header}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]colsKuh1jhjRubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhhhMhjIRhhubh)}(hKernel response contents:h]hKernel response contents:}(hj#ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIRhhubj)}(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$uh1jhj8Subj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8Subj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj8Subj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjdSh]hETHTOOL_A_FEATURES_HEADER}(hjfShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbSubah}(h]h ]h"]h$]h&]uh1hhhhMhj_Subah}(h]h ]h"]h$]h&]uh1jhj\Subj)}(hhh]h)}(hnestedh]hnested}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhj\Subj)}(hhh]h)}(h reply headerh]h reply header}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhj\Subeh}(h]h ]h"]h$]h&]uh1jhjYSubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HW``h]h)}(hjSh]hETHTOOL_A_FEATURES_HW}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hbitseth]hbitset}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hdev->hw_featuresh]hdev->hw_features}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjYSubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjTh]hETHTOOL_A_FEATURES_WANTED}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMhj Tubah}(h]h ]h"]h$]h&]uh1jhj Tubj)}(hhh]h)}(hbitseth]hbitset}(hj0ThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Tubah}(h]h ]h"]h$]h&]uh1jhj Tubj)}(hhh]h)}(hdev->wanted_featuresh]hdev->wanted_features}(hjGThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDTubah}(h]h ]h"]h$]h&]uh1jhj Tubeh}(h]h ]h"]h$]h&]uh1jhjYSubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hjiTh]hETHTOOL_A_FEATURES_ACTIVE}(hjkThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgTubah}(h]h ]h"]h$]h&]uh1hhhhMhjdTubah}(h]h ]h"]h$]h&]uh1jhjaTubj)}(hhh]h)}(hbitseth]hbitset}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjaTubj)}(hhh]h)}(h dev->featuresh]h dev->features}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjaTubeh}(h]h ]h"]h$]h&]uh1jhjYSubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_NOCHANGE``h]h)}(hjTh]hETHTOOL_A_FEATURES_NOCHANGE}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hbitseth]hbitset}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hNETIF_F_NEVER_CHANGEh]hNETIF_F_NEVER_CHANGE}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjYSubeh}(h]h ]h"]h$]h&]uh1jhj8Subeh}(h]h ]h"]h$]h&]colsKuh1jhj5Subah}(h]h ]h"]h$]h&]uh1jhj1Subah}(h]h ]h"]h$]h&]uh1jhhhMhjIRhhubh)}(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).}(hj(UhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjIRhhubeh}(h] features-getah ]h"] features_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h FEATURES_SETh]h FEATURES_SET}(hjAUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>UhhhhhMubh)}(hHRequest to set netdev features like ``ETHTOOL_SFEATURES`` ioctl request.h](h$Request to set netdev features like }(hjOUhhhNhNubh)}(h``ETHTOOL_SFEATURES``h]hETHTOOL_SFEATURES}(hjWUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOUubh ioctl request.}(hjOUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj>Uhhubh)}(hRequest contents:h]hRequest contents:}(hjoUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>Uhhubj)}(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$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)}(hjUh]hETHTOOL_A_FEATURES_HEADER}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hnestedh]hnested}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjVh]hETHTOOL_A_FEATURES_WANTED}(hj VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hbitseth]hbitset}(hj%VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"Vubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hrequested featuresh]hrequested features}(hjUhhubh)}(hKernel response contents:h]hKernel response contents:}(hjoVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>Uhhubj)}(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$uh1jhjVubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjVubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjVubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjVh]hETHTOOL_A_FEATURES_HEADER}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhM#hjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hnestedh]hnested}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h reply headerh]h reply header}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjVubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjWh]hETHTOOL_A_FEATURES_WANTED}(hj WhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhM$hjWubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hbitseth]hbitset}(hj%WhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj"Wubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hdiff wanted vs. resulth]hdiff wanted vs. result}(hjUhhubh)}(hRequest contains only one bitset which can be either value/mask pair (request to change specific feature bits and leave the rest) or only a value (request to set all features to specified set).h]hRequest contains only one bitset which can be either value/mask pair (request to change specific feature bits and leave the rest) or only a value (request to set all features to specified set).}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hj>Uhhubh)}(hXAs request is subject to netdev_change_features() sanity checks, optional kernel reply (can be suppressed by ``ETHTOOL_FLAG_OMIT_REPLY`` flag in request header) informs client about the actual result. ``ETHTOOL_A_FEATURES_WANTED`` 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). ``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 }(hjWhhhNhNubh)}(h``ETHTOOL_FLAG_OMIT_REPLY``h]hETHTOOL_FLAG_OMIT_REPLY}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubhA flag in request header) informs client about the actual result. }(hjWhhhNhNubh)}(h``ETHTOOL_A_FEATURES_WANTED``h]hETHTOOL_A_FEATURES_WANTED}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubhX 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). }(hjWhhhNhNubh)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]hETHTOOL_A_FEATURES_ACTIVE}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubh 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).}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM,hj>Uhhubh)}(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}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubhE notification is sent not only if device features are modified using }(hjXhhhNhNubh)}(h``ETHTOOL_MSG_FEATURES_SET``h]hETHTOOL_MSG_FEATURES_SET}(hj.XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubh request or on of ethtool ioctl request but also each time features are modified with netdev_update_features() or netdev_change_features().}(hjXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM7hj>Uhhubeh}(h] features-setah ]h"] features_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PRIVFLAGS_GETh]h PRIVFLAGS_GET}(hjQXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNXhhhhhM>ubh)}(h:Gets private flags like ``ETHTOOL_GPFLAGS`` ioctl request.h](hGets private flags like }(hj_XhhhNhNubh)}(h``ETHTOOL_GPFLAGS``h]hETHTOOL_GPFLAGS}(hjgXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_Xubh ioctl request.}(hj_XhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM@hjNXhhubh)}(hRequest contents:h]hRequest contents:}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjNXhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested request header ==================================== ====== ========================== 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_PRIVFLAGS_HEADER``h]h)}(hjXh]hETHTOOL_A_PRIVFLAGS_HEADER}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1hhhhMEhjXubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hnestedh]hnested}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjXubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjXubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjXubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhhhMDhjNXhhubh)}(hKernel response contents:h]hKernel response contents:}(hj(YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjNXhhubj)}(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=Yubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj=Yubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj=Yubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hjiYh]hETHTOOL_A_PRIVFLAGS_HEADER}(hjkYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgYubah}(h]h ]h"]h$]h&]uh1hhhhMKhjdYubah}(h]h ]h"]h$]h&]uh1jhjaYubj)}(hhh]h)}(hnestedh]hnested}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjYubah}(h]h ]h"]h$]h&]uh1jhjaYubj)}(hhh]h)}(h reply headerh]h reply header}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjYubah}(h]h ]h"]h$]h&]uh1jhjaYubeh}(h]h ]h"]h$]h&]uh1jhj^Yubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]h)}(hjYh]hETHTOOL_A_PRIVFLAGS_FLAGS}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMLhjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hbitseth]hbitset}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(h private flagsh]h private flags}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjYubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhj^Yubeh}(h]h ]h"]h$]h&]uh1jhj=Yubeh}(h]h ]h"]h$]h&]colsKuh1jhj:Yubah}(h]h ]h"]h$]h&]uh1jhj6Yubah}(h]h ]h"]h$]h&]uh1jhhhMJhjNXhhubh)}(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,ZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(Zubh 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(ZhhhNhNubh)}(h``ETH_SS_PRIV_FLAGS``h]hETH_SS_PRIV_FLAGS}(hj>ZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(Zubh 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(ZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMOhjNXhhubeh}(h] privflags-getah ]h"] privflags_getah$]h&]uh1hhhhhhhhM>ubh)}(hhh](h)}(h PRIVFLAGS_SETh]h PRIVFLAGS_SET}(hjaZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ZhhhhhMXubh)}(hWSets or modifies values of device private flags like ``ETHTOOL_SPFLAGS`` ioctl request.h](h5Sets or modifies values of device private flags like }(hjoZhhhNhNubh)}(h``ETHTOOL_SPFLAGS``h]hETHTOOL_SPFLAGS}(hjwZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoZubh ioctl request.}(hjoZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMZhj^Zhhubh)}(hRequest contents:h]hRequest contents:}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj^Zhhubj)}(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$uh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjZubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hjZh]hETHTOOL_A_PRIVFLAGS_HEADER}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1hhhhM`hjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hnestedh]hnested}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj[ubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(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&]uh1hhhhMahj"[ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hbitseth]hbitset}(hjE[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjB[ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(h private flagsh]h private flags}(hj\[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjY[ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]colsKuh1jhjZubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhhhM_hj^Zhhubh)}(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}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubhU can either set the whole set of private flags or modify only values of some of them.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMdhj^Zhhubeh}(h] privflags-setah ]h"] privflags_setah$]h&]uh1hhhhhhhhMXubh)}(hhh](h)}(h RINGS_GETh]h RINGS_GET}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hhhhhMiubh)}(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&]uh1hhhhMkhj[hhubh)}(hRequest contents:h]hRequest contents:}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj[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&]uh1hhhhMphj \ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hnestedh]hnested}(hjC\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj@\ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjZ\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjW\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&]uh1jhhhMohj[hhubh)}(hKernel response contents:h]hKernel response contents:}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj[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'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&]uh1hhhhMvhj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hnestedh]hnested}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj\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_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&]uh1hhhhMwhj ]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hu32h]hu32}(hjC]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhj@]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hmax size of RX ringh]hmax size of RX ring}(hjZ]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjW]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&]uh1hhjz]ubah}(h]h ]h"]h$]h&]uh1hhhhMxhjw]ubah}(h]h ]h"]h$]h&]uh1jhjt]ubj)}(hhh]h)}(hu32h]hu32}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj]ubah}(h]h ]h"]h$]h&]uh1jhjt]ubj)}(hhh]h)}(hmax size of RX mini ringh]hmax size of RX mini ring}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj]ubah}(h]h ]h"]h$]h&]uh1jhjt]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&]uh1hhhhMyhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hu32h]hu32}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj]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&]uh1hhhhMyhj^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&]uh1hhhhMzhj%^ubah}(h]h ]h"]h$]h&]uh1jhj"^ubj)}(hhh]h)}(hu32h]hu32}(hjH^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjE^ubah}(h]h ]h"]h$]h&]uh1jhj"^ubj)}(hhh]h)}(hmax size of TX ringh]hmax size of TX ring}(hj_^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj\^ubah}(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)}(hj^h]hETHTOOL_A_RINGS_RX}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhM{hj|^ubah}(h]h ]h"]h$]h&]uh1jhjy^ubj)}(hhh]h)}(hu32h]hu32}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj^ubah}(h]h ]h"]h$]h&]uh1jhjy^ubj)}(hhh]h)}(hsize of RX ringh]hsize of RX ring}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hj^ubah}(h]h ]h"]h$]h&]uh1jhjy^ubeh}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI``h]h)}(hj^h]hETHTOOL_A_RINGS_RX_MINI}(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)}(hsize of RX mini ringh]hsize of RX mini ring}(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_RINGS_RX_JUMBO``h]h)}(hj/_h]hETHTOOL_A_RINGS_RX_JUMBO}(hj1_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}(hjM_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjJ_ubah}(h]h ]h"]h$]h&]uh1jhj'_ubj)}(hhh]h)}(hsize of RX jumbo ringh]hsize of RX jumbo ring}(hjd_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hja_ubah}(h]h ]h"]h$]h&]uh1jhj'_ubeh}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX``h]h)}(hj_h]hETHTOOL_A_RINGS_TX}(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)}(hsize of TX ringh]hsize of TX ring}(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_RINGS_RX_BUF_LEN``h]h)}(hj_h]hETHTOOL_A_RINGS_RX_BUF_LEN}(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)}(hsize of buffers on the ringh]hsize of buffers on the 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_TCP_DATA_SPLIT``h]h)}(hj4`h]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hj6`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj/`ubah}(h]h ]h"]h$]h&]uh1jhj,`ubj)}(hhh]h)}(hu8h]hu8}(hjR`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjO`ubah}(h]h ]h"]h$]h&]uh1jhj,`ubj)}(hhh]h)}(hTCP header / data splith]hTCP header / data split}(hji`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjf`ubah}(h]h ]h"]h$]h&]uh1jhj,`ubeh}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]h)}(hj`h]hETHTOOL_A_RINGS_CQE_SIZE}(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)}(hSize of TX/RX CQEh]hSize of TX/RX CQE}(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_PUSH``h]h)}(hj`h]hETHTOOL_A_RINGS_TX_PUSH}(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}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hflag of TX Push modeh]hflag of TX Push mode}(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_PUSH``h]h)}(hj9ah]hETHTOOL_A_RINGS_RX_PUSH}(hj;ahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7aubah}(h]h ]h"]h$]h&]uh1hhhhMhj4aubah}(h]h ]h"]h$]h&]uh1jhj1aubj)}(hhh]h)}(hu8h]hu8}(hjWahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTaubah}(h]h ]h"]h$]h&]uh1jhj1aubj)}(hhh]h)}(hflag of RX Push modeh]hflag of RX Push mode}(hjnahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkaubah}(h]h ]h"]h$]h&]uh1jhj1aubeh}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]h)}(hjah]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hu32h]hu32}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hsize of TX push bufferh]hsize of TX push buffer}(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_RINGS_TX_PUSH_BUF_LEN_MAX``h]h)}(hjah]h#ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hu32h]hu32}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hmax size of TX push bufferh]hmax size of TX push buffer}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HDS_THRESH``h]h)}(hj>bh]hETHTOOL_A_RINGS_HDS_THRESH}(hj@bhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubj)}(hhh]h)}(hu32h]hu32}(hjddhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjadubah}(h]h ]h"]h$]h&]uh1jhj>dubj)}(hhh]h)}(hsize of RX ringh]hsize of RX ring}(hj{dhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxdubah}(h]h ]h"]h$]h&]uh1jhj>dubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI``h]h)}(hjdh]hETHTOOL_A_RINGS_RX_MINI}(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)}(hsize of RX mini ringh]hsize of RX mini ring}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_JUMBO``h]h)}(hjdh]hETHTOOL_A_RINGS_RX_JUMBO}(hjdhhhNhNubah}(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)}(hsize of RX jumbo ringh]hsize of RX jumbo ring}(hj)ehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&eubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX``h]h)}(hjKeh]hETHTOOL_A_RINGS_TX}(hjMehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIeubah}(h]h ]h"]h$]h&]uh1hhhhMhjFeubah}(h]h ]h"]h$]h&]uh1jhjCeubj)}(hhh]h)}(hu32h]hu32}(hjiehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfeubah}(h]h ]h"]h$]h&]uh1jhjCeubj)}(hhh]h)}(hsize of TX ringh]hsize of TX ring}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}eubah}(h]h ]h"]h$]h&]uh1jhjCeubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_BUF_LEN``h]h)}(hjeh]hETHTOOL_A_RINGS_RX_BUF_LEN}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hu32h]hu32}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hsize of buffers on the ringh]hsize of buffers on the ring}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]h)}(hjeh]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hu8h]hu8}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hTCP header / data splith]hTCP header / data split}(hj.fhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+fubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]h)}(hjPfh]hETHTOOL_A_RINGS_CQE_SIZE}(hjRfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNfubah}(h]h ]h"]h$]h&]uh1hhhhMhjKfubah}(h]h ]h"]h$]h&]uh1jhjHfubj)}(hhh]h)}(hu32h]hu32}(hjnfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkfubah}(h]h ]h"]h$]h&]uh1jhjHfubj)}(hhh]h)}(hSize of TX/RX CQEh]hSize of TX/RX CQE}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjHfubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX_PUSH``h]h)}(hjfh]hETHTOOL_A_RINGS_TX_PUSH}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hu8h]hu8}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hflag of TX Push modeh]hflag of TX Push mode}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_PUSH``h]h)}(hjfh]hETHTOOL_A_RINGS_RX_PUSH}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hu8h]hu8}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hflag of RX Push modeh]hflag of RX Push mode}(hj3ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0gubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]h)}(hjUgh]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hjWghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSgubah}(h]h ]h"]h$]h&]uh1hhhhMhjPgubah}(h]h ]h"]h$]h&]uh1jhjMgubj)}(hhh]h)}(hu32h]hu32}(hjsghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjpgubah}(h]h ]h"]h$]h&]uh1jhjMgubj)}(hhh]h)}(hsize of TX push bufferh]hsize of TX push buffer}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjMgubeh}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HDS_THRESH``h]h)}(hjgh]hETHTOOL_A_RINGS_HDS_THRESH}(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)}(h threshold of header / data splith]h threshold of header / data split}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]colsKuh1jhjcubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1jhhhMhj}chhubh)}(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.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}chhubh)}(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}(hj&hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hubhX? 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.}(hj"hhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj}chhubh)}(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}(hjBhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>hubh 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.}(hj>hhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj}chhubeh}(h] rings-setah ]h"] rings_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CHANNELS_GETh]h CHANNELS_GET}(hjehhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhhhhhhMubh)}(h=Gets channel counts like ``ETHTOOL_GCHANNELS`` ioctl request.h](hGets channel counts like }(hjshhhhNhNubh)}(h``ETHTOOL_GCHANNELS``h]hETHTOOL_GCHANNELS}(hj{hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjshubh ioctl request.}(hjshhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjbhhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbhhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_CHANNELS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjhubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjhubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjhubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CHANNELS_HEADER``h]h)}(hjhh]hETHTOOL_A_CHANNELS_HEADER}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hnestedh]hnested}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj ihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]colsKuh1jhjhubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jhhhMhjbhhhubh)}(hKernel response contents:h]hKernel response contents:}(hjpubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_RX_USECS``h]h)}(hjcph]hETHTOOL_A_COALESCE_RX_USECS}(hjephhhNhNubah}(h]h ]h"]h$]h&]uh1hhjapubah}(h]h ]h"]h$]h&]uh1hhhhM hj^pubah}(h]h ]h"]h$]h&]uh1jhj[pubj)}(hhh]h)}(hu32h]hu32}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj~pubah}(h]h ]h"]h$]h&]uh1jhj[pubj)}(hhh]h)}(hdelay (us), normal Rxh]hdelay (us), normal Rx}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjpubah}(h]h ]h"]h$]h&]uh1jhj[pubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_MAX_FRAMES``h]h)}(hjph]h ETHTOOL_A_COALESCE_RX_MAX_FRAMES}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhM hjpubah}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh]h)}(hu32h]hu32}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjpubah}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh]h)}(hmax packets, normal Rxh]hmax packets, normal Rx}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjpubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_IRQ``h]h)}(hjqh]hETHTOOL_A_COALESCE_RX_USECS_IRQ}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubah}(h]h ]h"]h$]h&]uh1hhhhM hj qubah}(h]h ]h"]h$]h&]uh1jhj qubj)}(hhh]h)}(hu32h]hu32}(hj/qhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj,qubah}(h]h ]h"]h$]h&]uh1jhj qubj)}(hhh]h)}(hdelay (us), Rx in IRQh]hdelay (us), Rx in IRQ}(hjFqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjCqubah}(h]h ]h"]h$]h&]uh1jhj qubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ``h]h)}(hjhqh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ}(hjjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfqubah}(h]h ]h"]h$]h&]uh1hhhhMhjcqubah}(h]h ]h"]h$]h&]uh1jhj`qubj)}(hhh]h)}(hu32h]hu32}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhj`qubj)}(hhh]h)}(hmax packets, Rx in IRQh]hmax packets, Rx in IRQ}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhj`qubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_TX_USECS``h]h)}(hjqh]hETHTOOL_A_COALESCE_TX_USECS}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hu32h]hu32}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hdelay (us), normal Txh]hdelay (us), normal Tx}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_MAX_FRAMES``h]h)}(hjrh]h ETHTOOL_A_COALESCE_TX_MAX_FRAMES}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hu32h]hu32}(hj4rhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1rubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hmax packets, normal Txh]hmax packets, normal Tx}(hjKrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHrubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_IRQ``h]h)}(hjmrh]hETHTOOL_A_COALESCE_TX_USECS_IRQ}(hjorhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkrubah}(h]h ]h"]h$]h&]uh1hhhhMhjhrubah}(h]h ]h"]h$]h&]uh1jhjerubj)}(hhh]h)}(hu32h]hu32}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjerubj)}(hhh]h)}(hdelay (us), Tx in IRQh]hdelay (us), Tx in IRQ}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjerubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ``h]h)}(hjrh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hu32h]hu32}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hIRQ packets, Tx in IRQh]hIRQ packets, Tx in IRQ}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS``h]h)}(hjsh]h$ETHTOOL_A_COALESCE_STATS_BLOCK_USECS}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hu32h]hu32}(hj9shhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6subah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hdelay of stats updateh]hdelay of stats update}(hjPshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMsubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX``h]h)}(hjrsh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX}(hjtshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpsubah}(h]h ]h"]h$]h&]uh1hhhhMhjmsubah}(h]h ]h"]h$]h&]uh1jhjjsubj)}(hhh]h)}(hboolh]hbool}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjjsubj)}(hhh]h)}(hadaptive Rx coalesceh]hadaptive Rx coalesce}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjjsubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX``h]h)}(hjsh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hboolh]hbool}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubj)}(hhh]h)}(hadaptive Tx coalesceh]hadaptive Tx coalesce}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_PKT_RATE_LOW``h]h)}(hj th]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(hj"thhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hu32h]hu32}(hj>thhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;tubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hthreshold for low rateh]hthreshold for low rate}(hjUthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRtubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_LOW``h]h)}(hjwth]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hjythhhNhNubah}(h]h ]h"]h$]h&]uh1hhjutubah}(h]h ]h"]h$]h&]uh1hhhhMhjrtubah}(h]h ]h"]h$]h&]uh1jhjotubj)}(hhh]h)}(hu32h]hu32}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjotubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjotubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW``h]h)}(hjth]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(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, low Rxh]hmax packets, low Rx}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_LOW``h]h)}(hj%uh]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hj'uhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#uubah}(h]h ]h"]h$]h&]uh1hhhhMhj uubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hu32h]hu32}(hjCuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@uubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hdelay (us), low Txh]hdelay (us), low Tx}(hjZuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWuubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW``h]h)}(hj|uh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW}(hj~uhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzuubah}(h]h ]h"]h$]h&]uh1hhhhMhjwuubah}(h]h ]h"]h$]h&]uh1jhjtuubj)}(hhh]h)}(hu32h]hu32}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjtuubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjtuubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hjuh]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(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)}(hthreshold for high rateh]hthreshold for high rate}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_USECS_HIGH``h]h)}(hj*vh]h ETHTOOL_A_COALESCE_RX_USECS_HIGH}(hj,vhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(vubah}(h]h ]h"]h$]h&]uh1hhhhMhj%vubah}(h]h ]h"]h$]h&]uh1jhj"vubj)}(hhh]h)}(hu32h]hu32}(hjHvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEvubah}(h]h ]h"]h$]h&]uh1jhj"vubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hj_vhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\vubah}(h]h ]h"]h$]h&]uh1jhj"vubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH``h]h)}(hjvh]h%ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhMhj|vubah}(h]h ]h"]h$]h&]uh1jhjyvubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjyvubj)}(hhh]h)}(hmax packets, high Rxh]hmax packets, high Rx}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjyvubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_USECS_HIGH``h]h)}(hjvh]h ETHTOOL_A_COALESCE_TX_USECS_HIGH}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hdelay (us), high Txh]hdelay (us), high Tx}(hj whhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj wubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH``h]h)}(hj/wh]h%ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH}(hj1whhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-wubah}(h]h ]h"]h$]h&]uh1hhhhMhj*wubah}(h]h ]h"]h$]h&]uh1jhj'wubj)}(hhh]h)}(hu32h]hu32}(hjMwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJwubah}(h]h ]h"]h$]h&]uh1jhj'wubj)}(hhh]h)}(hmax packets, high Txh]hmax packets, high Tx}(hjdwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjawubah}(h]h ]h"]h$]h&]uh1jhj'wubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h+``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL``h]h)}(hjwh]h'ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhM hjwubah}(h]h ]h"]h$]h&]uh1jhj~wubj)}(hhh]h)}(hu32h]hu32}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjwubah}(h]h ]h"]h$]h&]uh1jhj~wubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjwubah}(h]h ]h"]h$]h&]uh1jhj~wubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hjwh]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhM!hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hboolh]hbool}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjxubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]h)}(hj4xh]hETHTOOL_A_COALESCE_USE_CQE_RX}(hj6xhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2xubah}(h]h ]h"]h$]h&]uh1hhhhM"hj/xubah}(h]h ]h"]h$]h&]uh1jhj,xubj)}(hhh]h)}(hboolh]hbool}(hjRxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjOxubah}(h]h ]h"]h$]h&]uh1jhj,xubj)}(hhh]h)}(htimer reset mode, Rxh]htimer reset mode, Rx}(hjixhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjfxubah}(h]h ]h"]h$]h&]uh1jhj,xubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h)}(hjxh]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(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)}(hmax aggr size, Txh]hmax aggr size, Tx}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjxubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h)}(hjxh]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(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$hjxubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hmax aggr packets, Txh]hmax aggr packets, Tx}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjyubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h)}(hj9yh]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj;yhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7yubah}(h]h ]h"]h$]h&]uh1hhhhM%hj4yubah}(h]h ]h"]h$]h&]uh1jhj1yubj)}(hhh]h)}(hu32h]hu32}(hjWyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjTyubah}(h]h ]h"]h$]h&]uh1jhj1yubj)}(hhh]h)}(htime (us), aggr, Txh]htime (us), aggr, Tx}(hjnyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjkyubah}(h]h ]h"]h$]h&]uh1jhj1yubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]h)}(hjyh]hETHTOOL_A_COALESCE_RX_PROFILE}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyubah}(h]h ]h"]h$]h&]uh1hhhhM&hjyubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hnestedh]hnested}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjyubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjyubah}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjpubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]h)}(hjyh]hETHTOOL_A_COALESCE_TX_PROFILE}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyubah}(h]h ]h"]h$]h&]uh1hhhhM'hjyubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hnestedh]hnested}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjzubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjzubah}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]colsKuh1jhjoubah}(h]h ]h"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&]uh1jhhhM hjnhhubh)}(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 }(hjOzhhhNhNubh)}(h*``ethtool_ops::supported_coalesce_params``h]hðtool_ops::supported_coalesce_params}(hjWzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOzubh8 is set (i.e. they are declared as supported by driver).}(hjOzhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hjnhhubh)}(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 (}(hjozhhhNhNubh)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjwzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjozubh and }(hjozhhhNhNubh)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]hETHTOOL_A_COALESCE_USE_CQE_RX}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjozubhX) 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 }(hjozhhhNhNubh)}(h``CQE``h]hCQE}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjozubh 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.}(hjozhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM.hjnhhubh)}(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. }(hjzhhhNhNubh)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubh? describes the maximum size in bytes for the submitted buffer. }(hjzhhhNhNubh)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubhU describes the maximum number of frames that can be aggregated into a single buffer. }(hjzhhhNhNubh)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubhX 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.}(hjzhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM:hjnhhubh)}(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}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubh and }(hjzhhhNhNubh)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]hETHTOOL_A_COALESCE_TX_PROFILE}(hj {hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubh refer to DIM parameters, see }(hjzhhhNhNubh 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{hjzubhtarget)}(hB h]h}(h]4generic-network-dynamic-interrupt-moderation-net-dimah ]h"]6generic network dynamic interrupt moderation (net dim)ah$]h&]refurij2{uh1j3{ referencedKhjzubh.}(hjzhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMEhjnhhubeh}(h] coalesce-getah ]h"] coalesce_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h COALESCE_SETh]h COALESCE_SET}(hjX{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjU{hhhhhMJubh)}(hDSets coalescing parameters like ``ETHTOOL_SCOALESCE`` ioctl request.h](h Sets coalescing parameters like }(hjf{hhhNhNubh)}(h``ETHTOOL_SCOALESCE``h]hETHTOOL_SCOALESCE}(hjn{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjf{ubh ioctl request.}(hjf{hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhjU{hhubh)}(hRequest contents:h]hRequest contents:}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjU{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&]uh1hhhhMQhj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hnestedh]hnested}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhj{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&]uh1hhhhMRhj|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hu32h]hu32}(hj<|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhj9|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hdelay (us), normal Rxh]hdelay (us), normal Rx}(hjS|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjP|ubah}(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)}(hju|h]h ETHTOOL_A_COALESCE_RX_MAX_FRAMES}(hjw|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs|ubah}(h]h ]h"]h$]h&]uh1hhhhMShjp|ubah}(h]h ]h"]h$]h&]uh1jhjm|ubj)}(hhh]h)}(hu32h]hu32}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj|ubah}(h]h ]h"]h$]h&]uh1jhjm|ubj)}(hhh]h)}(hmax packets, normal Rxh]hmax packets, normal Rx}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShj|ubah}(h]h ]h"]h$]h&]uh1jhjm|ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_IRQ``h]h)}(hj|h]hETHTOOL_A_COALESCE_RX_USECS_IRQ}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubah}(h]h ]h"]h$]h&]uh1hhhhMThj|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hu32h]hu32}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hdelay (us), Rx in IRQh]hdelay (us), Rx in IRQ}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj|ubah}(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_IRQ``h]h)}(hj#}h]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ}(hj%}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!}ubah}(h]h ]h"]h$]h&]uh1hhhhMUhj}ubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hu32h]hu32}(hjA}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj>}ubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hmax packets, Rx in IRQh]hmax packets, Rx in IRQ}(hjX}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjU}ubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_TX_USECS``h]h)}(hjz}h]hETHTOOL_A_COALESCE_TX_USECS}(hj|}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjx}ubah}(h]h ]h"]h$]h&]uh1hhhhMVhju}ubah}(h]h ]h"]h$]h&]uh1jhjr}ubj)}(hhh]h)}(hu32h]hu32}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj}ubah}(h]h ]h"]h$]h&]uh1jhjr}ubj)}(hhh]h)}(hdelay (us), normal Txh]hdelay (us), normal Tx}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhj}ubah}(h]h ]h"]h$]h&]uh1jhjr}ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_MAX_FRAMES``h]h)}(hj}h]h ETHTOOL_A_COALESCE_TX_MAX_FRAMES}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1hhhhMWhj}ubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hu32h]hu32}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj}ubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hmax packets, normal Txh]hmax packets, normal Tx}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj~ubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_IRQ``h]h)}(hj(~h]hETHTOOL_A_COALESCE_TX_USECS_IRQ}(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}(hjF~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjC~ubah}(h]h ]h"]h$]h&]uh1jhj ~ubj)}(hhh]h)}(hdelay (us), Tx in IRQh]hdelay (us), Tx in IRQ}(hj]~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjZ~ubah}(h]h ]h"]h$]h&]uh1jhj ~ubeh}(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}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}~ubah}(h]h ]h"]h$]h&]uh1hhhhMYhjz~ubah}(h]h ]h"]h$]h&]uh1jhjw~ubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj~ubah}(h]h ]h"]h$]h&]uh1jhjw~ubj)}(hhh]h)}(hIRQ packets, Tx in IRQh]hIRQ packets, Tx in IRQ}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj~ubah}(h]h ]h"]h$]h&]uh1jhjw~ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS``h]h)}(hj~h]h$ETHTOOL_A_COALESCE_STATS_BLOCK_USECS}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhMZhj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hdelay of stats updateh]hdelay of stats update}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX``h]h)}(hj-h]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX}(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)}(hboolh]hbool}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjHubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hadaptive Rx coalesceh]hadaptive Rx coalesce}(hjbhhhNhNubah}(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_USE_ADAPTIVE_TX``h]h)}(hjh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM\hjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hadaptive Tx coalesceh]hadaptive Tx coalesce}(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_PKT_RATE_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(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)}(hthreshold for low rateh]hthreshold for low rate}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj 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)}(hj2h]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM^hj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hu32h]hu32}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjMubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjdubah}(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_LOW``h]h)}(hjh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(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, low Rxh]hmax packets, low Rx}(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_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhj؀ubj)}(hhh]h)}(hdelay (us), low Txh]hdelay (us), low Tx}(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_TX_MAX_FRAMES_LOW``h]h)}(hj7h]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMahj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hu32h]hu32}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjRubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjiubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hjh]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(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)}(hthreshold for high rateh]hthreshold for high rate}(hjÁhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhj݁ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhj݁ubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(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_HIGH``h]h)}(hj<h]h%ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMdhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hu32h]hu32}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hmax packets, high Rxh]hmax packets, high Rx}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_USECS_HIGH``h]h)}(hjh]h ETHTOOL_A_COALESCE_TX_USECS_HIGH}(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 (us), high Txh]hdelay (us), high Tx}(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_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&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, high Txh]hmax packets, high Tx}(hjhhhNhNubah}(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_RATE_SAMPLE_INTERVAL``h]h)}(hjAh]h'ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhMghj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hu32h]hu32}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghj\ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjsubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hjh]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(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_USE_CQE_RX``h]h)}(hjh]hETHTOOL_A_COALESCE_USE_CQE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htimer reset mode, Rxh]htimer reset mode, 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_TX_AGGR_MAX_BYTES``h]h)}(hjFh]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhMjhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hu32h]hu32}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hmax aggr size, Txh]hmax aggr size, Tx}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjxubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h)}(hjh]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(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)}(hmax aggr packets, Txh]hmax aggr packets, 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_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&]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)}(htime (us), aggr, Txh]htime (us), aggr, 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_RX_PROFILE``h]h)}(hjKh]hETHTOOL_A_COALESCE_RX_PROFILE}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhMmhjFubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hnestedh]hnested}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjfubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj}ubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_PROFILE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(hjׅhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjԅubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1jhhhMPhjU{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}(hjhhhNhNubah}(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&]uh1hhhhMqhjU{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 }(hj*hhhNhNubh)}(h ``ioctl()``h]hioctl()}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubh 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.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMvhjU{hhubeh}(h] coalesce-setah ]h"] coalesce_setah$]h&]uh1hhhhhhhhMJubh)}(hhh](h)}(h PAUSE_GETh]h PAUSE_GET}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhhhhhM|ubh)}(hEGets pause frame settings like ``ETHTOOL_GPAUSEPARAM`` ioctl request.h](hGets pause frame settings like }(hjchhhNhNubh)}(h``ETHTOOL_GPAUSEPARAM``h]hETHTOOL_GPAUSEPARAM}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubh ioctl request.}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM~hjRhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRhhubj)}(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%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_PAUSE_HEADER``h]h)}(hjĆh]hETHTOOL_A_PAUSE_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}(hjhhhNhNubah}(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_PAUSE_STATS_SRC``h]h)}(hjh]hETHTOOL_A_PAUSE_STATS_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(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&]uh1jhhhMhjRhhubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh# is optional. It takes values from:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjRhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleethtool_mac_stats_src (C enum)c.ethtool_mac_stats_srchNtauh1jhjRhhhNhNubhdesc)}(hhh](hdesc_signature)}(hethtool_mac_stats_srch]hdesc_signature_line)}(henum ethtool_mac_stats_srch](hdesc_sig_keyword)}(henumh]henum}(hjÇhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhKubhdesc_sig_space)}(h h]h }(hjՇhhhNhNubah}(h]h ]wah"]h$]h&]uh1jӇhjhhhj҇hKubh desc_name)}(hethtool_mac_stats_srch]h desc_sig_name)}(hjh]hethtool_mac_stats_src}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&] xml:spacepreserveuh1jhjhhhj҇hKubeh}(h]h ]h"]h$]h&]jj add_permalinkuh1jsphinx_line_type declaratorhjhhhj҇hKubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhj҇hKhjhhubh desc_content)}(hhh]h)}(h source of ethtool MAC statisticsh]h source of ethtool MAC statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj҇hKubeh}(h]h ](cenumeh"]h$]h&]domainj5objtypej6desctypej6noindex noindexentrynocontentsentryuh1jhhhjRhNhNubh 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)}(hjHh]h Constants}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjFubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhjBubhdefinition_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)}(hjoh]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhjgubh 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jehjhMhjbubjf)}(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](jl)}(h``ETHTOOL_MAC_STATS_SRC_EMAC``h]h)}(hjh]hETHTOOL_MAC_STATS_SRC_EMAC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhjubj)}(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.}(hjĈhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjbubjf)}(ha``ETHTOOL_MAC_STATS_SRC_PMAC`` if device supports a MM layer, this retrieves the pMAC statistics.h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1161: ./include/uapi/linux/ethtool.hhMhj߈ubj)}(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:1161: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhj߈ubeh}(h]h ]h"]h$]h&]uh1jehjhMhjbubeh}(h]h ]h"]h$]h&]uh1j`hjBubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjRhhhNhNubh)}(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 }(hj&hhhNhNubh)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]hETHTOOL_A_PAUSE_STATS_SRC}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubh$ attribute in the response equal to }(hj&hhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubh.}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjRhhubh)}(hKernel response contents:h]hKernel response contents:}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRhhubj)}(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%uh1jhjmubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjmubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjmubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(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_RX``h]h)}(hjGh]hETHTOOL_A_PAUSE_RX}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hboolh]hbool}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(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&]uh1jhjubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpause statisticsh]hpause statistics}(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&]uh1jhjmubeh}(h]h ]h"]h$]h&]colsKuh1jhjjubah}(h]h ]h"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]uh1jhhhMhjRhhubh)}(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}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubh are reported if }(hj]hhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubh was set in }(hj]hhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubhv. It will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:}(hj]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjRhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_pause_stats (C struct)c.ethtool_pause_statshNtauh1jhjRhhhNhNubj)}(hhh](j)}(hethtool_pause_statsh]j)}(hstruct ethtool_pause_statsh](j‡)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhM7ubjԇ)}(h h]h }(hjŋhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjċhM7ubj)}(hethtool_pause_statsh]j)}(hjh]hethtool_pause_stats}(hj׋hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjӋubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjċhM7ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjċhM7ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjċhM7hjhhubj)}(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:1183: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjċhM7ubeh}(h]h ](j5structeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjRhNhNubjA)}(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``. Equivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard. ``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to: Equivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard.h](h)}(h**Definition**::h](jK)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjubh 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; };}hj8sbah}(h]h ]h"]h$]h&]jjuh1j6hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]jK)}(hjIh]hMembers}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjGubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjubja)}(hhh](jf)}(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](jl)}(h``src``h]h)}(hjhh]hsrc}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjbubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhj~ubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jehj}hMhj_ubjf)}(h``tx_pause_frames`` transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``. Equivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard. h](jl)}(h``tx_pause_frames``h]h)}(hjh]htx_pause_frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjubj)}(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 }(hjhhhNhNubh)}(h"``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``h]hETHTOOL_A_PAUSE_STAT_TX_FRAMES}(hjÌhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjubh)}(hJEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard.h](hEquivalent to }(hj܌hhhNhNubhtitle_reference)}(h)`30.3.4.2 aPAUSEMACCtrlFramesTransmitted`h]h'30.3.4.2 aPAUSEMACCtrlFramesTransmitted}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj܌ubh from the standard.}(hj܌hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj_ubjf)}(h``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to: Equivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard.h](jl)}(h``rx_pause_frames``h]h)}(hjh]hrx_pause_frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhj ubj)}(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}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubh. Equivalent to:}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1183: ./include/linux/ethtool.hhMhj'ubh)}(hGEquivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard.h](hEquivalent to }(hjKhhhNhNubj)}(h&`30.3.4.3 aPAUSEMACCtrlFramesReceived`h]h$30.3.4.3 aPAUSEMACCtrlFramesReceived}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubh from the standard.}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhj&hMhj'ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jehj&hMhj_ubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjRhhhNhNubh)}(h2Each member has a corresponding attribute defined.h]h2Each member has a corresponding attribute defined.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRhhubeh}(h] pause-getah ]h"] pause_getah$]h&]uh1hhhhhhhhM|ubh)}(hhh](h)}(h PAUSE_SETh]h PAUSE_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(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&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjˍhhhNhNubah}(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 ===================================== ====== ========================== 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_PAUSE_HEADER``h]h)}(hj h]hETHTOOL_A_PAUSE_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}(hjAhhhNhNubah}(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)}(hjch]hETHTOOL_A_PAUSE_AUTONEG}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1hhhhMhj^ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(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_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}(hj؎hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjՎubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(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_PAUSE_TX``h]h)}(hjh]hETHTOOL_A_PAUSE_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hboolh]hbool}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(htransmit pause framesh]htransmit pause frames}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1jhhhMhjhhubeh}(h] pause-setah ]h"] pause_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_GETh]hEEE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hLGets Energy Efficient Ethernet settings like ``ETHTOOL_GEEE`` ioctl request.h](h-Gets Energy Efficient Ethernet settings like }(hjhhhNhNubh)}(h``ETHTOOL_GEEE``h]h ETHTOOL_GEEE}(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)}(h===================================== ====== ========================== ``ETHTOOL_A_EEE_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_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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&]uh1jhjubah}(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&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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%uh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsupported/advertised modesh]hsupported/advertised modes}(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_EEE_MODES_PEER``h]h)}(hjJh]hETHTOOL_A_EEE_MODES_PEER}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(hboolh]hbool}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(hpeer advertised link modesh]hpeer advertised link modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj|ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEEE is actively usedh]hEEE is actively used}(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_EEE_ENABLED``h]h)}(hjh]hETHTOOL_A_EEE_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)}(hEEE is enabledh]hEEE is enabled}(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_EEE_TX_LPI_ENABLED``h]h)}(hjOh]hETHTOOL_A_EEE_TX_LPI_ENABLED}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hboolh]hbool}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hTx lpi enabledh]hTx lpi enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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}(hjĒhhhNhNubah}(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)}(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&]uh1jhjpubeh}(h]h ]h"]h$]h&]colsKuh1jhjmubah}(h]h ]h"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh callback.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]eee-getah ]h"]eee_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_SETh]hEEE_SET}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhhhhhMubh)}(hNSets Energy Efficient Ethernet parameters like ``ETHTOOL_SEEE`` ioctl request.h](h/Sets Energy Efficient Ethernet parameters like }(hjkhhhNhNubh)}(h``ETHTOOL_SEEE``h]h ETHTOOL_SEEE}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubh ioctl request.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjZhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZhhubj)}(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)}(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}(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_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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hadvertised modesh]hadvertised modes}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ENABLED``h]h)}(hjzh]hETHTOOL_A_EEE_ENABLED}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hEEE is enabledh]hEEE is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_EEE_TX_LPI_ENABLED``h]h)}(hjєh]hETHTOOL_A_EEE_TX_LPI_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)}(hTx lpi enabledh]hTx lpi enabled}(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_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&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(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&]uh1jhhhMhjZhhubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhX 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 }(hjhhhNhNubh)}(h``ethtool_ops``h]h ethtool_ops}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh callback supports.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjZhhubeh}(h]eee-setah ]h"]eee_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h TSINFO_GETh]h TSINFO_GET}(hjɕhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjƕhhhhhMubh)}(hIGets timestamping information like ``ETHTOOL_GET_TS_INFO`` ioctl request.h](h#Gets timestamping information like }(hjוhhhNhNubh)}(h``ETHTOOL_GET_TS_INFO``h]hETHTOOL_GET_TS_INFO}(hjߕhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjוubh ioctl request.}(hjוhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjƕhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjƕhhubj)}(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(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_TSINFO_HEADER``h]h)}(hj8h]hETHTOOL_A_TSINFO_HEADER}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hnestedh]hnested}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER``h]h)}(hjh]h"ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER}(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)}(hPTP hw clock providerh]hPTP hw clock provider}(hjĖhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1jhjubah}(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_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%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_TSINFO_HEADER``h]h)}(hj8h]hETHTOOL_A_TSINFO_HEADER}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hnestedh]hnested}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSINFO_TIMESTAMPING``h]h)}(hjh]hETHTOOL_A_TSINFO_TIMESTAMPING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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)}(hSO_TIMESTAMPING flagsh]hSO_TIMESTAMPING flags}(hjėhhhNhNubah}(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_TSINFO_TX_TYPES``h]h)}(hjh]hETHTOOL_A_TSINFO_TX_TYPES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjޗubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjޗubj)}(hhh]h)}(hsupported Tx typesh]hsupported Tx types}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjޗubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(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&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hbitseth]hbitset}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjXubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hsupported Rx filtersh]hsupported Rx filters}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_PHC_INDEX``h]h)}(hjh]hETHTOOL_A_TSINFO_PHC_INDEX}(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)}(hPTP hw clock indexh]hPTP hw clock index}(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_TSINFO_STATS``h]h)}(hjh]hETHTOOL_A_TSINFO_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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHW timestamping statisticsh]hHW timestamping statistics}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjƕhhubh)}(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}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubh 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).}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjƕhhubh)}(h>Additional hardware timestamping statistics response contents:h]h>Additional hardware timestamping statistics response contents:}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjƕhhubj)}(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&]colwidthK2uh1jhjubj)}(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_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}(hjΙhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj˙ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPackets with Tx HW timestampsh]hPackets with Tx HW timestamps}(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_LOST``h]h)}(hjh]hETHTOOL_A_TS_STAT_TX_LOST}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!Tx HW timestamp not arrived counth]h!Tx HW timestamp not arrived count}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(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)}(hj^h]hETHTOOL_A_TS_STAT_TX_ERR}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhhhM hjYubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(huinth]huint}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjyubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h#HW error request Tx timestamp counth]h#HW error request Tx timestamp count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(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&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hjӚhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjКubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(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ƕhhubeh}(h] tsinfo-getah ]h"] tsinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CABLE_TESTh]h CABLE_TEST}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hhhhhMubh)}(hStart a cable test.h]hStart a cable test.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%hhubh)}(hRequest contents:h]hRequest contents:}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_CABLE_TEST_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjYubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjYubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjYubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_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&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]colsKuh1jhjVubah}(h]h ]h"]h$]h&]uh1jhjRubah}(h]h ]h"]h$]h&]uh1jhhhMhj%hhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%hhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%hhubh)}(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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj%hhubj)}(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)}(hj^h]hETHTOOL_A_CABLE_TEST_HEADER}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhhhM+hjYubah}(h]h ]h"]h$]h&]morecolsKuh1jhjVubj)}(hhh]h)}(hnestedh]hnested}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjzubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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&]uh1hhhhM-hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj՜hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjҜubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h completedh]h completed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhM/hj ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj*ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hall the resultsh]hall the results}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjAubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_RESULT``h]h)}(hjoh]hETHTOOL_A_CABLE_NEST_RESULT}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1hhhhM1hjjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj^ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hcable test resulth]hcable test result}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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)}(hjٝh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hj۝hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjםubah}(h]h ]h"]h$]h&]uh1hhhhM3hjԝubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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)}(hjBh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjDhhhNhNubah}(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}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hj]ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h result codeh]h result code}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjtubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcable test resultsh]hcable test results}(hj؞hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hj՞ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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)}(hj h]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhM9hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hj'ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hj>ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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)}(hjuh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhM;hjpubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(h result codeh]h result code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hjubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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_RESULT_SRC``h]h)}(hjޟh]hETHTOOL_A_CABLE_RESULT_SRC}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jhjğubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjubah}(h]h ]h"]h$]h&]uh1jhjğubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(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&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhM?hj9ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hnestedh]hnested}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjZubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h cable lengthh]h cable length}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjqubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhMAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjƠhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjàubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hjݠhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjڠubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhMChj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChj,ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h length in cmh]h length in cm}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjCubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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_SRC``h]h)}(hjzh]h ETHTOOL_A_CABLE_FAULT_LENGTH_SRC}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhMEhjuubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(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%hhubeh}(h] cable-testah ]h"] cable_testah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hCABLE_TEST TDRh]hCABLE_TEST TDR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMJubh)}(h*Start a cable test and report raw TDR datah]h*Start a cable test and report raw TDR data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjhhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjhhubj)}(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)}(hj^h]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhhhMQhjYubah}(h]h ]h"]h$]h&]morecolsKuh1jhjVubj)}(hhh]h)}(hnestedh]hnested}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjzubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjբhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjҢubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htest configurationh]htest configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(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&]uh1hhhhMUhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hfirst data distanceh]hfirst data distance}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjJubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE``h]h)}(hjxh]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhMWhjsubah}(h]h ]h"]h$]h&]morecolsKuh1jhjgubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hlast data distanceh]hlast data distance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjȣubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE``h]h)}(hj٣h]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hjۣhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjףubah}(h]h ]h"]h$]h&]uh1hhhhMYhjԣubah}(h]h ]h"]h$]h&]morecolsKuh1jhjȣubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjubah}(h]h ]h"]h$]h&]uh1jhjȣubj)}(hhh]h)}(hdistance of each steph]hdistance of each step}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj ubah}(h]h ]h"]h$]h&]uh1jhjȣubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR``h]h)}(hj:h]h!ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM[hj5ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj)ubj)}(hhh]h)}(hu8h]hu8}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjVubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h pair to testh]h pair to test}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjmubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMPhjhhubh)}(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&]uh1hhhhM^hjhhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjhhubh)}(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&]uh1hhhhMfhjhhubh)}(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.}(hjͤhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjhhubh)}(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.}(hjۤhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjhhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjhhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjhhubh)}(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&]uh1hhhhM~hjhhubj)}(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)}(hjZh]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]morecolsKuh1jhjRubj)}(hhh]h)}(hnestedh]hnested}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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}(hjѥhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjΥubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h completedh]h completed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST``h]h)}(hj h]h!ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST}(hj hhhNhNubah}(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&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h"``ETHTOOL_A_CABLE_TDR_NEST_PULSE``h]h)}(hjkh]hETHTOOL_A_CABLE_TDR_NEST_PULSE}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]morecolsKuh1jhjZubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hTX Pulse amplitudeh]hTX Pulse amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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)}(hjզh]hETHTOOL_A_CABLE_PULSE_mV}(hjצhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjӦubah}(h]h ]h"]h$]h&]uh1hhhhMhjЦubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPulse amplitudeh]hPulse amplitude}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_STEP``h]h)}(hj5h]hETHTOOL_A_CABLE_NEST_STEP}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj$ubj)}(hhh]h)}(hnestedh]hnested}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(h TDR step infoh]h TDR step info}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]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)}(hFirst data distanceh]hFirst data distance}(hjԧhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjѧubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE``h]h)}(hjh]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(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)}(hLast data distanceh]hLast data distance}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE``h]h)}(hjqh]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hdistance of each steph]hdistance of each step}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hjѨh]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hjӨhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjϨubah}(h]h ]h"]h$]h&]uh1hhhhMhj̨ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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&]uh1jhjOubj)}(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)}(hj;h]hETHTOOL_A_CABLE_RESULTS_PAIR}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(hu8h]hu8}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh]h)}(h pair numberh]h pair number}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hj٩hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj֩ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjnh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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)}(hjתh]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hj٪hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjժubah}(h]h ]h"]h$]h&]uh1hhhhMhjҪubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hj7h]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj&ubj)}(hhh]h)}(hnestedh]hnested}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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&]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 pair numberh]h pair number}(hj֫hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjӫubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubj)}(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)}(hj h]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hj hhhNhNubah}(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}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(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]cable-test-tdrah ]h"]cable_test tdrah$]h&]uh1hhhhhhhhMJubh)}(hhh](h)}(h TUNNEL_INFOh]h TUNNEL_INFO}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhMubh)}(h8Gets information about the tunnel state NIC is aware of.h]h8Gets information about the tunnel state NIC is aware of.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubj)}(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)}(hjڬh]hETHTOOL_A_TUNNEL_INFO_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}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjzhhubh)}(hKernel response contents:h]hKernel response contents:}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubj)}(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&]colwidthKuh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjWubj)}(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&]morecolsKuh1jhjubj)}(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}(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_TUNNEL_INFO_UDP_PORTS``h]h)}(hjh]hETHTOOL_A_TUNNEL_INFO_UDP_PORTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hall UDP port tablesh]hall UDP port tables}(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]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h``ETHTOOL_A_TUNNEL_UDP_TABLE``h]h)}(hjZh]hETHTOOL_A_TUNNEL_UDP_TABLE}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]morecolsKuh1jhjIubj)}(hhh]h)}(hnestedh]hnested}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hone UDP port tableh]hone UDP port table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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)}(hjĮh]hETHTOOL_A_TUNNEL_UDP_TABLE_SIZE}(hjƮhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj®ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax size of the tableh]hmax size of the table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES``h]h)}(hj.h]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!tunnel types which table can holdh]h!tunnel types which table can hold}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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_TUNNEL_UDP_TABLE_ENTRY``h]h)}(hjh]h ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY}(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)}(hoffloaded UDP porth]hoffloaded UDP port}(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]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT``h]h)}(hj h]hETHTOOL_A_TUNNEL_UDP_ENTRY_PORT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbe16h]hbe16}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hUDP porth]hUDP port}(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]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE``h]h)}(hj}h]hETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h tunnel typeh]h tunnel type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]colsKuh1jhjTubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1jhhhMhjzhhubh)}(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 }(hjhhhNhNubh)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES``h]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhI indicates that the table contains static entries, hard-coded by the NIC.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubeh}(h] tunnel-infoah ]h"] tunnel_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_GETh]hFEC_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(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&]uh1hhhhMhj hhubh)}(hRequest contents:h]hRequest contents:}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_FEC_HEADER`` nested request header ===================================== ====== ========================== 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_FEC_HEADER``h]h)}(hjh]hETHTOOL_A_FEC_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&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]colsKuh1jhjPubah}(h]h ]h"]h$]h&]uh1jhjLubah}(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_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%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_FEC_HEADER``h]h)}(hj(h]hETHTOOL_A_FEC_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}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_MODES``h]h)}(hjh]hETHTOOL_A_FEC_MODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hconfigured modesh]hconfigured modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_AUTO``h]h)}(hjֲh]hETHTOOL_A_FEC_AUTO}(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)}(hFEC mode auto selectionh]hFEC mode auto selection}(hj hhhNhNubah}(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_FEC_ACTIVE``h]h)}(hj-h]hETHTOOL_A_FEC_ACTIVE}(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}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hindex of active FEC modeh]hindex of active FEC mode}(hjbhhhNhNubah}(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_FEC_STATS``h]h)}(hjh]hETHTOOL_A_FEC_STATS}(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)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 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.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(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}(hj hhhNhNubah}(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}(hj0hhhNhNubah}(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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh bit of the ioctl interface. }(hjhhhNhNubh)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hjThhhNhNubah}(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_*}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh bits).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh are reported if }(hj~hhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh was set in }(hj~hhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh. 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:}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(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)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj޴ubah}(h]h ]h"]h$]h&]uh1jhj۴ubj)}(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&]uh1jhj۴ubeh}(h]h ]h"]h$]h&]uh1jhjشubj)}(hhh](j)}(hhh]h)}(h`1`h]j)}(hj#h]h1}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(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}(hjAhhhNhNubah}(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 `1 + #lanes`h]j)}(hjch]h 1 + #lanes}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubah}(h]h ]h"]h$]h&]uh1hhhhMhj^ubah}(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}(hjhhhNhNubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubh)}(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&]uh1hhhhMhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_fec_stats (C struct)c.ethtool_fec_statshNtauh1jhj hhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhNubj)}(hhh](j)}(hethtool_fec_statsh]j)}(hstruct ethtool_fec_statsh](j‡)}(hjh]hstruct}(hjֵhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjҵhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhM7ubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjҵhhhjhM7ubj)}(hethtool_fec_statsh]j)}(hjеh]hethtool_fec_stats}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjҵhhhjhM7ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjεhhhjhM7ubah}(h]jȵah ](jjeh"]h$]h&]jj)jhuh1jhjhM7hj˵hhubj)}(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:1532: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhj˵hhhjhM7ubeh}(h]h ](j5structeh"]h$]h&]j:j5j;j0j<j0j=j>j?uh1jhhhj hjʵhNubjA)}(hXt**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``. Equivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard. ``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. Equivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard. ``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](jK)}(h**Definition**h]h Definition}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj8ubh:}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhj4ubj7)}(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; };}hjUsbah}(h]h ]h"]h$]h&]jjuh1j6hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhj4ubh)}(h **Members**h]jK)}(hjfh]hMembers}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjdubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhj4ubja)}(hhh](jf)}(h``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. Equivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard. h](jl)}(h``corrected_blocks``h]h)}(hjh]hcorrected_blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhjubj)}(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:1532: ./include/linux/ethtool.hhMhjubh)}(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}(hjǶhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj|ubjf)}(h``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. Equivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard. h](jl)}(h``uncorrectable_blocks``h]h)}(hjh]huncorrectable_blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhjubj)}(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}(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:1532: ./include/linux/ethtool.hhMhjubh)}(hFEquivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard.h](hEquivalent to }(hj+hhhNhNubj)}(h%`30.5.1.1.18 aFECUncorrectableBlocks`h]h#30.5.1.1.18 aFECUncorrectableBlocks}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh from the standard.}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj|ubjf)}(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](jl)}(h``corrected_bits``h]h)}(hj]h]hcorrected_bits}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhjWubj)}(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 }(hjvhhhNhNubjK)}(h**corrected_blocks**h]hcorrected_blocks}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjvubh| but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as }(hjvhhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORR_BITS``h]hETHTOOL_A_FEC_STAT_CORR_BITS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubh.}(hjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jehjrhMhj|ubeh}(h]h ]h"]h$]h&]uh1j`hj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hj hhhjʵhNubh)}(h**Description**h]jK)}(hjķh]h Description}(hjƷhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj·ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhj hhubh)}(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:1532: ./include/linux/ethtool.hhMhj hhubj-)}(hhh](j-)}(hB**lanes**: per-lane/PCS-instance counts as defined by the standardh]h)}(hjh](jK)}(h **lanes**h]hlanes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubh9: per-lane/PCS-instance counts as defined by the standard}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1j-hjubj-)}(hb**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h]ja)}(hhh]jf)}(h_**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h](jl)}(hO**total**: error counts for the entire port, for drivers incapable of reportingh](jK)}(h **total**h]htotal}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubhF: error counts for the entire port, for drivers incapable of reporting}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhjubj)}(hhh]h)}(hper-lane statsh]hper-lane stats}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj9hMhjubah}(h]h ]h"]h$]h&]uh1j`hjubah}(h]h ]h"]h$]h&]uh1j-hjubeh}(h]h ]h"]h$]h&]jH.jI.uh1j-hj hMhj hhubh)}(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.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1532: ./include/linux/ethtool.hhMhj hhubeh}(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&]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)}(hjIh]hETHTOOL_A_FEC_MODES}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hbitseth]hbitset}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hconfigured modesh]hconfigured modes}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(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&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFEC mode auto selectionh]hFEC mode auto selection}(hjչhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjҹ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&]colsKuh1jhjøubah}(h]h ]h"]h$]h&]uh1jhjubah}(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}(hj hhhNhNubah}(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&]uh1hhhhM hjhhubh)}(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}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubh 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.}(hj$hhhNhNubeh}(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}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubhk requests the driver to choose FEC mode based on SFP module parameters. This does not mean autonegotiation.}(hj@hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]fec-setah ]h"]fec_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMODULE_EEPROM_GETh]hMODULE_EEPROM_GET}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdhhhhhMubh)}(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.}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdhhubj)}(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&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjߺubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(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_MODULE_EEPROM_OFFSET``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_OFFSET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hoffset within a pageh]hoffset within a page}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_LENGTH``h]h)}(hjrh]hETHTOOL_A_MODULE_EEPROM_LENGTH}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhM$hjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hamount of bytes to readh]hamount of bytes to read}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhM%hjĻubah}(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)}(h page numberh]h page number}(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_MODULE_EEPROM_BANK``h]h)}(hj h]hETHTOOL_A_MODULE_EEPROM_BANK}(hj"hhhNhNubah}(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 bank numberh]h bank number}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjRubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS``h]h)}(hjwh]h#ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhM'hjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hpage I2C addressh]hpage I2C address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(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&]uh1jhhhM!hjdhhubh)}(hHIf ``ETHTOOL_A_MODULE_EEPROM_BANK`` is not specified, bank 0 is assumed.h](hIf }(hj߼hhhNhNubh)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]hETHTOOL_A_MODULE_EEPROM_BANK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj߼ubh% is not specified, bank 0 is assumed.}(hj߼hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM*hjdhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjdhhubj)}(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-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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM/hj;ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hnestedh]hnested}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj[ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h reply headerh]h reply header}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjrubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj5ubj)}(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&]uh1hhhhM1hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h!array of bytes from module EEPROMh]h!array of bytes from module EEPROM}(hj̽hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hjɽubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhM.hjdhhubh)}(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&]uh1hhhhM5hjdhhubeh}(h]module-eeprom-getah ]h"]module_eeprom_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h STATS_GETh]h STATS_GET}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hhhhhM9ubh)}(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 }(hj4hhhNhNubh)}(h``ETHTOOL_GSTATS``h]hETHTOOL_GSTATS}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubh$ which exposed driver-defined stats.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM;hj#hhubh)}(hRequest contents:h]hRequest contents:}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hj#hhubj)}(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'uh1jhjiubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjiubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjiubj)}(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&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjʾhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjǾubah}(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&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_GROUPS``h]h)}(hjCh]hETHTOOL_A_STATS_GROUPS}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhMDhj>ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hbitseth]hbitset}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj^ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hrequested groups of statsh]hrequested groups of stats}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjuubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]colsKuh1jhjfubah}(h]h ]h"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]uh1jhhhMAhj#hhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhj#hhubj)}(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&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_SRC``h]h)}(hjNh]hETHTOOL_A_STATS_SRC}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMLhjIubah}(h]h ]h"]h$]h&]morecolsKuh1jhjFubj)}(hhh]h)}(hu32h]hu32}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjjubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(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&]uh1hhhhMNhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjubah}(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&]uh1hhhhMNhjubah}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMPhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hgroup ID - ``ETHTOOL_STATS_*``h](h group ID - }(hj<hhhNhNubh)}(h``ETHTOOL_STATS_*``h]hETHTOOL_STATS_*}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubeh}(h]h ]h"]h$]h&]uh1hhhhMPhj9ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]h)}(hjuh]hETHTOOL_A_STATS_GRP_SS_ID}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhMRhjpubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hstring set ID for namesh]hstring set ID for names}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(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&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnest containing a statistich]hnest containing a statistic}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_HIST_RX``h]h)}(hj5h]hETHTOOL_A_STATS_GRP_HIST_RX}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMVhj0ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hnestedh]hnested}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjPubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hhistogram statistic (Rx)h]hhistogram statistic (Rx)}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjgubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(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&]uh1hhhhMXhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhistogram statistic (Tx)h]hhistogram statistic (Tx)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMXhjubah}(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&]uh1jhhhMIhj#hhubh)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GROUPS``h]hETHTOOL_A_STATS_GROUPS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh& bitset. Currently defined values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM[hj#hhubj)}(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&]colwidthKuh1jhj$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)}(hETHTOOL_STATS_ETH_MACh]hETHTOOL_STATS_ETH_MAC}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(heth-mach]heth-mac}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjbubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(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.*)}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjyubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_PHYh]hETHTOOL_STATS_ETH_PHY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-phyh]heth-phy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(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&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_CTRLh]hETHTOOL_STATS_ETH_CTRL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-ctrlh]heth-ctrl}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(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.*)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_RMONh]hETHTOOL_STATS_RMON}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj5ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hrmonh]hrmon}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjLubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hRMON (RFC 2819) statisticsh]hRMON (RFC 2819) statistics}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjcubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_PHYh]hETHTOOL_STATS_PHY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hphyh]hphy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(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&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjEubeh}(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^hj#hhubh)}(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}(hjhhhNhNubah}(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&]uh1hhhhMfhj#hhubh)}(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}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubh nest under }(hj+hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_STAT``h]hETHTOOL_A_STATS_GRP_STAT}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubh. }(hj+hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_STAT``h]hETHTOOL_A_STATS_GRP_STAT}(hjWhhhNhNubah}(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}(hjihhhNhNubah}(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}(hj{hhhNhNubah}(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&]uh1hhhhMkhj#hhubh)}(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&]uh1hhhhMuhj#hhubh)}(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&]uh1hhhhMzhj#hhubj)}(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&]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#low bound of the packet size bucketh]h#low bound of the packet size bucket}(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_STATS_RMON_HIST_BKT_HIh]h ETHTOOL_A_STATS_RMON_HIST_BKT_HI}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hu32h]hu32}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(hhigh bound of the bucketh]hhigh bound of the bucket}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(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&]uh1jhhhM}hj#hhubh)}(h/Low and high bounds are inclusive, for example:h]h/Low and high bounds are inclusive, for example:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#hhubj)}(h============================= ==== ==== RFC statistic low high ============================= ==== ==== etherStatsPkts64Octets 0 64 etherStatsPkts512to1023Octets 512 1023 ============================= ==== ==== 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&]colwidthKuh1jhjubhthead)}(hhh]j)}(hhh](j)}(hhh]h)}(h RFC statistich]h RFC statistic}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hlowh]hlow}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hhighh]hhigh}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1j3hjubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h1023h]h1023}(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&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhj#hhubh)}(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}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubh is optional. Similar to }(hjDhhhNhNubh)}(h ``PAUSE_GET``h]h PAUSE_GET}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubh, it takes values from }(hjDhhhNhNubh)}(h``enum ethtool_mac_stats_src``h]henum ethtool_mac_stats_src}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubh=. If absent from the request, stats will be provided with an }(hjDhhhNhNubh)}(h``ETHTOOL_A_STATS_SRC``h]hETHTOOL_A_STATS_SRC}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubh$ attribute in the response equal to }(hjDhhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubh.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj#hhubeh}(h] stats-getah ]h"] stats_getah$]h&]uh1hhhhhhhhM9ubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(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}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(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:}(hjxhhhNhNubah}(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}(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)}(hPHC virtual clocks numberh]hPHC virtual clocks 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_PHC_VCLOCKS_INDEX``h]h)}(hjgh]hETHTOOL_A_PHC_VCLOCKS_INDEX}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hs32h]hs32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hPHC index arrayh]hPHC index array}(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&]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%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_HEADER``h]h)}(hj7h]hETHTOOL_A_MODULE_HEADER}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hnestedh]hnested}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(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&]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}(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_MODULE_POWER_MODE_POLICY``h]h)}(hj7h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hu8h]hu8}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(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}(hjhhhNhNubah}(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 }(hjhhhNhNubh)}(h ``ETHTHOOL_A_MODULE_POWER_MODE``h]hETHTHOOL_A_MODULE_POWER_MODE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute encodes the operational power mode policy of the transceiver module. It is only reported when a module is plugged-in. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"ethtool_module_power_mode (C enum)c.ethtool_module_power_modehNtauh1jhjhhhNhNubj)}(hhh](j)}(hethtool_module_power_modeh]j)}(henum ethtool_module_power_modeh](j‡)}(hjŇh]henum}(hjOhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjKhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1729: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hj]hhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjKhhhj\hKubj)}(hethtool_module_power_modeh]j)}(hjIh]hethtool_module_power_mode}(hjohhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjkubah}(h]h ](jjeh"]h$]h&]jjuh1jhjKhhhj\hKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjGhhhj\hKubah}(h]jBah ](jjeh"]h$]h&]jj)jhuh1jhj\hKhjDhhubj)}(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:1729: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjDhhhj\hKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhNhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1729: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh](jf)}(h?``ETHTOOL_MODULE_POWER_MODE_LOW`` Module is in low power mode. h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1729: ./include/uapi/linux/ethtool.hhMhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h@``ETHTOOL_MODULE_POWER_MODE_HIGH`` Module is in high power mode.h](jl)}(h"``ETHTOOL_MODULE_POWER_MODE_HIGH``h]h)}(hj h]hETHTOOL_MODULE_POWER_MODE_HIGH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1729: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hModule is in high power mode.h]hModule is in high power mode.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1729: ./include/uapi/linux/ethtool.hhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj hMhjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhNhNubeh}(h] module-getah ]h"] module_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h MODULE_SETh]h MODULE_SET}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThhhhhMubh)}(h#Sets transceiver module parameters.h]h#Sets transceiver module parameters.}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThhubh)}(hRequest contents:h]hRequest contents:}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThhubj)}(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)}(hj h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjThhubh)}(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 }(hjshhhNhNubh)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubhh attribute is used to set the transceiver module power policy enforced by the host. Possible values are:}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjThhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j)ethtool_module_power_mode_policy (C enum)"c.ethtool_module_power_mode_policyhNtauh1jhjThhhNhNubj)}(hhh](j)}(h ethtool_module_power_mode_policyh]j)}(h%enum ethtool_module_power_mode_policyh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1748: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(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&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(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:1748: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjThNhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1748: ./include/uapi/linux/ethtool.hhMhj ubja)}(hhh](jf)}(hO``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH`` Module is always in high power mode. h](jl)}(h)``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH``h]h)}(hj/h]h%ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1748: ./include/uapi/linux/ethtool.hhMhj)ubj)}(hhh]h)}(h$Module is always in high power mode.h]h$Module is always in high power mode.}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDhMhjEubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jehjDhMhj&ubjf)}(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](jl)}(h)``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO``h]h)}(hjhh]h%ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1748: ./include/uapi/linux/ethtool.hhMhjbubj)}(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:1748: ./include/uapi/linux/ethtool.hhMhj~ubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jehj}hMhj&ubeh}(h]h ]h"]h$]h&]uh1j`hj ubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjThhhNhNubh)}(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&]uh1hhhhMhjThhubh)}(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&]uh1hhhhMhjThhubeh}(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&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hnestedh]hnested}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjbhhhNhNubah}(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&]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)}(hXR========================================== ====== ============================= ``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. ========================================== ====== ============================= 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}(hj hhhNhNubah}(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&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hu32h]hu32}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(h+Operational state of the PoDL PSE functionsh]h+Operational state of the PoDL PSE functions}(hjbhhhNhNubah}(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_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&]uh1jhj|ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(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&]uh1jhj|ubeh}(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&]uh1hhhhMhj ubah}(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)}(hj2h]hETHTOOL_A_C33_PSE_PW_D_STATUS}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hu32h]hu32}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(h&power detection status of the PoE PSE.h]h&power detection status of the PoE PSE.}(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_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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.}(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_EXT_STATE``h]h)}(hj7h]hETHTOOL_A_C33_PSE_EXT_STATE}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hu32h]hu32}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(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.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(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&]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 extended substatus of the PoE PSE.h]h(power extended substatus 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_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&]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)}(h0currently configured power limit of the PoE PSE.h]h0currently configured power limit 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_PW_LIMIT_RANGES``h]h)}(hj<h]h!ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES}(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)}(h+Supported power limit configuration ranges.h]h+Supported power limit configuration ranges.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(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](j%ethtool_podl_pse_admin_state (C enum)c.ethtool_podl_pse_admin_statehNtauh1jhjhhhNhNubj)}(hhh](j)}(hethtool_podl_pse_admin_stateh]j)}(h!enum ethtool_podl_pse_admin_stateh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(hethtool_podl_pse_admin_stateh]j)}(hjh]hethtool_podl_pse_admin_state}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(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}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhMhj@hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;j[j<j[j=j>j?uh1jhhhjhNhNubjA)}(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]jK)}(hjeh]h Constants}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjcubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhMhj_ubja)}(hhh](jf)}(hQ``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN`` state of PoDL PSE functions are unknown h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhMhj~ubj)}(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:1799: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jehjhMhj{ubjf)}(hJ``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED`` PoDL PSE functions are disabled h](jl)}(h)``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED``h]h)}(hjh]h%ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hPoDL PSE functions are disabledh]hPoDL PSE functions are disabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj{ubjf)}(hG``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED`` PoDL PSE functions are enabledh](jl)}(h(``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED``h]h)}(hjh]h$ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hPoDL PSE functions are enabledh]hPoDL PSE functions are enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1799: ./include/uapi/linux/ethtool.hhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj hMhj{ubeh}(h]h ]h"]h$]h&]uh1j`hj_ubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhNhNubh)}(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 }(hj8hhhNhNubh)}(h!``ETHTOOL_A_C33_PSE_ADMIN_STATE``h]hETHTOOL_A_C33_PSE_ADMIN_STATE}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubh implementing }(hj8hhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubh 30.9.1.1.2 aPSEAdminState.}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$ethtool_c33_pse_admin_state (C enum)c.ethtool_c33_pse_admin_statehNtauh1jhjhhhNhNubj)}(hhh](j)}(hethtool_c33_pse_admin_stateh]j)}(h enum ethtool_c33_pse_admin_stateh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1805: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(hethtool_c33_pse_admin_stateh]j)}(hj}h]hethtool_c33_pse_admin_state}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hj{hhhjhKubah}(h]jvah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjxhhubj)}(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:1805: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjxhhhjhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhNhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1805: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh](jf)}(hJ``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN`` state of PSE functions is unknown h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1805: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h!state of PSE functions is unknownh]h!state of PSE functions is unknown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hD``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED`` PSE functions are disabled h](jl)}(h(``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED``h]h)}(hj?h]h$ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1805: ./include/uapi/linux/ethtool.hhMhj9ubj)}(hhh]h)}(hPSE functions are disabledh]hPSE functions are disabled}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThMhjUubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jehjThMhjubjf)}(hA``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED`` PSE functions are enabledh](jl)}(h'``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED``h]h)}(hjxh]h#ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1805: ./include/uapi/linux/ethtool.hhMhjrubj)}(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:1805: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhNhNubh)}(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&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%ethtool_podl_pse_pw_d_status (C enum)c.ethtool_podl_pse_pw_d_statushNtauh1jhjhhhNhNubj)}(hhh](j)}(hethtool_podl_pse_pw_d_statush]j)}(h!enum ethtool_podl_pse_pw_d_statush](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(hethtool_podl_pse_pw_d_statush]j)}(hjh]hethtool_podl_pse_pw_d_status}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(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:}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjChhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;j^j<j^j=j>j?uh1jhhhjhNhNubjA)}(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]jK)}(hjhh]h Constants}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjfubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjbubja)}(hhh](jf)}(h2``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN`` PoDL PSE h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hPoDL PSEh]hPoDL PSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj~ubjf)}(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](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1814: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj~ubjf)}(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](jl)}(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&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhM hjubj)}(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.”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM hj~ubjf)}(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](jl)}(h+``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING``h]h)}(hj4h]h'ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhj.ubj)}(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.”}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjJubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jehjIhMhj~ubjf)}(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](jl)}(h&``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP``h]h)}(hjnh]h"ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjhubj)}(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:1814: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jehjhMhj~ubjf)}(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](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1814: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj~ubjf)}(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](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1814: ./include/uapi/linux/ethtool.hhMhjubj)}(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&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhj~ubeh}(h]h ]h"]h$]h&]uh1j`hjbubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhNhNubh)}(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 }(hj"hhhNhNubh)}(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&]uh1hhj"ubh implementing }(hj"hhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubh% 30.9.1.1.5 aPSEPowerDetectionStatus.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$ethtool_c33_pse_pw_d_status (C enum)c.ethtool_c33_pse_pw_d_statushNtauh1jhjhhhNhNubj)}(hhh](j)}(hethtool_c33_pse_pw_d_statush]j)}(h enum ethtool_c33_pse_pw_d_statush](j‡)}(hjŇh]henum}(hjmhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjihhhi/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&]uh1jӇhjihhhjzhKubj)}(hethtool_c33_pse_pw_d_statush]j)}(hjgh]hethtool_c33_pse_pw_d_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjihhhjzhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjehhhjzhKubah}(h]j`ah ](jjeh"]h$]h&]jj)jhuh1jhjzhKhjbhhubj)}(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:1820: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjbhhhjzhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhNhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh](jf)}(h>``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN`` PSE status is unknown h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hPSE status is unknownh]hPSE status is unknown}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED`` The enumeration "disabled" indicates that the PSE State diagram is in the state DISABLED. h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhj#ubj)}(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.}(hjBhhhNhNubah}(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&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jehj>hMhjubjf)}(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](jl)}(h)``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING``h]h)}(hjch]h%ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhj]ubj)}(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.}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjyubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jehjxhMhjubjf)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING`` The enumeration "deliveringPower" indicates that the PSE State diagram is in the state POWER_ON. h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1820: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h|``ETHTOOL_C33_PSE_PW_D_STATUS_TEST`` The enumeration "test" indicates that the PSE State diagram is in the state TEST_MODE. h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1820: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT`` The enumeration "fault" indicates that the PSE State diagram is in the state TEST_ERROR. h](jl)}(h%``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT``h]h)}(hjh]h!ETHTOOL_C33_PSE_PW_D_STATUS_FAULT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhj ubj)}(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:1820: ./include/uapi/linux/ethtool.hhMhj'ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jehj&hMhjubjf)}(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](jl)}(h*``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT``h]h)}(hjKh]hÐTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjEubj)}(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.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1820: ./include/uapi/linux/ethtool.hhMhjaubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jehj`hMhjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhNhNubh)}(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&]uh1hhhhMhjhhubh)}(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&]uh1hhhhM$hjhhubh)}(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}(hjhhhNhNubah}(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](j"ethtool_c33_pse_ext_state (C enum)c.ethtool_c33_pse_ext_statehNtauh1jhjhhhNhNubj)}(hhh](j)}(hethtool_c33_pse_ext_stateh]j)}(henum ethtool_c33_pse_ext_stateh](j‡)}(hjŇh]henum}(hj)hhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhj%hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhj%hhhj6hKubj)}(hethtool_c33_pse_ext_stateh]j)}(hj#h]hethtool_c33_pse_ext_state}(hjIhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjEubah}(h]h ](jjeh"]h$]h&]jjuh1jhj%hhhj6hKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hj!hhhj6hKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhj6hKhjhhubj)}(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}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjhhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj6hKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhNhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh](jf)}(hN``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION`` Group of error_condition states h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hGroup of error_condition statesh]hGroup of error_condition states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hH``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID`` Group of mr_mps_valid states h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hJ``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE`` Group of mr_pse_enable states h](jl)}(h+``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE``h]h)}(hjh]h'ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hGroup of mr_pse_enable statesh]hGroup of mr_pse_enable states}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3hMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj3hMhjubjf)}(hR``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED`` Group of option_detect_ted states h](jl)}(h/``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED``h]h)}(hjWh]h+ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhM hjQubj)}(hhh]h)}(h!Group of option_detect_ted statesh]h!Group of option_detect_ted states}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjmubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jehjlhM hjubjf)}(hP``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM`` Group of option_vport_lim states h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhM hjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM hjubjf)}(hJ``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED`` Group of ovld_detected states h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hGroup of ovld_detected statesh]hGroup of ovld_detected states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hR``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE`` Group of pd_dll_power_type states h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h!Group of pd_dll_power_type statesh]h!Group of pd_dll_power_type states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hV``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE`` Group of power_not_available states h](jl)}(h1``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE``h]h)}(hj=h]h-ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhj7ubj)}(hhh]h)}(h#Group of power_not_available statesh]h#Group of power_not_available states}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjSubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jehjRhMhjubjf)}(hK``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED`` Group of short_detected statesh](jl)}(h,``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED``h]h)}(hjwh]h(ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1836: ./include/uapi/linux/ethtool.hhMhjqubj)}(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:1836: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhNhNubh)}(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&]uh1hhhhM/hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j5ethtool_c33_pse_ext_substate_error_condition (C enum).c.ethtool_c33_pse_ext_substate_error_conditionhNtauh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhNubj)}(hhh](j)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j)}(h1enum ethtool_c33_pse_ext_substate_error_conditionh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j)}(hjh]h,ethtool_c33_pse_ext_substate_error_condition}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM'hj1hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jLj<jLj=j>j?uh1jhhhjhjhNubjA)}(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]jK)}(hjVh]h Constants}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjTubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM+hjPubja)}(hhh](jf)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT`` Non-existing port number h](jl)}(hB``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT``h]h)}(hjuh]h>ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM/hjoubj)}(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:1843: ./include/uapi/linux/ethtool.hhM.hjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jehjhM/hjlubjf)}(hO``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT`` Undefined port h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM2hjubj)}(hhh]h)}(hUndefined porth]hUndefined port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM2hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM2hjlubjf)}(h[``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT`` Internal hardware fault h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM6hjubj)}(hhh]h)}(hInternal hardware faulth]hInternal hardware fault}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM5hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM6hjlubjf)}(hn``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON`` Communication error after force on h](jl)}(hJ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON``h]h)}(hj"h]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM9hjubj)}(hhh]h)}(h"Communication error after force onh]h"Communication error after force on}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hM9hj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj7hM9hjlubjf)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS`` Unknown port status h](jl)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS``h]h)}(hj[h]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM=hjUubj)}(hhh]h)}(hUnknown port statush]hUnknown port status}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM<hjqubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jehjphM=hjlubjf)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF`` Host crash turn off h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMAhjubj)}(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:1843: ./include/uapi/linux/ethtool.hhM@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMAhjlubjf)}(he``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN`` Host crash force shutdown h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMDhjubj)}(hhh]h)}(hHost crash force shutdownh]hHost crash force shutdown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMDhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMDhjlubjf)}(hT``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE`` Configuration change h](jl)}(h>``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE``h]h)}(hjh]h:ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMHhjubj)}(hhh]h)}(hConfiguration changeh]hConfiguration change}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMGhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMHhjlubjf)}(h]``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP`` Over temperature detectedh](jl)}(hC``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP``h]h)}(hjBh]h?ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMKhj<ubj)}(hhh]h)}(hOver temperature detectedh]hOver temperature detected}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWhMKhjXubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jehjWhMKhjlubeh}(h]h ]h"]h$]h&]uh1j`hjPubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMOhjhhubh)}(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:1843: ./include/uapi/linux/ethtool.hhM<hjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j3ethtool_c33_pse_ext_substate_mr_pse_enable (C enum),c.ethtool_c33_pse_ext_substate_mr_pse_enablehNtauh1jhjhhhjhNubj)}(hhh](j)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]j)}(h/enum ethtool_c33_pse_ext_substate_mr_pse_enableh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMEubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhMEubj)}(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&]jjuh1jhjhhhjhMEubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhMEubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMEhjhhubj)}(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:1843: ./include/uapi/linux/ethtool.hhMOhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMEubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhjhNubjA)}(hg**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE`` Disable pin activeh](h)}(h **Constants**h]jK)}(hj&h]h Constants}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj$ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMShj ubja)}(hhh]jf)}(hT``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE`` Disable pin activeh](jl)}(hA``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE``h]h)}(hjEh]h=ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMVhj?ubj)}(hhh]h)}(hDisable pin activeh]hDisable pin active}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMVhj[ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jehjZhMVhj<ubah}(h]h ]h"]h$]h&]uh1j`hj ubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMZhjhhubh)}(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:1843: ./include/uapi/linux/ethtool.hhMUhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j7ethtool_c33_pse_ext_substate_option_detect_ted (C enum)0c.ethtool_c33_pse_ext_substate_option_detect_tedhNtauh1jhjhhhjhNubj)}(hhh](j)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]j)}(h3enum ethtool_c33_pse_ext_substate_option_detect_tedh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM[ubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhM[ubj)}(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&]jjuh1jhjhhhjhM[ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhM[ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhM[hjhhubj)}(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:1843: ./include/uapi/linux/ethtool.hhM]hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM[ubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhjhNubjA)}(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]jK)}(hj)h]h Constants}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj'ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMahj#ubja)}(hhh](jf)}(hW``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS`` Detection in process h](jl)}(hA``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS``h]h)}(hjHh]h=ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMehjBubj)}(hhh]h)}(hDetection in processh]hDetection in process}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMdhj^ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jehj]hMehj?ubjf)}(h```ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR`` Connection check errorh](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMghj|ubj)}(hhh]h)}(hConnection check errorh]hConnection check error}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jehjhMghj?ubeh}(h]h ]h"]h$]h&]uh1j`hj#ubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMkhjhhubh)}(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:1843: ./include/uapi/linux/ethtool.hhMehjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j6ethtool_c33_pse_ext_substate_option_vport_lim (C enum)/c.ethtool_c33_pse_ext_substate_option_vport_limhNtauh1jhjhhhjhNubj)}(hhh](j)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j)}(h2enum ethtool_c33_pse_ext_substate_option_vport_limh](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMkubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhMkubj)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j)}(hjh]h-ethtool_c33_pse_ext_substate_option_vport_lim}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhMkubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhMkubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhMkhjhhubj)}(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}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMnhjBhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMkubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;j]j<j]j=j>j?uh1jhhhjhjhNubjA)}(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]jK)}(hjgh]h Constants}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjeubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMrhjaubja)}(hhh](jf)}(h[``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE`` Main supply voltage is high h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMvhjubj)}(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:1843: ./include/uapi/linux/ethtool.hhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMvhj}ubjf)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE`` Main supply voltage is low h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMzhjubj)}(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:1843: ./include/uapi/linux/ethtool.hhMyhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMzhj}ubjf)}(hc``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION`` Voltage injection into the porth](jl)}(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&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM}hjubj)}(hhh]h)}(hVoltage injection into the porth]hVoltage injection into the port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM}hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM}hj}ubeh}(h]h ]h"]h$]h&]uh1j`hjaubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hj<h]h Description}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj:ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./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.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMxhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j3ethtool_c33_pse_ext_substate_ovld_detected (C enum),c.ethtool_c33_pse_ext_substate_ovld_detectedhNtauh1jhjhhhjhNubj)}(hhh](j)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j)}(h/enum ethtool_c33_pse_ext_substate_ovld_detectedh](j‡)}(hjŇh]henum}(hjzhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjvhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhM~ubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjvhhhjhM~ubj)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j)}(hjth]h*ethtool_c33_pse_ext_substate_ovld_detected}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjvhhhjhM~ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjrhhhjhM~ubah}(h]jmah ](jjeh"]h$]h&]jj)jhuh1jhjhM~hjohhubj)}(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:1843: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjohhhjhM~ubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhjhNubjA)}(hW**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](h)}(h **Constants**h]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh]jf)}(hF``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hOverload stateh]hOverload state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubah}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hj@h]h Description}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj>ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./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.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j9ethtool_c33_pse_ext_substate_power_not_available (C enum)2c.ethtool_c33_pse_ext_substate_power_not_availablehNtauh1jhjhhhjhNubj)}(hhh](j)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j)}(h5enum ethtool_c33_pse_ext_substate_power_not_availableh](j‡)}(hjŇh]henum}(hj~hhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjzhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjzhhhjhMubj)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j)}(hjxh]h0ethtool_c33_pse_ext_substate_power_not_available}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjzhhhjhMubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjvhhhjhMubah}(h]jqah ](jjeh"]h$]h&]jj)jhuh1jhjhMhjshhubj)}(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:1843: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjshhhjhMubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhjhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh](jf)}(hn``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED`` Power budget exceeded for the controller h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h(Power budget exceeded for the controllerh]h(Power budget exceeded for the controller}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET`` Configured port power limit exceeded controller power budget h](jl)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET``h]h)}(hj;h]hXETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhj5ubj)}(hhh]h)}(hj?uh1jhhhjhjhNubjA)}(ho**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION`` Short condition was detectedh](h)}(h **Constants**h]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh]jf)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION`` Short condition was detectedh](jl)}(h?``ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION``h]h)}(hjh]h;ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hShort condition was detectedh]hShort condition was detected}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubah}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjhhubh)}(hshort_detected is a variable indicating if the PSE output current has been in a short circuit condition for TLIM within a sliding window (see 33.2.7.7).h]hshort_detected is a variable indicating if the PSE output current has been in a short circuit condition for TLIM within a sliding window (see 33.2.7.7).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1843: ./include/uapi/linux/ethtool.hhMhjhhubh)}(hoWhen set, the optional ``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT`` attribute identifies the C33 PSE power limit in mW.h](hWhen set, the optional }(hjhhhNhNubh)}(h$``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT``h]h ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh4 attribute identifies the C33 PSE power limit in mW.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM>hjhhubh)}(hX1When set the optional ``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested attribute identifies the C33 PSE power limit ranges through ``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN`` and ``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX``. If the controller works with fixed classes, the min and max values will be equal.h](hWhen set the optional }(hj7hhhNhNubh)}(h%``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES``h]h!ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubhD nested attribute identifies the C33 PSE power limit ranges through }(hj7hhhNhNubh)}(h-``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN``h]h)ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubh and }(hj7hhhNhNubh)}(h-``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX``h]h)ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubhS. If the controller works with fixed classes, the min and max values will be equal.}(hj7hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMAhjhhubeh}(h]pse-getah ]h"]pse_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hPSE_SETh]hPSE_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMIubh)}(hSets PSE parameters.h]hSets PSE parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhjhhubj)}(hX====================================== ====== ============================= ``ETHTOOL_A_PSE_HEADER`` nested request header ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` u32 Control PoDL PSE Admin state ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state ``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available power limit ====================================== ====== ============================= 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&]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_PODL_PSE_ADMIN_CONTROL``h]h)}(hj:h]h ETHTOOL_A_PODL_PSE_ADMIN_CONTROL}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMQhj5ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hu32h]hu32}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjUubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hControl PoDL PSE Admin stateh]hControl PoDL PSE Admin state}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjlubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_C33_PSE_ADMIN_CONTROL``h]h)}(hjh]hETHTOOL_A_C33_PSE_ADMIN_CONTROL}(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)}(hControl PSE Admin stateh]hControl PSE Admin state}(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_C33_PSE_AVAIL_PWR_LIMIT``h]h)}(hjh]h!ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT}(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)}(h%Control PoE PSE available power limith]h%Control PoE PSE available power limit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(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&]uh1jhhhMOhjhhubh)}(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 }(hjPhhhNhNubh)}(h$``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL``h]h ETHTOOL_A_PODL_PSE_ADMIN_CONTROL}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubhO attribute is used to control PoDL PSE Admin functions. This option implements }(hjPhhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubh( 30.15.1.2.1 acPoDLPSEAdminControl. See }(hjPhhhNhNubh)}(h"``ETHTOOL_A_PODL_PSE_ADMIN_STATE``h]hETHTOOL_A_PODL_PSE_ADMIN_STATE}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubh for supported values.}(hjPhhhNhNubeh}(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 }(hjhhhNhNubh)}(h#``ETHTOOL_A_C33_PSE_ADMIN_CONTROL``h]hETHTOOL_A_C33_PSE_ADMIN_CONTROL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh implementing }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 30.9.1.2.1 acPSEAdminControl.}(hjhhhNhNubeh}(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&]uh1jhjubh 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&]uh1jhjubh> in 145.2.5.4 Variables, which are described in power classes.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM_hjhhubh)}(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&]uh1hhhhMehjhhubeh}(h]pse-setah ]h"]pse_setah$]h&]uh1hhhhhhhhMIubh)}(hhh](h)}(hRSS_GETh]hRSS_GET}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hhhhhMlubh)}(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 }(hjChhhNhNubh)}(h``ETHTOOL_GRSSH``h]h ETHTOOL_GRSSH}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubh ioctl request.}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMnhj2hhubh)}(hRequest contents:h]hRequest contents:}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj2hhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjtubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjtubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjtubj)}(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&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(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&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_START_CONTEXT``h]h)}(hjNh]hETHTOOL_A_RSS_START_CONTEXT}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMvhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hu32h]hu32}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjiubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hstart context number (dumps)h]hstart context number (dumps)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]colsKuh1jhjqubah}(h]h ]h"]h$]h&]uh1jhj2hhhhhNubh)}(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&]uh1hhjubh 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 }(hjhhhNhNubh)}(h``ETHTOOL_A_RSS_START_CONTEXT``h]hETHTOOL_A_RSS_START_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh can be used to start dumping context from the given number (primarily used to ignore context 0s and only dump additional contexts).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMyhj2hhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2hhubj)}(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}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply 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_RSS_CONTEXT``h]h)}(hjrh]hETHTOOL_A_RSS_CONTEXT}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hcontext numberh]hcontext number}(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_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)}(hj h]hETHTOOL_A_RSS_INDIR}(hj"hhhNhNubah}(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}(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_RSS_HKEY``h]h)}(hjwh]hETHTOOL_A_RSS_HKEY}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(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_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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj2hhhhhNubh)}(hXETHTOOL_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.h]hXETHTOOL_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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2hhubeh}(h]rss-getah ]h"]rss_getah$]h&]uh1hhhhhhhhMlubh)}(hhh](h)}(h PLCA_GET_CFGh]h PLCA_GET_CFG}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhhhhhMubh)}(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.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hRequest contents:h]hRequest contents:}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PLCA_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjzubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjzubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjzubj)}(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&]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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]colsKuh1jhjwubah}(h]h ]h"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]uh1jhhhMhjFhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj)}(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&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)}(hjOh]hETHTOOL_A_PLCA_HEADER}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hnestedh]hnested}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_VERSION``h]h)}(hjh]hETHTOOL_A_PLCA_VERSION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4Supported PLCA management interface standard/versionh]h4Supported PLCA management interface standard/version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(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&]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)}(hPLCA Admin Stateh]hPLCA Admin State}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hjTh]hETHTOOL_A_PLCA_NODE_ID}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(hu32h]hu32}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]h)}(hjh]hETHTOOL_A_PLCA_NODE_CNT}(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>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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(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&]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)}(h2Transmit Opportunity Timer value in bit-times (BT)h]h2Transmit Opportunity Timer value in bit-times (BT)}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hjYh]hETHTOOL_A_PLCA_BURST_CNT}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hu32h]hu32}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]h)}(hjh]hETHTOOL_A_PLCA_BURST_TMR}(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)}(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&]uh1hhhhMhjubah}(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&]uh1jhhhMhjFhhubh)}(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}(hj hhhNhNubah}(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/}(hj2hhhNhNubah}(h]h ]h"]h$]h&]refurij4uh1j{hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(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 }(hjKhhhNhNubh)}(h``ETHTOOL_A_PLCA_ENABLED``h]hETHTOOL_A_PLCA_ENABLED}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubh 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 }(hjKhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubh> 30.16.1.1.1 aPLCAAdminState / 30.16.1.2.1 acPLCAAdminControl.}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(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 }(hj}hhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_ID``h]hETHTOOL_A_PLCA_NODE_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubh 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 }(hj}hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubhu 30.16.1.1.4 aPLCALocalNodeID. The valid range for this attribute is [0 .. 255] where 255 means “not configured”.}(hj}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]hETHTOOL_A_PLCA_NODE_CNT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhXi 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 }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhN 30.16.1.1.3 aPLCANodeCount. The valid range for this attribute is [1 .. 255].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(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&]uh1hhhhMhjFhhubh)}(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}(hj-hhhNhNubah}(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&]uh1hhhhMhjFhhubh)}(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 }(hjEhhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]hETHTOOL_A_PLCA_BURST_TMR}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubhXV 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 }(hjEhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubh 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.}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubeh}(h] plca-get-cfgah ]h"] plca_get_cfgah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PLCA_SET_CFGh]h PLCA_SET_CFG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hSets PLCA RS parameters.h]hSets PLCA RS parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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&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&]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_PLCA_ENABLED``h]h)}(hj6h]hETHTOOL_A_PLCA_ENABLED}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hu8h]hu8}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]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)}(hPLCA unique local node IDh]hPLCA unique local node ID}(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_PLCA_NODE_CNT``h]h)}(hjh]hETHTOOL_A_PLCA_NODE_CNT}(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>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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hu8h]hu8}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h2Transmit Opportunity Timer value in bit-times (BT)h]h2Transmit Opportunity Timer value in bit-times (BT)}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hjh]hETHTOOL_A_PLCA_BURST_CNT}(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)}(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}(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_PLCA_BURST_TMR``h]h)}(hjh]hETHTOOL_A_PLCA_BURST_TMR}(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)}(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&]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)}(h:For a description of each attribute, see ``PLCA_GET_CFG``.h](h)For a description of each attribute, see }(hjQhhhNhNubh)}(h``PLCA_GET_CFG``h]h PLCA_GET_CFG}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubh.}(hjQhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h] plca-set-cfgah ]h"] plca_set_cfgah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hPLCA_GET_STATUSh]hPLCA_GET_STATUS}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyhhhhhMubh)}(h Gets PLCA RS status information.h]h Gets PLCA RS status information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjyhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PLCA_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_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&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj ubah}(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&]uh1jhhhM hjyhhubh)}(hKernel response contents:h]hKernel response contents:}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyhhubj)}(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&uh1jhjVubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjVubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjVubj)}(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&]uh1hhhhMhj}ubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_STATUS``h]h)}(hjh]hETHTOOL_A_PLCA_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)}(hPLCA RS operational statush]hPLCA RS operational status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]colsKuh1jhjSubah}(h]h ]h"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]uh1jhhhMhjyhhubh)}(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 }(hjAhhhNhNubh)}(h``ETHTOOL_A_PLCA_STATUS``h]hETHTOOL_A_PLCA_STATUS}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubh| attribute indicates whether the node is detecting the presence of the BEACON on the network. This flag is corresponding to }(hjAhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubh 30.16.1.1.2 aPLCAStatus.}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjyhhubeh}(h]plca-get-statusah ]h"]plca_get_statusah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_GETh]hMM_GET}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{hhhhhMubh)}(h$Retrieve 802.3 MAC Merge parameters.h]h$Retrieve 802.3 MAC Merge parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{hhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(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$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_MM_HEADER``h]h)}(hjh]hETHTOOL_A_MM_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hj ubah}(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&]uh1jhhhM!hj{hhubh)}(hKernel response contents:h]hKernel response contents:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj{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!uh1jhjXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjXubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjXubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_HEADER``h]h)}(hjh]hETHTOOL_A_MM_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}(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&]uh1jhjyubj)}(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&]uh1hhhhM)hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hjubah}(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&]uh1hhhhM)hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hj2h]hETHTOOL_A_MM_TX_ENABLED}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM+hj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hboolh]hbool}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjMubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(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)}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjdubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ACTIVE``h]h)}(hjh]hETHTOOL_A_MM_TX_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(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&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjubah}(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&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_RX_MIN_FRAG_SIZE``h]h)}(hj7h]hETHTOOL_A_MM_RX_MIN_FRAG_SIZE}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhM2hj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hu32h]hu32}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjRubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h7minimum size of received non-final fragments, in octetsh]h7minimum size of received non-final fragments, in octets}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjiubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(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&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(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&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjubah}(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&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_TIME``h]h)}(hj<h]hETHTOOL_A_MM_VERIFY_TIME}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM7hj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hu32h]hu32}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h#delay between verification attemptsh]h#delay between verification attempts}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_MAX_VERIFY_TIME```h]h)}(hjh]hETHTOOL_A_MM_MAX_VERIFY_TIME`}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h1maximum verification interval supported by deviceh]h1maximum verification interval supported by device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(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&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(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&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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&]uh1jhhhM'hj{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:}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hj{hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_mm_state (C struct)c.ethtool_mm_statehNtauh1jhj{hhhNhNubj)}(hhh](j)}(hethtool_mm_stateh]j)}(hstruct ethtool_mm_stateh](j‡)}(hjh]hstruct}(hjyhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjuhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhM7ubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjuhhhjhM7ubj)}(hethtool_mm_stateh]j)}(hjsh]hethtool_mm_state}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjuhhhjhM7ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjqhhhjhM7ubah}(h]jlah ](jjeh"]h$]h&]jj)jhuh1jhjhM7hjnhhubj)}(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:2113: ./include/linux/ethtool.hhMvhjhhubah}(h]h ]h"]h$]h&]uh1jhjnhhhjhM7ubeh}(h]h ](j5structeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhj{hNhNubjA)}(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](jK)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMzhjubj7)}(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&]jjuh1j6hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhM|hjubh)}(h **Members**h]jK)}(hj h]hMembers}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubja)}(hhh](jf)}(hr``verify_time`` wait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime) h](jl)}(h``verify_time``h]h)}(hj(h]h verify_time}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMyhj"ubj)}(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)}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMxhj>ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jehj=hMyhjubjf)}(h\``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests h](jl)}(h``max_verify_time``h]h)}(hjbh]hmax_verify_time}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhM{hj\ubj)}(hhh]h)}(hGmaximum accepted value for the **verify_time** variable in set requestsh](hmaximum accepted value for the }(hj{hhhNhNubjK)}(h**verify_time**h]h verify_time}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj{ubh variable in set requests}(hj{hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjwhM{hjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jehjwhM{hjubjf)}(h``verify_status`` state of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify) h](jl)}(h``verify_status``h]h)}(hjh]h verify_status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhM~hjubj)}(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:2113: ./include/linux/ethtool.hhM}hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM~hjubjf)}(h``tx_enabled`` set if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx) h](jl)}(h``tx_enabled``h]h)}(hjh]h tx_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubj)}(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:2113: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(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](jl)}(h ``tx_active``h]h)}(hj!h]h tx_active}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubj)}(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.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj6hMhjubjf)}(h``pmac_enabled`` set if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames. h](jl)}(h``pmac_enabled``h]h)}(hj[h]h pmac_enabled}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjUubj)}(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.}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjqubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jehjphMhjubjf)}(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](jl)}(h``verify_enabled``h]h)}(hjh]hverify_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubj)}(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 }(hjhhhNhNubjK)}(h**pmac_enabled**h]h pmac_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubh is set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(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](jl)}(h``tx_min_frag_size``h]h)}(hjh]htx_min_frag_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubj)}(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:2113: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h~``rx_min_frag_size`` the minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h](jl)}(h``rx_min_frag_size``h]h)}(hjh]hrx_min_frag_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2113: ./include/linux/ethtool.hhMhjubj)}(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.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hMhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj0hMhjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hj{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}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubh# will report one of the values from}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMDhj{hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!ethtool_mm_verify_status (C enum)c.ethtool_mm_verify_statushNtauh1jhj{hhhNhNubj)}(hhh](j)}(hethtool_mm_verify_statush]j)}(henum ethtool_mm_verify_statush](j‡)}(hjŇh]henum}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(hethtool_mm_verify_statush]j)}(hjh]hethtool_mm_verify_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(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:2118: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j5enumeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhj{hNhNubjA)}(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]jK)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhMhjubja)}(hhh](jf)}(hD``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN`` verification status is unknown h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM"hjubj)}(hhh]h)}(hverification status is unknownh]hverification status is unknown}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hM"hj-ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj,hM"hjubjf)}(hf``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` the 802.3 Verify State diagram is in the state INIT_VERIFICATION h](jl)}(h$``ETHTOOL_MM_VERIFY_STATUS_INITIAL``h]h)}(hjPh]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM%hjJubj)}(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}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjehM%hjfubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jehjehM%hjubjf)}(h``ETHTOOL_MM_VERIFY_STATUS_VERIFYING`` the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE h](jl)}(h&``ETHTOOL_MM_VERIFY_STATUS_VERIFYING``h]h)}(hjh]h"ETHTOOL_MM_VERIFY_STATUS_VERIFYING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM)hjubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM(hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM)hjubjf)}(hh``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED`` indicates that the Verify State diagram is in the state VERIFIED h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM,hjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM,hjubjf)}(hY``ETHTOOL_MM_VERIFY_STATUS_FAILED`` the Verify State diagram is in the state VERIFY_FAIL h](jl)}(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&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM/hjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM/hjubjf)}(hV``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](jl)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h)}(hj5h]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM1hj/ubj)}(hhh]h)}(h0verification of preemption operation is disabledh]h0verification of preemption operation is disabled}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2118: ./include/uapi/linux/ethtool.hhM2hjKubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jehjJhM1hjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hj{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 }(hjvhhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_ENABLED``h]hETHTOOL_A_MM_VERIFY_ENABLED}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubh was passed as false in the }(hjvhhhNhNubh)}(h ``MM_SET``h]hMM_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubh command, }(hjvhhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]hETHTOOL_A_MM_VERIFY_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubh will report either }(hjvhhhNhNubh)}(h$``ETHTOOL_MM_VERIFY_STATUS_INITIAL``h]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubh or }(hjvhhhNhNubh)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubh5, otherwise it should report one of the other states.}(hjvhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMIhj{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&]uh1hhhhMNhj{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}(hj&hhhNhNubah}(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&]uh1hhhhMRhj{hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_mm_stats (C struct)c.ethtool_mm_statshNtauh1jhj{hhhNhNubj)}(hhh](j)}(hethtool_mm_statsh]j)}(hstruct ethtool_mm_statsh](j‡)}(hjh]hstruct}(hjWhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjShhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhM7ubjԇ)}(h h]h }(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjShhhjdhM7ubj)}(hethtool_mm_statsh]j)}(hjQh]hethtool_mm_stats}(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjsubah}(h]h ](jjeh"]h$]h&]jjuh1jhjShhhjdhM7ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjOhhhjdhM7ubah}(h]jJah ](jjeh"]h$]h&]jj)jhuh1jhjdhM7hjLhhubj)}(hhh]h)}(h 802.3 MAC merge layer statisticsh]h 802.3 MAC merge layer statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjLhhhjdhM7ubeh}(h]h ](j5structeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhj{hNhNubjA)}(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](jK)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjubj7)}(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&]jjuh1j6hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]jK)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjubja)}(hhh](jf)}(hJ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors h](jl)}(h``MACMergeFrameAssErrorCount``h]h)}(hjh]hMACMergeFrameAssErrorCount}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hf``MACMergeFrameSmdErrorCount`` received MAC frames/fragments rejected due to unknown or incorrect SMD h](jl)}(h``MACMergeFrameSmdErrorCount``h]h)}(hj?h]hMACMergeFrameSmdErrorCount}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhj9ubj)}(hhh]h)}(hFreceived MAC frames/fragments rejected due to unknown or incorrect SMDh]hFreceived MAC frames/fragments rejected due to unknown or incorrect SMD}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjThMhjUubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jehjThMhjubjf)}(ha``MACMergeFrameAssOkCount`` received MAC frames that were successfully reassembled and passed up h](jl)}(h``MACMergeFrameAssOkCount``h]h)}(hjxh]hMACMergeFrameAssOkCount}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjrubj)}(hhh]h)}(hDreceived MAC frames that were successfully reassembled and passed uph]hDreceived MAC frames that were successfully reassembled and passed up}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h_``MACMergeFragCountRx`` number of additional correct SMD-C mPackets received due to preemption h](jl)}(h``MACMergeFragCountRx``h]h)}(hjh]hMACMergeFragCountRx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(hM``MACMergeFragCountTx`` number of additional mPackets sent due to preemption h](jl)}(h``MACMergeFragCountTx``h]h)}(hjh]hMACMergeFragCountTx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhjubj)}(hhh]h)}(h4number of additional mPackets sent due to preemptionh]h4number of additional mPackets sent due to preemption}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhMhjubjf)}(h{``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](jl)}(h``MACMergeHoldCount``h]h)}(hj# h]hMACMergeHoldCount}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj! ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2135: ./include/linux/ethtool.hhMhj ubj)}(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}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8 hMhj9 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jehj8 hMhjubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hj{hhhNhNubeh}(h]mm-getah ]h"]mm_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_SETh]hMM_SET}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk hhhhhM[ubh)}(h8Modifies the configuration of the 802.3 MAC Merge layer.h]h8Modifies the configuration of the 802.3 MAC Merge layer.}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hjk hhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjk hhubj)}(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!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_MM_VERIFY_TIME``h]h)}(hj h]hETHTOOL_A_MM_VERIFY_TIME}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMbhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(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``ETHTOOL_A_MM_VERIFY_ENABLED``h]h)}(hj" h]hETHTOOL_A_MM_VERIFY_ENABLED}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMchj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hboolh]hbool}(hj@ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchj= ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjW hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjT ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hjy h]hETHTOOL_A_MM_TX_ENABLED}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw ubah}(h]h ]h"]h$]h&]uh1hhhhMdhjt ubah}(h]h ]h"]h$]h&]uh1jhjq ubj)}(hhh]h)}(hboolh]hbool}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj ubah}(h]h ]h"]h$]h&]uh1jhjq ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj ubah}(h]h ]h"]h$]h&]uh1jhjq ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_PMAC_ENABLED``h]h)}(hj h]hETHTOOL_A_MM_PMAC_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMehj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hboolh]hbool}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE``h]h)}(hj' h]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj% ubah}(h]h ]h"]h$]h&]uh1hhhhMfhj" ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjB ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjY 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&]uh1jhhhMahjk hhubh)}(hLThe attributes are propagated to the driver through the following structure:h]hLThe attributes are propagated to the driver through the following structure:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjk hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_mm_cfg (C struct)c.ethtool_mm_cfghNtauh1jhjk hhhNhNubj)}(hhh](j)}(hethtool_mm_cfgh]j)}(hstruct ethtool_mm_cfgh](j‡)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhj hhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhM7ubjԇ)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhj hhhj hM7ubj)}(hethtool_mm_cfgh]j)}(hj h]hethtool_mm_cfg}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]jjuh1jhj hhhj hM7ubeh}(h]h ]h"]h$]h&]jjj uh1jj j hj hhhj hM7ubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj hM7hj hhubj)}(hhh]h)}(h#802.3 MAC merge layer configurationh]h#802.3 MAC merge layer configuration}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj hM7ubeh}(h]h ](j5structeh"]h$]h&]j:j5j;j j<j j=j>j?uh1jhhhjk hNhNubjA)}(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](jK)}(h**Definition**h]h Definition}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj ubj7)}(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; };}hj5 sbah}(h]h ]h"]h$]h&]jjuh1j6hd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj ubh)}(h **Members**h]jK)}(hjF h]hMembers}(hjH hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjD ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj ubja)}(hhh](jf)}(h,``verify_time`` see struct ethtool_mm_state h](jl)}(h``verify_time``h]h)}(hje h]h verify_time}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj_ ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjz hMhj{ ubah}(h]h ]h"]h$]h&]uh1jhj_ ubeh}(h]h ]h"]h$]h&]uh1jehjz hMhj\ ubjf)}(h/``verify_enabled`` see struct ethtool_mm_state h](jl)}(h``verify_enabled``h]h)}(hj h]hverify_enabled}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jehj hMhj\ ubjf)}(h+``tx_enabled`` see struct ethtool_mm_state h](jl)}(h``tx_enabled``h]h)}(hj h]h tx_enabled}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jehj hMhj\ ubjf)}(h-``pmac_enabled`` see struct ethtool_mm_state h](jl)}(h``pmac_enabled``h]h)}(hj h]h pmac_enabled}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj% hMhj& ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jehj% hMhj\ ubjf)}(h0``tx_min_frag_size`` see struct ethtool_mm_stateh](jl)}(h``tx_min_frag_size``h]h)}(hjI h]htx_min_frag_size}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjG ubah}(h]h ]h"]h$]h&]uh1jkhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhjC ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2155: ./include/linux/ethtool.hhMhj_ ubah}(h]h ]h"]h$]h&]uh1jhjC ubeh}(h]h ]h"]h$]h&]uh1jehj^ hMhj\ ubeh}(h]h ]h"]h$]h&]uh1j`hj ubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjk hhhNhNubeh}(h]mm-setah ]h"]mm_setah$]h&]uh1hhhhhhhhM[ubh)}(hhh](h)}(hMODULE_FW_FLASH_ACTh]hMODULE_FW_FLASH_ACT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMoubh)}(h$Flashes transceiver module firmware.h]h$Flashes transceiver module firmware.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj hhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj hhubj)}(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'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_FW_FLASH_HEADER``h]h)}(hj h]h ETHTOOL_A_MODULE_FW_FLASH_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest 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_MODULE_FW_FLASH_FILE_NAME``h]h)}(hjIh]h#ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMwhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hstringh]hstring}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hfirmware image file nameh]hfirmware image file name}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhj{ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_FW_FLASH_PASSWORD``h]h)}(hjh]h"ETHTOOL_A_MODULE_FW_FLASH_PASSWORD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htransceiver module passwordh]htransceiver module password}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(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)}(hj?uh1jhhhj hNhNubjA)}(hX**Constants** ``ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED`` The firmware flashing process has started. ``ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS`` The firmware flashing process is in progress. ``ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED`` The firmware flashing process was completed successfully. ``ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR`` The firmware flashing process was stopped due to an error.h](h)}(h **Constants**h]jK)}(hjxh]h Constants}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjvubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhM8hjrubja)}(hhh](jf)}(hV``ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED`` The firmware flashing process has started. h](jl)}(h*``ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED``h]h)}(hjh]hÐTOOL_MODULE_FW_FLASH_STATUS_STARTED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhM<hjubj)}(hhh]h)}(h*The firmware flashing process has started.h]h*The firmware flashing process has started.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhM;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM<hjubjf)}(h]``ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS`` The firmware flashing process is in progress. h](jl)}(h.``ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS``h]h)}(hjh]h*ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhM@hjubj)}(hhh]h)}(h-The firmware flashing process is in progress.h]h-The firmware flashing process is in progress.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhM?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhM@hjubjf)}(hg``ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED`` The firmware flashing process was completed successfully. h](jl)}(h,``ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED``h]h)}(hj h]h(ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhMDhjubj)}(hhh]h)}(h9The firmware flashing process was completed successfully.h]h9The firmware flashing process was completed successfully.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhMChj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehj hMDhjubjf)}(hc``ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR`` The firmware flashing process was stopped due to an error.h](jl)}(h(``ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR``h]h)}(hjEh]h$ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1jkhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2216: ./include/uapi/linux/ethtool.hhMGhj?ubj)}(hhh]h)}(h:The firmware flashing process was stopped due to an error.h]h:The firmware flashing process was stopped due to an error.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhMGhj[ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jehjZhMGhjubeh}(h]h ]h"]h$]h&]uh1j`hjrubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hj hhhNhNubh)}(hWThe ``ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG`` attribute encodes a status message string.h](hThe }(hjhhhNhNubh)}(h(``ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG``h]h$ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh+ attribute encodes a status message string.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hThe ``ETHTOOL_A_MODULE_FW_FLASH_DONE`` and ``ETHTOOL_A_MODULE_FW_FLASH_TOTAL`` attributes encode the completed and total amount of work, respectively.h](hThe }(hjhhhNhNubh)}(h"``ETHTOOL_A_MODULE_FW_FLASH_DONE``h]hETHTOOL_A_MODULE_FW_FLASH_DONE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh and }(hjhhhNhNubh)}(h#``ETHTOOL_A_MODULE_FW_FLASH_TOTAL``h]hETHTOOL_A_MODULE_FW_FLASH_TOTAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhH attributes encode the completed and total amount of work, respectively.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]module-fw-flash-actah ]h"]module_fw_flash_actah$]h&]uh1hhhhhhhhMoubh)}(hhh](h)}(hPHY_GETh]hPHY_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(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.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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h7For more information, refer to :ref:`phy_link_topology`h](hFor more information, refer to }(hj hhhNhNubh)}(h:ref:`phy_link_topology`h]hinline)}(hjh]hphy_link_topology}(hjhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocnetworking/ethtool-netlink refdomainj%reftyperef refexplicitrefwarn reftargetphy_link_topologyuh1hhhhMhj ubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PHY_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjTubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjTubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjTubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_HEADER``h]h)}(hjh]hETHTOOL_A_PHY_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjuubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]colsKuh1jhjQubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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%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_PHY_HEADER``h]h)}(hj)h]hETHTOOL_A_PHY_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}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(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&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_INDEX``h]h)}(hjh]hETHTOOL_A_PHY_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_DRVNAME``h]h)}(hjh]hETHTOOL_A_PHY_DRVNAME}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hthe phy driver nameh]hthe phy driver name}(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_PHY_NAME``h]h)}(hj.h]hETHTOOL_A_PHY_NAME}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hstringh]hstring}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hthe phy device nameh]hthe phy device name}(hjchhhNhNubah}(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_PHY_UPSTREAM_TYPE``h]h)}(hjh]hETHTOOL_A_PHY_UPSTREAM_TYPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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+the type of device this phy is connected toh]h+the type of device this phy is connected to}(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_PHY_UPSTREAM_INDEX``h]h)}(hjh]hETHTOOL_A_PHY_UPSTREAM_INDEX}(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!the PHY index of the upstream PHYh]h!the PHY index of the upstream PHY}(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_PHY_UPSTREAM_SFP_NAME``h]h)}(hj3h]hETHTOOL_A_PHY_UPSTREAM_SFP_NAME}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hstringh]hstring}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(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}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME``h]h)}(hjh]h!ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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}(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)}(hZWhen ``ETHTOOL_A_PHY_UPSTREAM_TYPE`` is PHY_UPSTREAM_PHY, the PHY's parent is another PHY.h](hWhen }(hjhhhNhNubh)}(h``ETHTOOL_A_PHY_UPSTREAM_TYPE``h]hETHTOOL_A_PHY_UPSTREAM_TYPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh8 is PHY_UPSTREAM_PHY, the PHY’s parent is another PHY.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]phy-getah ]h"]phy_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h TSCONFIG_GETh]h TSCONFIG_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(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&]uh1hhhhMhjhhubh)}(h@It is similar to the deprecated ``SIOCGHWTSTAMP`` ioctl request.h](h It is similar to the deprecated }(hj9hhhNhNubh)}(h``SIOCGHWTSTAMP``h]h SIOCGHWTSTAMP}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubh ioctl request.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_TSCONFIG_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjnubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjnubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjnubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_HEADER``h]h)}(hjh]hETHTOOL_A_TSCONFIG_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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjnubeh}(h]h ]h"]h$]h&]colsKuh1jhjkubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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(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_TSCONFIG_HEADER``h]h)}(hjCh]hETHTOOL_A_TSCONFIG_HEADER}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hnestedh]hnested}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h)}(hjh]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(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)}(hPTP hw clock providerh]hPTP hw clock provider}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]h)}(hjh]hETHTOOL_A_TSCONFIG_TX_TYPES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhwtstamp Tx typeh]hhwtstamp Tx type}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]h)}(hjHh]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hbitseth]hbitset}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hhwtstamp Rx filterh]hhwtstamp Rx filter}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h)}(hjh]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(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)}(hhwtstamp flagsh]hhwtstamp flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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 }(hjhhhNhNubh)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhT attribute identifies the source of the hw timestamping provider. It is composed by }(hjhhhNhNubh)}(h(``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX``h]h$ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh: attribute which describe the index of the PTP device and }(hjhhhNhNubh)}(h,``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER``h]h(ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh/ which describe the qualifier of the timestamp.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(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 }(hjKhhhNhNubh)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubh, }(hjKhhhNhNubh)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubh and the }(hjKhhhNhNubh)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubh 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:}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!kernel_hwtstamp_config (C struct)c.kernel_hwtstamp_confighNtauh1jhjhhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhNubj)}(hhh](j)}(hkernel_hwtstamp_configh]j)}(hstruct kernel_hwtstamp_configh](j‡)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]j·ah"]h$]h&]uh1jhjhhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhKubjԇ)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jӇhjhhhjhKubj)}(hkernel_hwtstamp_configh]j)}(hjh]hkernel_hwtstamp_config}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jjj uh1jj j hjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h%Kernel copy of struct hwtstamp_configh]h%Kernel copy of struct hwtstamp_config}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK2hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](j5structeh"]h$]h&]j:j5j;jj<jj=j>j?uh1jhhhjhjhNubjA)}(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](jK)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK6hjubj7)}(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&]jjuh1j6hg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK8hjubh)}(h **Members**h]jK)}(hj9h]hMembers}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jJhj7ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhKBhjubja)}(hhh](jf)}(h%``flags`` see struct hwtstamp_config h](jl)}(h ``flags``h]h)}(hjXh]hflags}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1jkhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK5hjRubj)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhK5hjnubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jehjmhK5hjOubjf)}(h'``tx_type`` see struct hwtstamp_config h](jl)}(h ``tx_type``h]h)}(hjh]htx_type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK6hjubj)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK6hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhK6hjOubjf)}(h)``rx_filter`` see struct hwtstamp_config h](jl)}(h ``rx_filter``h]h)}(hjh]h rx_filter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK7hjubj)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhK7hjOubjf)}(hy``ifr`` pointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver h](jl)}(h``ifr``h]h)}(hjh]hifr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jkhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK9hjubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK8hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhK9hjOubjf)}(h{``copied_to_user`` request was passed to a legacy implementation which already copied the ioctl request back to user space h](jl)}(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&]uh1jkhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK;hj7ubj)}(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}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK:hjSubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jehjRhK;hjOubjf)}(hd``source`` indication whether timestamps should come from the netdev or from an attached phylib PHY h](jl)}(h ``source``h]h)}(hjwh]hsource}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jkhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK=hjqubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jehjhK=hjOubeh}(h]h ]h"]h$]h&]uh1j`hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j@hjhhhjhNubh)}(h**Description**h]jK)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jJhjubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhKAhjhhubh)}(hPrefer using this structure for in-kernel processing of hardware timestamping configuration, over the inextensible struct hwtstamp_config exposed to the ``SIOCGHWTSTAMP`` and ``SIOCSHWTSTAMP`` ioctl UAPI.h](hPrefer using this structure for in-kernel processing of hardware timestamping configuration, over the inextensible struct hwtstamp_config exposed to the }(hj hhhNhNubh)}(h``SIOCGHWTSTAMP``h]h SIOCGHWTSTAMP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh and }(hj hhhNhNubh)}(h``SIOCSHWTSTAMP``h]h SIOCSHWTSTAMP}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh ioctl UAPI.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2304: ./include/linux/net_tstamp.hhK?hjhhubeh}(h] tsconfig-getah ]h"] tsconfig_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h TSCONFIG_SETh]h TSCONFIG_SET}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhhhhhM ubh)}(hUSet the information about the current hardware timestamping source and configuration.h]hUSet the information about the current hardware timestamping source and configuration.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjEhhubh)}(h@It is similar to the deprecated ``SIOCSHWTSTAMP`` ioctl request.h](h It is similar to the deprecated }(hjdhhhNhNubh)}(h``SIOCSHWTSTAMP``h]h SIOCSHWTSTAMP}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubh ioctl request.}(hjdhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjEhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjEhhubj)}(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(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_TSCONFIG_HEADER``h]h)}(hjh]hETHTOOL_A_TSCONFIG_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(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_TSCONFIG_HWTSTAMP_PROVIDER``h]h)}(hjh]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]h)}(hjsh]hETHTOOL_A_TSCONFIG_TX_TYPES}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubah}(h]h ]h"]h$]h&]uh1hhhhM hjnubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(hhwtstamp Tx typeh]hhwtstamp Tx type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]h)}(hjh]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhwtstamp Rx filterh]hhwtstamp Rx filter}(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_TSCONFIG_HWTSTAMP_FLAGS``h]h)}(hj! h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(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)}(hhwtstamp flagsh]hhwtstamp flags}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjS ubah}(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&]uh1jhhhM hjEhhubh)}(hKernel response contents:h]hKernel response contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjEhhubj)}(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&]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_TSCONFIG_HWTSTAMP_PROVIDER``h]h)}(hj!!h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(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#h]h ETHTOOL_GSET}(hj@#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<#ubah}(h]h ]h"]h$]h&]uh1hhhhM, hj9#ubah}(h]h ]h"]h$]h&]uh1jhj6#ubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_GET`` ``ETHTOOL_MSG_LINKMODES_GET``h](h)}(h``ETHTOOL_MSG_LINKINFO_GET``h]hETHTOOL_MSG_LINKINFO_GET}(hj`#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\#ubh }(hj\#hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_GET``h]hETHTOOL_MSG_LINKMODES_GET}(hjr#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\#ubeh}(h]h ]h"]h$]h&]uh1hhhhM, hjY#ubah}(h]h ]h"]h$]h&]uh1jhj6#ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SSET``h]h)}(hj#h]h ETHTOOL_SSET}(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_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET``h](h)}(h``ETHTOOL_MSG_LINKINFO_SET``h]hETHTOOL_MSG_LINKINFO_SET}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubh }(hj#hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_SET``h]hETHTOOL_MSG_LINKMODES_SET}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubeh}(h]h ]h"]h$]h&]uh1hhhhM. hj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GDRVINFO``h]h)}(hj#h]hETHTOOL_GDRVINFO}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1hhhhM0 hj#ubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hn/ah]hn/a}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0 hj$ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GREGS``h]h)}(hj6$h]h ETHTOOL_GREGS}(hj8$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4$ubah}(h]h ]h"]h$]h&]uh1hhhhM1 hj1$ubah}(h]h ]h"]h$]h&]uh1jhj.$ubj)}(hhh]h)}(hn/ah]hn/a}(hjT$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1 hjQ$ubah}(h]h ]h"]h$]h&]uh1jhj.$ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GWOL``h]h)}(hjv$h]h ETHTOOL_GWOL}(hjx$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjt$ubah}(h]h ]h"]h$]h&]uh1hhhhM2 hjq$ubah}(h]h ]h"]h$]h&]uh1jhjn$ubj)}(hhh]h)}(h``ETHTOOL_MSG_WOL_GET``h]h)}(hj$h]hETHTOOL_MSG_WOL_GET}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhhhM2 hj$ubah}(h]h ]h"]h$]h&]uh1jhjn$ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SWOL``h]h)}(hj$h]h ETHTOOL_SWOL}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhhhM3 hj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(h``ETHTOOL_MSG_WOL_SET``h]h)}(hj$h]hETHTOOL_MSG_WOL_SET}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhhhM3 hj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GMSGLVL``h]h)}(hj%h]hETHTOOL_GMSGLVL}(hj %hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhM4 hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(h``ETHTOOL_MSG_DEBUG_GET``h]h)}(hj(%h]hETHTOOL_MSG_DEBUG_GET}(hj*%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&%ubah}(h]h ]h"]h$]h&]uh1hhhhM4 hj#%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SMSGLVL``h]h)}(hjQ%h]hETHTOOL_SMSGLVL}(hjS%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjO%ubah}(h]h ]h"]h$]h&]uh1hhhhM5 hjL%ubah}(h]h ]h"]h$]h&]uh1jhjI%ubj)}(hhh]h)}(h``ETHTOOL_MSG_DEBUG_SET``h]h)}(hjq%h]hETHTOOL_MSG_DEBUG_SET}(hjs%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjo%ubah}(h]h ]h"]h$]h&]uh1hhhhM5 hjl%ubah}(h]h ]h"]h$]h&]uh1jhjI%ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_NWAY_RST``h]h)}(hj%h]hETHTOOL_NWAY_RST}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhM6 hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hn/ah]hn/a}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6 hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GLINK``h]h)}(hj%h]h ETHTOOL_GLINK}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhM7 hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(h``ETHTOOL_MSG_LINKSTATE_GET``h]h)}(hj%h]hETHTOOL_MSG_LINKSTATE_GET}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhM7 hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GEEPROM``h]h)}(hj#&h]hETHTOOL_GEEPROM}(hj%&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!&ubah}(h]h ]h"]h$]h&]uh1hhhhM8 hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hn/ah]hn/a}(hjA&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8 hj>&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEPROM``h]h)}(hjc&h]hETHTOOL_SEEPROM}(hje&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja&ubah}(h]h ]h"]h$]h&]uh1hhhhM9 hj^&ubah}(h]h ]h"]h$]h&]uh1jhj[&ubj)}(hhh]h)}(hn/ah]hn/a}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9 hj~&ubah}(h]h ]h"]h$]h&]uh1jhj[&ubeh}(h]h ]h"]h$]h&]uh1jhj3#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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SCOALESCE``h]h)}(hj&h]hETHTOOL_SCOALESCE}(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_SET``h]h)}(hj 'h]hETHTOOL_MSG_COALESCE_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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRINGPARAM``h]h)}(hj5'h]hETHTOOL_GRINGPARAM}(hj7'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3'ubah}(h]h ]h"]h$]h&]uh1hhhhM< hj0'ubah}(h]h ]h"]h$]h&]uh1jhj-'ubj)}(hhh]h)}(h``ETHTOOL_MSG_RINGS_GET``h]h)}(hjU'h]hETHTOOL_MSG_RINGS_GET}(hjW'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS'ubah}(h]h ]h"]h$]h&]uh1hhhhM< hjP'ubah}(h]h ]h"]h$]h&]uh1jhj-'ubeh}(h]h ]h"]h$]h&]uh1jhj3#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= hjy'ubah}(h]h ]h"]h$]h&]uh1jhjv'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&]uh1jhjv'ubeh}(h]h ]h"]h$]h&]uh1jhj3#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> hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPAUSEPARAM``h]h)}(hj(h]hETHTOOL_SPAUSEPARAM}(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_SET``h]h)}(hj0(h]hETHTOOL_MSG_PAUSE_SET}(hj2(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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCSUM``h]h)}(hjY(h]hETHTOOL_GRXCSUM}(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)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjy(h]hETHTOOL_MSG_FEATURES_GET}(hj{(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw(ubah}(h]h ]h"]h$]h&]uh1hhhhM@ hjt(ubah}(h]h ]h"]h$]h&]uh1jhjQ(ubeh}(h]h ]h"]h$]h&]uh1jhj3#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&]uh1hhhhMA hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj(h]hETHTOOL_MSG_FEATURES_SET}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhhhMA hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTXCSUM``h]h)}(hj(h]hETHTOOL_GTXCSUM}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhhhMB 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&]uh1hhhhMB hj)ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STXCSUM``h]h)}(hj4)h]hETHTOOL_STXCSUM}(hj6)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2)ubah}(h]h ]h"]h$]h&]uh1hhhhMC hj/)ubah}(h]h ]h"]h$]h&]uh1jhj,)ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjT)h]hETHTOOL_MSG_FEATURES_SET}(hjV)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR)ubah}(h]h ]h"]h$]h&]uh1hhhhMC hjO)ubah}(h]h ]h"]h$]h&]uh1jhj,)ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSG``h]h)}(hj})h]h ETHTOOL_GSG}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{)ubah}(h]h ]h"]h$]h&]uh1hhhhMD hjx)ubah}(h]h ]h"]h$]h&]uh1jhju)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&]uh1hhhhMD hj)ubah}(h]h ]h"]h$]h&]uh1jhju)ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SSG``h]h)}(hj)h]h ETHTOOL_SSG}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1hhhhME hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj)h]hETHTOOL_MSG_FEATURES_SET}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1hhhhME hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_TEST``h]h)}(hj*h]h ETHTOOL_TEST}(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)}(hn/ah]hn/a}(hj-*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMF hj**ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTRINGS``h]h)}(hjO*h]hETHTOOL_GSTRINGS}(hjQ*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM*ubah}(h]h ]h"]h$]h&]uh1hhhhMG hjJ*ubah}(h]h ]h"]h$]h&]uh1jhjG*ubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hjo*h]hETHTOOL_MSG_STRSET_GET}(hjq*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjm*ubah}(h]h ]h"]h$]h&]uh1hhhhMG hjj*ubah}(h]h ]h"]h$]h&]uh1jhjG*ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHYS_ID``h]h)}(hj*h]hETHTOOL_PHYS_ID}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMH hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hn/ah]hn/a}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMH hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTATS``h]h)}(hj*h]hETHTOOL_GSTATS}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMI hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hn/ah]hn/a}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMI hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTSO``h]h)}(hj+h]h ETHTOOL_GTSO}(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)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj8+h]hETHTOOL_MSG_FEATURES_GET}(hj:+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6+ubah}(h]h ]h"]h$]h&]uh1hhhhMJ hj3+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STSO``h]h)}(hja+h]h ETHTOOL_STSO}(hjc+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_+ubah}(h]h ]h"]h$]h&]uh1hhhhMK hj\+ubah}(h]h ]h"]h$]h&]uh1jhjY+ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj+h]hETHTOOL_MSG_FEATURES_SET}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1hhhhMK hj|+ubah}(h]h ]h"]h$]h&]uh1jhjY+ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPERMADDR``h]h)}(hj+h]hETHTOOL_GPERMADDR}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubah}(h]h ]h"]h$]h&]uh1hhhhML hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hrtnetlink ``RTM_GETLINK``h](h rtnetlink }(hj+hhhNhNubh)}(h``RTM_GETLINK``h]h RTM_GETLINK}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ubeh}(h]h ]h"]h$]h&]uh1hhhhML hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GUFO``h]h)}(hj+h]h ETHTOOL_GUFO}(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)}(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&]uh1hhhhMM hj,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SUFO``h]h)}(hjA,h]h ETHTOOL_SUFO}(hjC,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?,ubah}(h]h ]h"]h$]h&]uh1hhhhMN hj<,ubah}(h]h ]h"]h$]h&]uh1jhj9,ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hja,h]hETHTOOL_MSG_FEATURES_SET}(hjc,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_,ubah}(h]h ]h"]h$]h&]uh1hhhhMN hj\,ubah}(h]h ]h"]h$]h&]uh1jhj9,ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGSO``h]h)}(hj,h]h ETHTOOL_GGSO}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMO 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&]uh1hhhhMO hj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGSO``h]h)}(hj,h]h ETHTOOL_SGSO}(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)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj,h]hETHTOOL_MSG_FEATURES_SET}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMP hj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFLAGS``h]h)}(hj-h]hETHTOOL_GFLAGS}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMQ 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&]uh1hhhhMQ hj7-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFLAGS``h]h)}(hje-h]hETHTOOL_SFLAGS}(hjg-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc-ubah}(h]h ]h"]h$]h&]uh1hhhhMR hj`-ubah}(h]h ]h"]h$]h&]uh1jhj]-ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj-h]hETHTOOL_MSG_FEATURES_SET}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMR hj-ubah}(h]h ]h"]h$]h&]uh1jhj]-ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPFLAGS``h]h)}(hj-h]hETHTOOL_GPFLAGS}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMS hj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_GET``h]h)}(hj-h]hETHTOOL_MSG_PRIVFLAGS_GET}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMS hj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPFLAGS``h]h)}(hj-h]hETHTOOL_SPFLAGS}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMT hj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_SET``h]h)}(hj.h]hETHTOOL_MSG_PRIVFLAGS_SET}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1hhhhMT hj.ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFH``h]h)}(hj@.h]h ETHTOOL_GRXFH}(hjB.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>.ubah}(h]h ]h"]h$]h&]uh1hhhhMU hj;.ubah}(h]h ]h"]h$]h&]uh1jhj8.ubj)}(hhh]h)}(hn/ah]hn/a}(hj^.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMU hj[.ubah}(h]h ]h"]h$]h&]uh1jhj8.ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFH``h]h)}(hj.h]h ETHTOOL_SRXFH}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~.ubah}(h]h ]h"]h$]h&]uh1hhhhMV hj{.ubah}(h]h ]h"]h$]h&]uh1jhjx.ubj)}(hhh]h)}(hn/ah]hn/a}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMV hj.ubah}(h]h ]h"]h$]h&]uh1jhjx.ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGRO``h]h)}(hj.h]h ETHTOOL_GGRO}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1hhhhMW 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&]uh1hhhhMW hj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGRO``h]h)}(hj /h]h ETHTOOL_SGRO}(hj /hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1hhhhMX hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj)/h]hETHTOOL_MSG_FEATURES_SET}(hj+/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'/ubah}(h]h ]h"]h$]h&]uh1hhhhMX hj$/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXRINGS``h]h)}(hjR/h]hETHTOOL_GRXRINGS}(hjT/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP/ubah}(h]h ]h"]h$]h&]uh1hhhhMY hjM/ubah}(h]h ]h"]h$]h&]uh1jhjJ/ubj)}(hhh]h)}(hn/ah]hn/a}(hjp/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMY hjm/ubah}(h]h ]h"]h$]h&]uh1jhjJ/ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLCNT``h]h)}(hj/h]hETHTOOL_GRXCLSRLCNT}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1hhhhMZ hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hn/ah]hn/a}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZ hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRULE``h]h)}(hj/h]hETHTOOL_GRXCLSRULE}(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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLALL``h]h)}(hj0h]hETHTOOL_GRXCLSRLALL}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM\ hj 0ubah}(h]h ]h"]h$]h&]uh1jhj 0ubj)}(hhh]h)}(hn/ah]hn/a}(hj00hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\ hj-0ubah}(h]h ]h"]h$]h&]uh1jhj 0ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCLSRLDEL``h]h)}(hjR0h]hETHTOOL_SRXCLSRLDEL}(hjT0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP0ubah}(h]h ]h"]h$]h&]uh1hhhhM] hjM0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubj)}(hhh]h)}(hn/ah]hn/a}(hjp0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM] hjm0ubah}(h]h ]h"]h$]h&]uh1jhjJ0ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCLSRLINS``h]h)}(hj0h]hETHTOOL_SRXCLSRLINS}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM^ hj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hn/ah]hn/a}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^ hj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_FLASHDEV``h]h)}(hj0h]hETHTOOL_FLASHDEV}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM_ hj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hn/ah]hn/a}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_ hj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_RESET``h]h)}(hj1h]h ETHTOOL_RESET}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhM` hj 1ubah}(h]h ]h"]h$]h&]uh1jhj 1ubj)}(hhh]h)}(hn/ah]hn/a}(hj01hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM` hj-1ubah}(h]h ]h"]h$]h&]uh1jhj 1ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXNTUPLE``h]h)}(hjR1h]hETHTOOL_SRXNTUPLE}(hjT1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP1ubah}(h]h ]h"]h$]h&]uh1hhhhMa hjM1ubah}(h]h ]h"]h$]h&]uh1jhjJ1ubj)}(hhh]h)}(hn/ah]hn/a}(hjp1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMa hjm1ubah}(h]h ]h"]h$]h&]uh1jhjJ1ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXNTUPLE``h]h)}(hj1h]hETHTOOL_GRXNTUPLE}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMb hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hn/ah]hn/a}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMb hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSSET_INFO``h]h)}(hj1h]hETHTOOL_GSSET_INFO}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMc hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hj1h]hETHTOOL_MSG_STRSET_GET}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMc hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFHINDIR``h]h)}(hj2h]hETHTOOL_GRXFHINDIR}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMd hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hn/ah]hn/a}(hj92hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMd hj62ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFHINDIR``h]h)}(hj[2h]hETHTOOL_SRXFHINDIR}(hj]2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjY2ubah}(h]h ]h"]h$]h&]uh1hhhhMe hjV2ubah}(h]h ]h"]h$]h&]uh1jhjS2ubj)}(hhh]h)}(hn/ah]hn/a}(hjy2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMe hjv2ubah}(h]h ]h"]h$]h&]uh1jhjS2ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFEATURES``h]h)}(hj2h]hETHTOOL_GFEATURES}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMf hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj2h]hETHTOOL_MSG_FEATURES_GET}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMf hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFEATURES``h]h)}(hj2h]hETHTOOL_SFEATURES}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMg hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj3h]hETHTOOL_MSG_FEATURES_SET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMg hj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GCHANNELS``h]h)}(hj-3h]hETHTOOL_GCHANNELS}(hj/3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+3ubah}(h]h ]h"]h$]h&]uh1hhhhMh hj(3ubah}(h]h ]h"]h$]h&]uh1jhj%3ubj)}(hhh]h)}(h``ETHTOOL_MSG_CHANNELS_GET``h]h)}(hjM3h]hETHTOOL_MSG_CHANNELS_GET}(hjO3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjK3ubah}(h]h ]h"]h$]h&]uh1hhhhMh hjH3ubah}(h]h ]h"]h$]h&]uh1jhj%3ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SCHANNELS``h]h)}(hjv3h]hETHTOOL_SCHANNELS}(hjx3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjt3ubah}(h]h ]h"]h$]h&]uh1hhhhMi hjq3ubah}(h]h ]h"]h$]h&]uh1jhjn3ubj)}(hhh]h)}(h``ETHTOOL_MSG_CHANNELS_SET``h]h)}(hj3h]hETHTOOL_MSG_CHANNELS_SET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMi hj3ubah}(h]h ]h"]h$]h&]uh1jhjn3ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SET_DUMP``h]h)}(hj3h]hETHTOOL_SET_DUMP}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMj hj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hn/ah]hn/a}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMj hj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_DUMP_FLAG``h]h)}(hj3h]hETHTOOL_GET_DUMP_FLAG}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMk hj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hn/ah]hn/a}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMk hj4ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_DUMP_DATA``h]h)}(hj?4h]hETHTOOL_GET_DUMP_DATA}(hjA4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=4ubah}(h]h ]h"]h$]h&]uh1hhhhMl hj:4ubah}(h]h ]h"]h$]h&]uh1jhj74ubj)}(hhh]h)}(hn/ah]hn/a}(hj]4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMl hjZ4ubah}(h]h ]h"]h$]h&]uh1jhj74ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_TS_INFO``h]h)}(hj4h]hETHTOOL_GET_TS_INFO}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}4ubah}(h]h ]h"]h$]h&]uh1hhhhMm hjz4ubah}(h]h ]h"]h$]h&]uh1jhjw4ubj)}(hhh]h)}(h``ETHTOOL_MSG_TSINFO_GET``h]h)}(hj4h]hETHTOOL_MSG_TSINFO_GET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMm hj4ubah}(h]h ]h"]h$]h&]uh1jhjw4ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GMODULEINFO``h]h)}(hj4h]hETHTOOL_GMODULEINFO}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMn hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h!``ETHTOOL_MSG_MODULE_EEPROM_GET``h]h)}(hj4h]hETHTOOL_MSG_MODULE_EEPROM_GET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMn hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GMODULEEEPROM``h]h)}(hj5h]hETHTOOL_GMODULEEEPROM}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMo hj 5ubah}(h]h ]h"]h$]h&]uh1jhj 5ubj)}(hhh]h)}(h!``ETHTOOL_MSG_MODULE_EEPROM_GET``h]h)}(hj15h]hETHTOOL_MSG_MODULE_EEPROM_GET}(hj35hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/5ubah}(h]h ]h"]h$]h&]uh1hhhhMo hj,5ubah}(h]h ]h"]h$]h&]uh1jhj 5ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GEEE``h]h)}(hjZ5h]h ETHTOOL_GEEE}(hj\5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX5ubah}(h]h ]h"]h$]h&]uh1hhhhMp hjU5ubah}(h]h ]h"]h$]h&]uh1jhjR5ubj)}(hhh]h)}(h``ETHTOOL_MSG_EEE_GET``h]h)}(hjz5h]hETHTOOL_MSG_EEE_GET}(hj|5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjx5ubah}(h]h ]h"]h$]h&]uh1hhhhMp hju5ubah}(h]h ]h"]h$]h&]uh1jhjR5ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEE``h]h)}(hj5h]h ETHTOOL_SEEE}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMq hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h``ETHTOOL_MSG_EEE_SET``h]h)}(hj5h]hETHTOOL_MSG_EEE_SET}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMq hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRSSH``h]h)}(hj5h]h ETHTOOL_GRSSH}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMr hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hj 6h]hETHTOOL_MSG_RSS_GET}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj 6ubah}(h]h ]h"]h$]h&]uh1hhhhMr hj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRSSH``h]h)}(hj56h]h ETHTOOL_SRSSH}(hj76hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj36ubah}(h]h ]h"]h$]h&]uh1hhhhMs hj06ubah}(h]h ]h"]h$]h&]uh1jhj-6ubj)}(hhh]h)}(hn/ah]hn/a}(hjS6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMs hjP6ubah}(h]h ]h"]h$]h&]uh1jhj-6ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTUNABLE``h]h)}(hju6h]hETHTOOL_GTUNABLE}(hjw6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs6ubah}(h]h ]h"]h$]h&]uh1hhhhMt hjp6ubah}(h]h ]h"]h$]h&]uh1jhjm6ubj)}(hhh]h)}(hn/ah]hn/a}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMt hj6ubah}(h]h ]h"]h$]h&]uh1jhjm6ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STUNABLE``h]h)}(hj6h]hETHTOOL_STUNABLE}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMu hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hn/ah]hn/a}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMu hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPHYSTATS``h]h)}(hj6h]hETHTOOL_GPHYSTATS}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMv hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hn/ah]hn/a}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMv hj7ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PERQUEUE``h]h)}(hj57h]hETHTOOL_PERQUEUE}(hj77hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj37ubah}(h]h ]h"]h$]h&]uh1hhhhMw hj07ubah}(h]h ]h"]h$]h&]uh1jhj-7ubj)}(hhh]h)}(hn/ah]hn/a}(hjS7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMw hjP7ubah}(h]h ]h"]h$]h&]uh1jhj-7ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GLINKSETTINGS``h]h)}(hju7h]hETHTOOL_GLINKSETTINGS}(hjw7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjs7ubah}(h]h ]h"]h$]h&]uh1hhhhMx hjp7ubah}(h]h ]h"]h$]h&]uh1jhjm7ubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_GET`` ``ETHTOOL_MSG_LINKMODES_GET``h](h)}(h``ETHTOOL_MSG_LINKINFO_GET``h]hETHTOOL_MSG_LINKINFO_GET}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubh }(hj7hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_GET``h]hETHTOOL_MSG_LINKMODES_GET}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubeh}(h]h ]h"]h$]h&]uh1hhhhMx hj7ubah}(h]h ]h"]h$]h&]uh1jhjm7ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SLINKSETTINGS``h]h)}(hj7h]hETHTOOL_SLINKSETTINGS}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMz hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET``h](h)}(h``ETHTOOL_MSG_LINKINFO_SET``h]hETHTOOL_MSG_LINKINFO_SET}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubh }(hj7hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_SET``h]hETHTOOL_MSG_LINKMODES_SET}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubeh}(h]h ]h"]h$]h&]uh1hhhhMz hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHY_GTUNABLE``h]h)}(hj-8h]hETHTOOL_PHY_GTUNABLE}(hj/8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+8ubah}(h]h ]h"]h$]h&]uh1hhhhM| hj(8ubah}(h]h ]h"]h$]h&]uh1jhj%8ubj)}(hhh]h)}(hn/ah]hn/a}(hjK8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM| hjH8ubah}(h]h ]h"]h$]h&]uh1jhj%8ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHY_STUNABLE``h]h)}(hjm8h]hETHTOOL_PHY_STUNABLE}(hjo8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk8ubah}(h]h ]h"]h$]h&]uh1hhhhM} hjh8ubah}(h]h ]h"]h$]h&]uh1jhje8ubj)}(hhh]h)}(hn/ah]hn/a}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM} hj8ubah}(h]h ]h"]h$]h&]uh1jhje8ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFECPARAM``h]h)}(hj8h]hETHTOOL_GFECPARAM}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM~ hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEC_GET``h]h)}(hj8h]hETHTOOL_MSG_FEC_GET}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM~ hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFECPARAM``h]h)}(hj8h]hETHTOOL_SFECPARAM}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEC_SET``h]h)}(hj9h]hETHTOOL_MSG_FEC_SET}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj=9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:9ubah}(h]h ]h"]h$]h&]uh1jhj79ubj)}(hhh]h)}(h``ETHTOOL_MSG_CABLE_TEST_ACT``h]h)}(hjV9h]hETHTOOL_MSG_CABLE_TEST_ACT}(hjX9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT9ubah}(h]h ]h"]h$]h&]uh1hhhhM hjQ9ubah}(h]h ]h"]h$]h&]uh1jhj79ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj}9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjz9ubah}(h]h ]h"]h$]h&]uh1jhjw9ubj)}(hhh]h)}(h"``ETHTOOL_MSG_CABLE_TEST_TDR_ACT``h]h)}(hj9h]hETHTOOL_MSG_CABLE_TEST_TDR_ACT}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhjw9ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h``ETHTOOL_MSG_TUNNEL_INFO_GET``h]h)}(hj9h]hETHTOOL_MSG_TUNNEL_INFO_GET}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h``ETHTOOL_MSG_PHC_VCLOCKS_GET``h]h)}(hj:h]hETHTOOL_MSG_PHC_VCLOCKS_GET}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj=:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj::ubah}(h]h ]h"]h$]h&]uh1jhj7:ubj)}(hhh]h)}(h``ETHTOOL_MSG_MODULE_GET``h]h)}(hjV:h]hETHTOOL_MSG_MODULE_GET}(hjX:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT:ubah}(h]h ]h"]h$]h&]uh1hhhhM hjQ:ubah}(h]h ]h"]h$]h&]uh1jhj7:ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj}:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjz:ubah}(h]h ]h"]h$]h&]uh1jhjw:ubj)}(hhh]h)}(h``ETHTOOL_MSG_MODULE_SET``h]h)}(hj:h]hETHTOOL_MSG_MODULE_SET}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhjw:ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(h``ETHTOOL_MSG_PLCA_GET_CFG``h]h)}(hj:h]hETHTOOL_MSG_PLCA_GET_CFG}(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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(h``ETHTOOL_MSG_PLCA_SET_CFG``h]h)}(hj;h]hETHTOOL_MSG_PLCA_SET_CFG}(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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj=;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:;ubah}(h]h ]h"]h$]h&]uh1jhj7;ubj)}(hhh]h)}(h``ETHTOOL_MSG_PLCA_GET_STATUS``h]h)}(hjV;h]hETHTOOL_MSG_PLCA_GET_STATUS}(hjX;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT;ubah}(h]h ]h"]h$]h&]uh1hhhhM hjQ;ubah}(h]h ]h"]h$]h&]uh1jhj7;ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj};hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjz;ubah}(h]h ]h"]h$]h&]uh1jhjw;ubj)}(hhh]h)}(h``ETHTOOL_MSG_MM_GET``h]h)}(hj;h]hETHTOOL_MSG_MM_GET}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhjw;ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(h``ETHTOOL_MSG_MM_SET``h]h)}(hj;h]hETHTOOL_MSG_MM_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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(h#``ETHTOOL_MSG_MODULE_FW_FLASH_ACT``h]h)}(hj<h]hETHTOOL_MSG_MODULE_FW_FLASH_ACT}(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&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj=<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:<ubah}(h]h ]h"]h$]h&]uh1jhj7<ubj)}(hhh]h)}(h``ETHTOOL_MSG_PHY_GET``h]h)}(hjV<h]hETHTOOL_MSG_PHY_GET}(hjX<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT<ubah}(h]h ]h"]h$]h&]uh1hhhhM hjQ<ubah}(h]h ]h"]h$]h&]uh1jhj7<ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``SIOCGHWTSTAMP``h]h)}(hj<h]h SIOCGHWTSTAMP}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}<ubah}(h]h ]h"]h$]h&]uh1hhhhM hjz<ubah}(h]h ]h"]h$]h&]uh1jhjw<ubj)}(hhh]h)}(h``ETHTOOL_MSG_TSCONFIG_GET``h]h)}(hj<h]hETHTOOL_MSG_TSCONFIG_GET}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhjw<ubeh}(h]h ]h"]h$]h&]uh1jhj3#ubj)}(hhh](j)}(hhh]h)}(h``SIOCSHWTSTAMP``h]h)}(hj<h]h SIOCSHWTSTAMP}(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_TSCONFIG_SET``h]h)}(hj<h]hETHTOOL_MSG_TSCONFIG_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&]uh1jhj3#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"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_handlerjT=error_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}(j/=j,=jcj`jjjjjj jg j&j&j.j.j1j1j3j3j8j8j+<j(<jJjJjLjLj NjNjPjPjFRjCRj;Uj8UjKXjHXj[ZjXZj[j[jzcjwcj_hj\hjljljnjnjR{jO{j>{j;{jOjLjjj~j{jWjTjÕjj"jjjjwjtj jj}jzjaj^j jjjjjjQjNjjjj}j/j,jCj@j|jyjvjsjxjujh je j j jjjjjBj?j"j"j'=j$=u nametypes}(j/=jcjjjj j&j.j1j3j8j+<jJjLj NjPjFRj;UjKXj[Zj[jzcj_hjljnjR{j>{jOjj~jWjÕj"jjwj j}jaj jjjQjjj/jCj|jvjxjh j jjjBj"j'=uh}(j,=hj`hjjfjjjg jj&jm j.j&j1j.j3j1j8j3j(<j8jJj.<jLjJjNjLjPjNjCRjPj8UjIRjHXj>UjXZjNXj[j^Zjwcj[j\hj}cjljbhjnjljO{jnj;{j5{jLjU{jjRjjjjj{jjTjjjZjjƕjj%jtjjjzjzj jȵjεj^jjjdjj#jjjNjjBjGjjTjjj}jjjjvj{jjj`jejj!jjjjjjjjjmjrjqjvj j%j,jj@j2jyjFjsjjujyje j{jljqjjjJjOj jk j j jj jj jjj?jjjj"jEj$=j"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.