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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/pt_BR/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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh defined in }(hhhhhNhNubh)}(h````h]h}(hjhhhNhNubah}(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.}(hj6hhhNhNubah}(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).}(hjDhhhNhNubah}(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 (}(hjRhhhNhNubh)}(h``CAP_NET_ADMIN``h]h CAP_NET_ADMIN}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubhX5 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.}(hjRhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]basic-informationah ]h"]basic informationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Conventionsh]h Conventions}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhKubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjzhhubh)}(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(hjzhhubh)}(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,hjzhhubeh}(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)}(hjh]hETHTOOL_A_HEADER_DEV_INDEX}(hjhhhNhNubah}(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&]uh1hhhhK9hj8ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdevice ifindexh]hdevice ifindex}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjOubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_DEV_NAME``h]h)}(hjth]hETHTOOL_A_HEADER_DEV_NAME}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhK:hjoubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(h device nameh]h device name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(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)}(hj"h]hETHTOOL_A_HEADER_PHY_INDEX}(hj$hhhNhNubah}(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&]uh1hhhhMXhj)hhubh)}(hRequest contents:h]hRequest contents:}(hj)*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hj)hhubj)}(hX+---------------------------------------+--------+------------------------+ | ``ETHTOOL_A_STRSET_HEADER`` | nested | request header | +---------------------------------------+--------+------------------------+ | ``ETHTOOL_A_STRSET_STRINGSETS`` | nested | string set to request | +-+-------------------------------------+--------+------------------------+ | | ``ETHTOOL_A_STRINGSETS_STRINGSET+`` | nested | one string set | +-+-+-----------------------------------+--------+------------------------+ | | | ``ETHTOOL_A_STRINGSET_ID`` | u32 | set id | +-+-+-----------------------------------+--------+------------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>*ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>*ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhj>*ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>*ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>*ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_HEADER``h]h)}(hj~*h]hETHTOOL_A_STRSET_HEADER}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|*ubah}(h]h ]h"]h$]h&]uh1hhhhMbhjy*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjv*ubj)}(hhh]h)}(hnestedh]hnested}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj*ubah}(h]h ]h"]h$]h&]uh1jhjv*ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj*ubah}(h]h ]h"]h$]h&]uh1jhjv*ubeh}(h]h ]h"]h$]h&]uh1jhjs*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&]uh1hhhhMdhj*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj*ubj)}(hhh]h)}(hnestedh]hnested}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj*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&]uh1hhhhMdhj +ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjs*ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj&+ubj)}(hhh]h)}(h#``ETHTOOL_A_STRINGSETS_STRINGSET+``h]h)}(hj7+h]hETHTOOL_A_STRINGSETS_STRINGSET+}(hj9+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5+ubah}(h]h ]h"]h$]h&]uh1hhhhMfhj2+ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj&+ubj)}(hhh]h)}(hnestedh]hnested}(hjV+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjS+ubah}(h]h ]h"]h$]h&]uh1jhj&+ubj)}(hhh]h)}(hone string seth]hone string set}(hjm+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjj+ubah}(h]h ]h"]h$]h&]uh1jhj&+ubeh}(h]h ]h"]h$]h&]uh1jhjs*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&]uh1hhhhMhhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hu32h]hu32}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hset idh]hset id}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjs*ubeh}(h]h ]h"]h$]h&]uh1j hj>*ubeh}(h]h ]h"]h$]h&]colsKuh1jhj;*ubah}(h]h ]h"]h$]h&]uh1jhj7*ubah}(h]h ]h"]h$]h&]uh1jhhhMahj)hhubh)}(hKernel response contents:h]hKernel response contents:}(hj ,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhj)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)}(hjr,h]hETHTOOL_A_STRSET_HEADER}(hjt,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp,ubah}(h]h ]h"]h$]h&]uh1hhhhMnhjm,ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjj,ubj)}(hhh]h)}(hnestedh]hnested}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj,ubah}(h]h ]h"]h$]h&]uh1jhjj,ubj)}(hhh]h)}(h reply headerh]h reply header}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj,ubah}(h]h ]h"]h$]h&]uh1jhjj,ubeh}(h]h ]h"]h$]h&]uh1jhjg,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&]uh1hhhhMphj,ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj,ubj)}(hhh]h)}(hnestedh]hnested}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj,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&]uh1hhhhMphj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjg,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&]uh1hhhhMrhj&-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hnestedh]hnested}(hjJ-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjG-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hone string seth]hone string set}(hja-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj^-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjg,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&]uh1hhhhMthj-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj{-ubj)}(hhh]h)}(hu32h]hu32}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj-ubah}(h]h ]h"]h$]h&]uh1jhj{-ubj)}(hhh]h)}(hset idh]hset id}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj-ubah}(h]h ]h"]h$]h&]uh1jhj{-ubeh}(h]h ]h"]h$]h&]uh1jhjg,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&]uh1hhhhMvhj-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hu32h]hu32}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hnumber of stringsh]hnumber of strings}(hj5.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj2.ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjg,ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjO.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjO.ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_STRINGS``h]h)}(hji.h]hETHTOOL_A_STRINGSET_STRINGS}(hjk.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjg.ubah}(h]h ]h"]h$]h&]uh1hhhhMxhjd.ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjO.ubj)}(hhh]h)}(hnestedh]hnested}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj.ubah}(h]h ]h"]h$]h&]uh1jhjO.ubj)}(hhh]h)}(harray of stringsh]harray of strings}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj.ubah}(h]h ]h"]h$]h&]uh1jhjO.ubeh}(h]h ]h"]h$]h&]uh1jhjg,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&]uh1hhhhMzhj.ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj.ubj)}(hhh]h)}(hnestedh]hnested}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(h one stringh]h one string}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj/ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjg,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)}(hjX/h]hETHTOOL_A_STRING_INDEX}(hjZ/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV/ubah}(h]h ]h"]h$]h&]uh1hhhhM|hjS/ubah}(h]h ]h"]h$]h&]uh1jhj,/ubj)}(hhh]h)}(hu32h]hu32}(hjv/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjs/ubah}(h]h ]h"]h$]h&]uh1jhj,/ubj)}(hhh]h)}(h string indexh]h string index}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj/ubah}(h]h ]h"]h$]h&]uh1jhj,/ubeh}(h]h ]h"]h$]h&]uh1jhjg,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&]uh1hhhhM~hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(hstringh]hstring}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubj)}(hhh]h)}(h string valueh]h string value}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj0ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjg,ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]h)}(hj*0h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hj,0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(0ubah}(h]h ]h"]h$]h&]uh1hhhhMhj%0ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj"0ubj)}(hhh]h)}(hflagh]hflag}(hjI0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF0ubah}(h]h ]h"]h$]h&]uh1jhj"0ubj)}(hhh]h)}(hreturn only countsh]hreturn only counts}(hj`0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]0ubah}(h]h ]h"]h$]h&]uh1jhj"0ubeh}(h]h ]h"]h$]h&]uh1jhjg,ubeh}(h]h ]h"]h$]h&]uh1j hj,ubeh}(h]h ]h"]h$]h&]colsKuh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhhhMmhj)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 }(hj0hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh flag, there are three type of }(hj0hhhNhNubh)}(h``STRSET_GET``h]h STRSET_GET}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh requests:}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubj)}(h- no ``NLM_F_DUMP,`` no device: get "global" stringsets - no ``NLM_F_DUMP``, with device: get string sets related to the device - ``NLM_F_DUMP``, no device: get device related string sets for all devices h]h bullet_list)}(hhh](h list_item)}(h5no ``NLM_F_DUMP,`` no device: get "global" stringsetsh]h)}(hj0h](hno }(hj0hhhNhNubh)}(h``NLM_F_DUMP,``h]h NLM_F_DUMP,}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh' no device: get “global” stringsets}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubj0)}(hEno ``NLM_F_DUMP``, with device: get string sets related to the deviceh]h)}(hj0h](hno }(hj0hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubh4, with device: get string sets related to the device}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubj0)}(hJ``NLM_F_DUMP``, no device: get device related string sets for all devices h]h)}(hI``NLM_F_DUMP``, no device: get device related string sets for all devicesh](h)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj*1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&1ubh;, no device: get device related string sets for all devices}(hj&1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj"1ubah}(h]h ]h"]h$]h&]uh1j0hj0ubeh}(h]h ]h"]h$]h&]bullet-uh1j0hhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhhhMhj)hhubh)}(hX If there is no ``ETHTOOL_A_STRSET_STRINGSETS`` array, all string sets of requested type are returned, otherwise only those specified in the request. Flag ``ETHTOOL_A_STRSET_COUNTS_ONLY`` tells kernel to only return string counts of the sets, not the actual strings.h](hIf there is no }(hjV1hhhNhNubh)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]hETHTOOL_A_STRSET_STRINGSETS}(hj^1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV1ubhl array, all string sets of requested type are returned, otherwise only those specified in the request. Flag }(hjV1hhhNhNubh)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hjp1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV1ubhO tells kernel to only return string counts of the sets, not the actual strings.}(hjV1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubeh}(h] strset-getah ]h"] strset_getah$]h&]uh1hhhhhhhhMVubh)}(hhh](h)}(h LINKINFO_GETh]h LINKINFO_GET}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hhhhhMubh)}(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 }(hj1hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubhh except for link modes and autonegotiation related information. The request does not use any attributes.}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubh)}(hRequest contents:h]hRequest contents:}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKINFO_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj )}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj2h]hETHTOOL_A_LINKINFO_HEADER}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hnestedh]hnested}(hj 2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj72hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj42ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1j hj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhhhMhj1hhubh)}(hKernel response contents:h]hKernel response contents:}(hjj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubj)}(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$uh1jhj2ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj2ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj2ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj2h]hETHTOOL_A_LINKINFO_HEADER}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hnestedh]hnested}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h reply headerh]h reply header}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PORT``h]h)}(hj3h]hETHTOOL_A_LINKINFO_PORT}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hu8h]hu8}(hj 3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(h physical porth]h physical port}(hj73hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj43ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hjY3h]hETHTOOL_A_LINKINFO_PHYADDR}(hj[3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW3ubah}(h]h ]h"]h$]h&]uh1hhhhMhjT3ubah}(h]h ]h"]h$]h&]uh1jhjQ3ubj)}(hhh]h)}(hu8h]hu8}(hjw3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjt3ubah}(h]h ]h"]h$]h&]uh1jhjQ3ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjQ3ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_TP_MDIX``h]h)}(hj3h]hETHTOOL_A_LINKINFO_TP_MDIX}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hMDI(-X) statush]hMDI(-X) status}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hj4h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hj 4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hu8h]hu8}(hj%4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"4ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hj<4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj94ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_LINKINFO_TRANSCEIVER``h]h)}(hj^4h]hETHTOOL_A_LINKINFO_TRANSCEIVER}(hj`4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\4ubah}(h]h ]h"]h$]h&]uh1hhhhMhjY4ubah}(h]h ]h"]h$]h&]uh1jhjV4ubj)}(hhh]h)}(hu8h]hu8}(hj|4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjy4ubah}(h]h ]h"]h$]h&]uh1jhjV4ubj)}(hhh]h)}(h transceiverh]h transceiver}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjV4ubeh}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1j hj2ubeh}(h]h ]h"]h$]h&]colsKuh1jhj|2ubah}(h]h ]h"]h$]h&]uh1jhjx2ubah}(h]h ]h"]h$]h&]uh1jhhhMhj1hhubh)}(hlAttributes and their values have the same meaning as matching members of the corresponding ioctl structures.h]hlAttributes and their values have the same meaning as matching members of the corresponding ioctl structures.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubh)}(hl``LINKINFO_GET`` allows dump requests (kernel returns reply message for all devices supporting the request).h](h)}(h``LINKINFO_GET``h]h LINKINFO_GET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubh\ allows dump requests (kernel returns reply message for all devices supporting the request).}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj1hhubeh}(h] linkinfo-getah ]h"] linkinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKINFO_SETh]h LINKINFO_SET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4hhhhhMubh)}(h\``LINKINFO_SET`` request allows setting some of the attributes reported by ``LINKINFO_GET``.h](h)}(h``LINKINFO_SET``h]h LINKINFO_SET}(hj 5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj 5ubh; request allows setting some of the attributes reported by }(hj 5hhhNhNubh)}(h``LINKINFO_GET``h]h LINKINFO_GET}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj 5ubh.}(hj 5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubh)}(hRequest contents:h]hRequest contents:}(hj75hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_LINKINFO_HEADER`` nested request header ``ETHTOOL_A_LINKINFO_PORT`` u8 physical port ``ETHTOOL_A_LINKINFO_PHYADDR`` u8 phy MDIO address ``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL`` u8 MDI(-X) control ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjL5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjL5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjL5ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hjx5h]hETHTOOL_A_LINKINFO_HEADER}(hjz5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjv5ubah}(h]h ]h"]h$]h&]uh1hhhhMhjs5ubah}(h]h ]h"]h$]h&]uh1jhjp5ubj)}(hhh]h)}(hnestedh]hnested}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhjp5ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhjp5ubeh}(h]h ]h"]h$]h&]uh1jhjm5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PORT``h]h)}(hj5h]hETHTOOL_A_LINKINFO_PORT}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hu8h]hu8}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h physical porth]h physical port}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjm5ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hj&6h]hETHTOOL_A_LINKINFO_PHYADDR}(hj(6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj!6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hu8h]hu8}(hjD6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjA6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hj[6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjX6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjm5ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hj}6h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{6ubah}(h]h ]h"]h$]h&]uh1hhhhMhjx6ubah}(h]h ]h"]h$]h&]uh1jhju6ubj)}(hhh]h)}(hu8h]hu8}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhju6ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhju6ubeh}(h]h ]h"]h$]h&]uh1jhjm5ubeh}(h]h ]h"]h$]h&]uh1j hjL5ubeh}(h]h ]h"]h$]h&]colsKuh1jhjI5ubah}(h]h ]h"]h$]h&]uh1jhjE5ubah}(h]h ]h"]h$]h&]uh1jhhhMhj4hhubh)}(hdMDI(-X) status and transceiver cannot be set, request with the corresponding attributes is rejected.h]hdMDI(-X) status and transceiver cannot be set, request with the corresponding attributes is rejected.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4hhubeh}(h] linkinfo-setah ]h"] linkinfo_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_GETh]h LINKMODES_GET}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hhhhhMubh)}(hRequests link modes (supported, advertised and peer advertised) and related information (autonegotiation status, link speed and duplex) as provided by ``ETHTOOL_GLINKSETTINGS``. The request does not use any attributes.h](hRequests link modes (supported, advertised and peer advertised) and related information (autonegotiation status, link speed and duplex) as provided by }(hj 7hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj 7ubh*. The request does not use any attributes.}(hj 7hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubh)}(hRequest contents:h]hRequest contents:}(hj,7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjA7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjA7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjA7ubj )}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hjm7h]hETHTOOL_A_LINKMODES_HEADER}(hjo7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk7ubah}(h]h ]h"]h$]h&]uh1hhhhMhjh7ubah}(h]h ]h"]h$]h&]uh1jhje7ubj)}(hhh]h)}(hnestedh]hnested}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhje7ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhje7ubeh}(h]h ]h"]h$]h&]uh1jhjb7ubah}(h]h ]h"]h$]h&]uh1j hjA7ubeh}(h]h ]h"]h$]h&]colsKuh1jhj>7ubah}(h]h ]h"]h$]h&]uh1jhj:7ubah}(h]h ]h"]h$]h&]uh1jhhhMhj6hhubh)}(hKernel response contents:h]hKernel response contents:}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubj)}(hX========================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested reply header ``ETHTOOL_A_LINKMODES_AUTONEG`` u8 autonegotiation status ``ETHTOOL_A_LINKMODES_OURS`` bitset advertised link modes ``ETHTOOL_A_LINKMODES_PEER`` bitset partner link modes ``ETHTOOL_A_LINKMODES_SPEED`` u32 link speed (Mb/s) ``ETHTOOL_A_LINKMODES_DUPLEX`` u8 duplex mode ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG`` u8 Master/slave port mode ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE`` u8 Master/slave port state ``ETHTOOL_A_LINKMODES_RATE_MATCHING`` u8 PHY rate matching ========================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(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}(hj48hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj18ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h reply headerh]h reply header}(hjK8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjH8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hjm8h]hETHTOOL_A_LINKMODES_AUTONEG}(hjo8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk8ubah}(h]h ]h"]h$]h&]uh1hhhhMhjh8ubah}(h]h ]h"]h$]h&]uh1jhje8ubj)}(hhh]h)}(hu8h]hu8}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhje8ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhje8ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hj8h]hETHTOOL_A_LINKMODES_OURS}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hbitseth]hbitset}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(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}(hj99hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj69ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hjP9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjM9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hjr9h]hETHTOOL_A_LINKMODES_SPEED}(hjt9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp9ubah}(h]h ]h"]h$]h&]uh1hhhhMhjm9ubah}(h]h ]h"]h$]h&]uh1jhjj9ubj)}(hhh]h)}(hu32h]hu32}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjj9ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjj9ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_DUPLEX``h]h)}(hj9h]hETHTOOL_A_LINKMODES_DUPLEX}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hu8h]hu8}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h duplex modeh]h duplex mode}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(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}(hjU:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjR:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh](j)}(hhh]h)}(h*``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE``h]h)}(hjw:h]hÐTOOL_A_LINKMODES_MASTER_SLAVE_STATE}(hjy:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhju:ubah}(h]h ]h"]h$]h&]uh1hhhhMhjr:ubah}(h]h ]h"]h$]h&]uh1jhjo:ubj)}(hhh]h)}(hu8h]hu8}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhjo:ubj)}(hhh]h)}(hMaster/slave port stateh]hMaster/slave port state}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhjo:ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_LINKMODES_RATE_MATCHING``h]h)}(hj:h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hu8h]hu8}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj 8ubeh}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]colsKuh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhhhMhj6hhubh)}(hFor ``ETHTOOL_A_LINKMODES_OURS``, value represents advertised modes and mask represents supported modes. ``ETHTOOL_A_LINKMODES_PEER`` in the reply is a bit list.h](hFor }(hj6;hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj>;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6;ubhI, value represents advertised modes and mask represents supported modes. }(hj6;hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_PEER``h]hETHTOOL_A_LINKMODES_PEER}(hjP;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6;ubh in the reply is a bit list.}(hj6;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubh)}(hn``LINKMODES_GET`` allows dump requests (kernel returns reply messages for all devices supporting the request).h](h)}(h``LINKMODES_GET``h]h LINKMODES_GET}(hjl;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh;ubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjh;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubeh}(h] linkmodes-getah ]h"] linkmodes_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_SETh]h LINKMODES_SET}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hhhhhMubh)}(hRequest contents:h]hRequest contents:}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubj)}(hX========================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested request header ``ETHTOOL_A_LINKMODES_AUTONEG`` u8 autonegotiation status ``ETHTOOL_A_LINKMODES_OURS`` bitset advertised link modes ``ETHTOOL_A_LINKMODES_PEER`` bitset partner link modes ``ETHTOOL_A_LINKMODES_SPEED`` u32 link speed (Mb/s) ``ETHTOOL_A_LINKMODES_DUPLEX`` u8 duplex mode ``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG`` u8 Master/slave port mode ``ETHTOOL_A_LINKMODES_RATE_MATCHING`` u8 PHY rate matching ``ETHTOOL_A_LINKMODES_LANES`` u32 lanes ========================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK*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_LINKMODES_HEADER``h]h)}(hj;h]hETHTOOL_A_LINKMODES_HEADER}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hnestedh]hnested}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hj5<h]hETHTOOL_A_LINKMODES_AUTONEG}(hj7<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3<ubah}(h]h ]h"]h$]h&]uh1hhhhMhj0<ubah}(h]h ]h"]h$]h&]uh1jhj-<ubj)}(hhh]h)}(hu8h]hu8}(hjS<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjP<ubah}(h]h ]h"]h$]h&]uh1jhj-<ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hjj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjg<ubah}(h]h ]h"]h$]h&]uh1jhj-<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hj<h]hETHTOOL_A_LINKMODES_OURS}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hbitseth]hbitset}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_PEER``h]h)}(hj<h]hETHTOOL_A_LINKMODES_PEER}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hbitseth]hbitset}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hj:=h]hETHTOOL_A_LINKMODES_SPEED}(hj<=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8=ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5=ubah}(h]h ]h"]h$]h&]uh1jhj2=ubj)}(hhh]h)}(hu32h]hu32}(hjX=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjU=ubah}(h]h ]h"]h$]h&]uh1jhj2=ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hjo=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjl=ubah}(h]h ]h"]h$]h&]uh1jhj2=ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(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&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``h]h)}(hj=h]h$ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hu8h]hu8}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hMaster/slave port modeh]hMaster/slave port mode}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_LINKMODES_RATE_MATCHING``h]h)}(hj?>h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hjA>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=>ubah}(h]h ]h"]h$]h&]uh1hhhhMhj:>ubah}(h]h ]h"]h$]h&]uh1jhj7>ubj)}(hhh]h)}(hu8h]hu8}(hj]>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZ>ubah}(h]h ]h"]h$]h&]uh1jhj7>ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hjt>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjq>ubah}(h]h ]h"]h$]h&]uh1jhj7>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(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&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1j hj;ubeh}(h]h ]h"]h$]h&]colsKuh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhhhMhj;hhubh)}(hX.``ETHTOOL_A_LINKMODES_OURS`` bit set allows setting advertised link modes. If autonegotiation is on (either set now or kept from before), advertised modes are not changed (no ``ETHTOOL_A_LINKMODES_OURS`` attribute) and at least one of speed, duplex and lanes is specified, kernel adjusts advertised modes to all supported modes matching speed, duplex, lanes or all (whatever is specified). This autoselection is done on ethtool side with ioctl interface, netlink interface is supposed to allow requesting changes without knowing what exactly kernel supports.h](h)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubh bit set allows setting advertised link modes. If autonegotiation is on (either set now or kept from before), advertised modes are not changed (no }(hj>hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubhXc attribute) and at least one of speed, duplex and lanes is specified, kernel adjusts advertised modes to all supported modes matching speed, duplex, lanes or all (whatever is specified). This autoselection is done on ethtool side with ioctl interface, netlink interface is supposed to allow requesting changes without knowing what exactly kernel supports.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubeh}(h] linkmodes-setah ]h"] linkmodes_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKSTATE_GETh]h LINKSTATE_GET}(hj7?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4?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 }(hjE?hhhNhNubh)}(h``ETHTOOL_GLINK``h]h ETHTOOL_GLINK}(hjM?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjE?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.}(hjE?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj4?hhubh)}(hRequest contents:h]hRequest contents:}(hje?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj4?hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKSTATE_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjz?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjz?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjz?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&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hnestedh]hnested}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj?ubah}(h]h ]h"]h$]h&]uh1j hjz?ubeh}(h]h ]h"]h$]h&]colsKuh1jhjw?ubah}(h]h ]h"]h$]h&]uh1jhjs?ubah}(h]h ]h"]h$]h&]uh1jhhhM hj4?hhubh)}(hKernel response contents:h]hKernel response contents:}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4?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)}(hjO@h]hETHTOOL_A_LINKSTATE_HEADER}(hjQ@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjM@ubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ@ubah}(h]h ]h"]h$]h&]uh1jhjG@ubj)}(hhh]h)}(hnestedh]hnested}(hjm@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjj@ubah}(h]h ]h"]h$]h&]uh1jhjG@ubj)}(hhh]h)}(h reply headerh]h reply header}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjG@ubeh}(h]h ]h"]h$]h&]uh1jhjD@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&]uh1jhjD@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}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hCurrent Signal Quality Indexh]hCurrent Signal Quality Index}(hj2AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Aubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhjD@ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_SQI_MAX``h]h)}(hjTAh]hETHTOOL_A_LINKSTATE_SQI_MAX}(hjVAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRAubah}(h]h ]h"]h$]h&]uh1hhhhMhjOAubah}(h]h ]h"]h$]h&]uh1jhjLAubj)}(hhh]h)}(hu32h]hu32}(hjrAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoAubah}(h]h ]h"]h$]h&]uh1jhjLAubj)}(hhh]h)}(hMax support SQI valueh]hMax support SQI value}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjLAubeh}(h]h ]h"]h$]h&]uh1jhjD@ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]h)}(hjAh]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hu8h]hu8}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hlink extended stateh]hlink extended state}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjD@ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h)}(hjBh]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hu8h]hu8}(hj BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hlink extended substateh]hlink extended substate}(hj7BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4Bubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjD@ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT``h]h)}(hjYBh]h ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT}(hj[BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWBubah}(h]h ]h"]h$]h&]uh1hhhhMhjTBubah}(h]h ]h"]h$]h&]uh1jhjQBubj)}(hhh]h)}(hu32h]hu32}(hjwBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjtBubah}(h]h ]h"]h$]h&]uh1jhjQBubj)}(hhh]h)}(hcount of link down eventsh]hcount of link down events}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjQBubeh}(h]h ]h"]h$]h&]uh1jhjD@ubeh}(h]h ]h"]h$]h&]uh1j hj#@ubeh}(h]h ]h"]h$]h&]colsKuh1jhj @ubah}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]uh1jhhhMhj4?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 }(hjBhhhNhNubh)}(h``ETHTOOL_A_LINKSTATE_LINK``h]hETHTOOL_A_LINKSTATE_LINK}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh" returns carrier flag provided by }(hjBhhhNhNubh)}(h``netif_carrier_ok()``h]hnetif_carrier_ok()}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh6 but there are drivers which define their own handler.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj4?hhubh)}(hX ``ETHTOOL_A_LINKSTATE_EXT_STATE`` and ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE`` are optional values. ethtool core can provide either both ``ETHTOOL_A_LINKSTATE_EXT_STATE`` and ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``, or only ``ETHTOOL_A_LINKSTATE_EXT_STATE``, or none of them.h](h)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh and }(hjBhhhNhNubh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hj ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh; are optional values. ethtool core can provide either both }(hjBhhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh and }hjBsbh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hj-ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh , or only }(hjBhhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hj?ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh, or none of them.}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj4?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}(hj[ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWCubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjWChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM$hj4?hhubh)}(hLink extended states:h]hLink extended states:}(hjsChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hj4?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&]colwidthK0uh1jhjCubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjCubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_LINK_EXT_STATE_AUTONEG``h]h)}(hjCh]hETHTOOL_LINK_EXT_STATE_AUTONEG}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM+hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h8States relating to the autonegotiation or issues thereinh]h8States relating to the autonegotiation or issues therein}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE``h]h)}(hjCh]h,ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM.hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hFailure during link trainingh]hFailure during link training}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjDubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH``h]h)}(hj*Dh]h,ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH}(hj,DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(Dubah}(h]h ]h"]h$]h&]uh1hhhhM0hj%Dubah}(h]h ]h"]h$]h&]uh1jhj"Dubj)}(hhh]h)}(hQLogical mismatch in physical coding sublayer or forward error correction sublayerh]hQLogical mismatch in physical coding sublayer or forward error correction sublayer}(hjHDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjEDubah}(h]h ]h"]h$]h&]uh1jhj"Dubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h/``ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY``h]h)}(hjjDh]h+ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY}(hjlDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhDubah}(h]h ]h"]h$]h&]uh1hhhhM3hjeDubah}(h]h ]h"]h$]h&]uh1jhjbDubj)}(hhh]h)}(hSignal integrity issuesh]hSignal integrity issues}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjDubah}(h]h ]h"]h$]h&]uh1jhjbDubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_NO_CABLE``h]h)}(hjDh]hETHTOOL_LINK_EXT_STATE_NO_CABLE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM5hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hNo cable connectedh]hNo cable connected}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE``h]h)}(hjDh]h"ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM7hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h4Failure is related to cable, e.g., unsupported cableh]h4Failure is related to cable, e.g., unsupported cable}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjEubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE``h]h)}(hj*Eh]h#ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE}(hj,EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(Eubah}(h]h ]h"]h$]h&]uh1hhhhM:hj%Eubah}(h]h ]h"]h$]h&]uh1jhj"Eubj)}(hhh]h)}(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}(hjHEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjEEubah}(h]h ]h"]h$]h&]uh1jhj"Eubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h.``ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE``h]h)}(hjjEh]h*ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE}(hjlEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhEubah}(h]h ]h"]h$]h&]uh1hhhhM=hjeEubah}(h]h ]h"]h$]h&]uh1jhjbEubj)}(hhh]h)}(h$Failure during calibration algorithmh]h$Failure during calibration algorithm}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM=hjEubah}(h]h ]h"]h$]h&]uh1jhjbEubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED``h]h)}(hjEh]h,ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM?hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hKThe hardware is not able to provide the power required from cable or moduleh]hKThe hardware is not able to provide the power required from cable or module}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_OVERHEAT``h]h)}(hjEh]hETHTOOL_LINK_EXT_STATE_OVERHEAT}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhMBhjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hThe module is overheatedh]hThe module is overheated}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjFubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_LINK_EXT_STATE_MODULE``h]h)}(hj*Fh]hETHTOOL_LINK_EXT_STATE_MODULE}(hj,FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(Fubah}(h]h ]h"]h$]h&]uh1hhhhMDhj%Fubah}(h]h ]h"]h$]h&]uh1jhj"Fubj)}(hhh]h)}(hTransceiver module issueh]hTransceiver module issue}(hjHFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjEFubah}(h]h ]h"]h$]h&]uh1jhj"Fubeh}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1j hjCubeh}(h]h ]h"]h$]h&]colsKuh1jhjCubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1jhhhM*hj4?hhubh)}(hLink extended substates:h]hLink extended substates:}(hj{FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhj4?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:}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK?uh1jhjFubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjFubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h4``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED``h]h)}(hjFh]h0ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhMLhjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hPeer side is downh]hPeer side is down}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h1``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED``h]h)}(hjGh]h-ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhMNhjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hAck not received from peer sideh]hAck not received from peer side}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjGubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h:``ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED``h]h)}(hj@Gh]h6ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED}(hjBGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>Gubah}(h]h ]h"]h$]h&]uh1hhhhMPhj;Gubah}(h]h ]h"]h$]h&]uh1jhj8Gubj)}(hhh]h)}(hNext page exchange failedh]hNext page exchange failed}(hj^GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj[Gubah}(h]h ]h"]h$]h&]uh1jhj8Gubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h?``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE``h]h)}(hjGh]h;ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~Gubah}(h]h ]h"]h$]h&]uh1hhhhMRhj{Gubah}(h]h ]h"]h$]h&]uh1jhjxGubj)}(hhh]h)}(hEPeer side is down during force mode or there is no agreement of speedh]hEPeer side is down during force mode or there is no agreement of speed}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMRhjGubah}(h]h ]h"]h$]h&]uh1jhjxGubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h=``ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE``h]h)}(hjGh]h9ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMVhjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h;Forward error correction modes in both sides are mismatchedh]h;Forward error correction modes in both sides are mismatched}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMVhjGubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD``h]h)}(hjHh]h#ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMYhjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hNo Highest Common Denominatorh]hNo Highest Common Denominator}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjHubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1j hjFubeh}(h]h ]h"]h$]h&]colsKuh1jhjFubah}(h]h ]h"]h$]h&]uh1jhjFubh)}(hLink training substates:h]hLink training substates:}(hjKHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKKuh1jhj\Hubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj\Hubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h;``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED``h]h)}(hj~Hh]h7ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|Hubah}(h]h ]h"]h$]h&]uh1hhhhM_hjyHubah}(h]h ]h"]h$]h&]uh1jhjvHubj)}(hhh]h)}(h+Frames were not recognized, the lock failedh]h+Frames were not recognized, the lock failed}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjHubah}(h]h ]h"]h$]h&]uh1jhjvHubeh}(h]h ]h"]h$]h&]uh1jhjsHubj)}(hhh](j)}(hhh]h)}(h8``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT``h]h)}(hjHh]h4ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhMchjHubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h%The lock did not occur before timeouth]h%The lock did not occur before timeout}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjHubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjsHubj)}(hhh](j)}(hhh]h)}(hK``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY``h]h)}(hjHh]hGETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhMghjHubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h:Peer side did not send ready signal after training processh]h:Peer side did not send ready signal after training process}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjIubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjsHubj)}(hhh](j)}(hhh]h)}(h-``ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT``h]h)}(hj>Ih]h)ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT}(hj@IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS``h]h)}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:Jubah}(h]h ]h"]h$]h&]uh1hhhhM{hj7Jubah}(h]h ]h"]h$]h&]uh1jhj4Jubj)}(hhh]h)}(h1Physical coding sublayer did not get align statush]h1Physical coding sublayer did not get align status}(hjZJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjWJubah}(h]h ]h"]h$]h&]uh1jhj4Jubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED``h]h)}(hj|Jh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED}(hj~JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzJubah}(h]h ]h"]h$]h&]uh1hhhhM~hjwJubah}(h]h ]h"]h$]h&]uh1jhjtJubj)}(hhh]h)}(h)FC forward error correction is not lockedh]h)FC forward error correction is not locked}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjJubah}(h]h ]h"]h$]h&]uh1jhjtJubeh}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED``h]h)}(hjJh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(h)RS forward error correction is not lockedh]h)RS forward error correction is not locked}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]colsKuh1jhjIubah}(h]h ]h"]h$]h&]uh1jhjFubh)}(hBad signal integrity substates:h]hBad signal integrity substates:}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKAuh1jhjKubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjKubj )}(hhh](j)}(hhh](j)}(hhh]h)}(hA``ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS``h]h)}(hj:Kh]h=ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS}(hjGets netdev features like ``ETHTOOL_GFEATURES`` ioctl request.h](hGets netdev features like }(hj`UhhhNhNubh)}(h``ETHTOOL_GFEATURES``h]hETHTOOL_GFEATURES}(hjhUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`Uubh ioctl request.}(hj`UhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjOUhhubh)}(hRequest contents:h]hRequest contents:}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjOUhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested request header ==================================== ====== ========================== 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&]uh1hhhhM hjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hnestedh]hnested}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjUubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1j hjUubeh}(h]h ]h"]h$]h&]colsKuh1jhjUubah}(h]h ]h"]h$]h&]uh1jhjUubah}(h]h ]h"]h$]h&]uh1jhhhM hjOUhhubh)}(hKernel response contents:h]hKernel response contents:}(hj)VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOUhhubj)}(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$uh1jhj>Vubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>Vubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj>Vubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjjVh]hETHTOOL_A_FEATURES_HEADER}(hjlVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhVubah}(h]h ]h"]h$]h&]uh1hhhhMhjeVubah}(h]h ]h"]h$]h&]uh1jhjbVubj)}(hhh]h)}(hnestedh]hnested}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjbVubj)}(hhh]h)}(h reply headerh]h reply header}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjbVubeh}(h]h ]h"]h$]h&]uh1jhj_Vubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HW``h]h)}(hjVh]hETHTOOL_A_FEATURES_HW}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hbitseth]hbitset}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hdev->hw_featuresh]hdev->hw_features}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhj_Vubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjWh]hETHTOOL_A_FEATURES_WANTED}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hbitseth]hbitset}(hj6WhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3Wubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hdev->wanted_featuresh]hdev->wanted_features}(hjMWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJWubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhj_Vubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hjoWh]hETHTOOL_A_FEATURES_ACTIVE}(hjqWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmWubah}(h]h ]h"]h$]h&]uh1hhhhMhjjWubah}(h]h ]h"]h$]h&]uh1jhjgWubj)}(hhh]h)}(hbitseth]hbitset}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjgWubj)}(hhh]h)}(h dev->featuresh]h dev->features}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjgWubeh}(h]h ]h"]h$]h&]uh1jhj_Vubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_NOCHANGE``h]h)}(hjWh]hETHTOOL_A_FEATURES_NOCHANGE}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hbitseth]hbitset}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hNETIF_F_NEVER_CHANGEh]hNETIF_F_NEVER_CHANGE}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhj_Vubeh}(h]h ]h"]h$]h&]uh1j hj>Vubeh}(h]h ]h"]h$]h&]colsKuh1jhj;Vubah}(h]h ]h"]h$]h&]uh1jhj7Vubah}(h]h ]h"]h$]h&]uh1jhhhMhjOUhhubh)}(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.XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOUhhubeh}(h] features-getah ]h"] features_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h FEATURES_SETh]h FEATURES_SET}(hjGXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDXhhhhhM$ubh)}(hHRequest to set netdev features like ``ETHTOOL_SFEATURES`` ioctl request.h](h$Request to set netdev features like }(hjUXhhhNhNubh)}(h``ETHTOOL_SFEATURES``h]hETHTOOL_SFEATURES}(hj]XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUXubh ioctl request.}(hjUXhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM&hjDXhhubh)}(hRequest contents:h]hRequest contents:}(hjuXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjDXhhubj)}(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$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_FEATURES_HEADER``h]h)}(hjXh]hETHTOOL_A_FEATURES_HEADER}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1hhhhM+hjXubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hnestedh]hnested}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjXubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjXubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hj Yh]hETHTOOL_A_FEATURES_WANTED}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj Yubah}(h]h ]h"]h$]h&]uh1hhhhM,hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hbitseth]hbitset}(hj+YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj(Yubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hrequested featuresh]hrequested features}(hjBYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj?Yubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1j hjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjXubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhhhM*hjDXhhubh)}(hKernel response contents:h]hKernel response contents:}(hjuYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjDXhhubj)}(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$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_FEATURES_HEADER``h]h)}(hjYh]hETHTOOL_A_FEATURES_HEADER}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhM2hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hnestedh]hnested}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(h reply headerh]h reply header}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjYubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hj Zh]hETHTOOL_A_FEATURES_WANTED}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj Zubah}(h]h ]h"]h$]h&]uh1hhhhM3hjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hbitseth]hbitset}(hj+ZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj(Zubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hdiff wanted vs. resulth]hdiff wanted vs. result}(hjBZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj?Zubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hjdZh]hETHTOOL_A_FEATURES_ACTIVE}(hjfZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbZubah}(h]h ]h"]h$]h&]uh1hhhhM4hj_Zubah}(h]h ]h"]h$]h&]uh1jhj\Zubj)}(hhh]h)}(hbitseth]hbitset}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjZubah}(h]h ]h"]h$]h&]uh1jhj\Zubj)}(hhh]h)}(hdiff old vs. new activeh]hdiff old vs. new active}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjZubah}(h]h ]h"]h$]h&]uh1jhj\Zubeh}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1j hjYubeh}(h]h ]h"]h$]h&]colsKuh1jhjYubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1jhhhM1hjDXhhubh)}(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).}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjDXhhubh)}(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 }(hjZhhhNhNubh)}(h``ETHTOOL_FLAG_OMIT_REPLY``h]hETHTOOL_FLAG_OMIT_REPLY}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubhA flag in request header) informs client about the actual result. }(hjZhhhNhNubh)}(h``ETHTOOL_A_FEATURES_WANTED``h]hETHTOOL_A_FEATURES_WANTED}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubhX reports the difference between client request and actual result: mask consists of bits which differ between requested features and result (dev->features after the operation), value consists of values of these bits in the request (i.e. negated values from resulting features). }(hjZhhhNhNubh)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]hETHTOOL_A_FEATURES_ACTIVE}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubh reports the difference between old and new dev->features: mask consists of bits which have changed, values are their values in new dev->features (after the operation).}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM;hjDXhhubh)}(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}(hj"[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubhE notification is sent not only if device features are modified using }(hj[hhhNhNubh)}(h``ETHTOOL_MSG_FEATURES_SET``h]hETHTOOL_MSG_FEATURES_SET}(hj4[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubh request or on of ethtool ioctl request but also each time features are modified with netdev_update_features() or netdev_change_features().}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMFhjDXhhubeh}(h] features-setah ]h"] features_setah$]h&]uh1hhhhhhhhM$ubh)}(hhh](h)}(h PRIVFLAGS_GETh]h PRIVFLAGS_GET}(hjW[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT[hhhhhMMubh)}(h:Gets private flags like ``ETHTOOL_GPFLAGS`` ioctl request.h](hGets private flags like }(hje[hhhNhNubh)}(h``ETHTOOL_GPFLAGS``h]hETHTOOL_GPFLAGS}(hjm[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje[ubh ioctl request.}(hje[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMOhjT[hhubh)}(hRequest contents:h]hRequest contents:}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjT[hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_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_PRIVFLAGS_HEADER``h]h)}(hj[h]hETHTOOL_A_PRIVFLAGS_HEADER}(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)}(hnestedh]hnested}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1j hj[ubeh}(h]h ]h"]h$]h&]colsKuh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&]uh1jhhhMShjT[hhubh)}(hKernel response contents:h]hKernel response contents:}(hj.\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjT[hhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested reply header ``ETHTOOL_A_PRIVFLAGS_FLAGS`` bitset private flags ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjC\ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjC\ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjC\ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hjo\h]hETHTOOL_A_PRIVFLAGS_HEADER}(hjq\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjm\ubah}(h]h ]h"]h$]h&]uh1hhhhMZhjj\ubah}(h]h ]h"]h$]h&]uh1jhjg\ubj)}(hhh]h)}(hnestedh]hnested}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj\ubah}(h]h ]h"]h$]h&]uh1jhjg\ubj)}(hhh]h)}(h reply headerh]h reply header}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj\ubah}(h]h ]h"]h$]h&]uh1jhjg\ubeh}(h]h ]h"]h$]h&]uh1jhjd\ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]h)}(hj\h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhhhM[hj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hbitseth]hbitset}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(h private flagsh]h private flags}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjd\ubeh}(h]h ]h"]h$]h&]uh1j hjC\ubeh}(h]h ]h"]h$]h&]colsKuh1jhj@\ubah}(h]h ]h"]h$]h&]uh1jhj<\ubah}(h]h ]h"]h$]h&]uh1jhhhMYhjT[hhubh)}(hX``ETHTOOL_A_PRIVFLAGS_FLAGS`` is a bitset with values of device private flags. These flags are defined by driver, their number and names (and also meaning) are device dependent. For compact bitset format, names can be retrieved as ``ETH_SS_PRIV_FLAGS`` string set. If verbose bitset format is requested, response uses all private flags supported by the device as mask so that client gets the full information without having to fetch the string set with names.h](h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj2]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.]ubh is a bitset with values of device private flags. These flags are defined by driver, their number and names (and also meaning) are device dependent. For compact bitset format, names can be retrieved as }(hj.]hhhNhNubh)}(h``ETH_SS_PRIV_FLAGS``h]hETH_SS_PRIV_FLAGS}(hjD]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.]ubh string set. If verbose bitset format is requested, response uses all private flags supported by the device as mask so that client gets the full information without having to fetch the string set with names.}(hj.]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM^hjT[hhubeh}(h] privflags-getah ]h"] privflags_getah$]h&]uh1hhhhhhhhMMubh)}(hhh](h)}(h PRIVFLAGS_SETh]h PRIVFLAGS_SET}(hjg]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd]hhhhhMgubh)}(hWSets or modifies values of device private flags like ``ETHTOOL_SPFLAGS`` ioctl request.h](h5Sets or modifies values of device private flags like }(hju]hhhNhNubh)}(h``ETHTOOL_SPFLAGS``h]hETHTOOL_SPFLAGS}(hj}]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhju]ubh ioctl request.}(hju]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMihjd]hhubh)}(hRequest contents:h]hRequest contents:}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjd]hhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested request header ``ETHTOOL_A_PRIVFLAGS_FLAGS`` bitset private flags ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj]ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj]ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj]ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hj]h]hETHTOOL_A_PRIVFLAGS_HEADER}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1hhhhMohj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hnestedh]hnested}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj ^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj^ubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]h)}(hj-^h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj/^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+^ubah}(h]h ]h"]h$]h&]uh1hhhhMphj(^ubah}(h]h ]h"]h$]h&]uh1jhj%^ubj)}(hhh]h)}(hbitseth]hbitset}(hjK^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjH^ubah}(h]h ]h"]h$]h&]uh1jhj%^ubj)}(hhh]h)}(h private flagsh]h private flags}(hjb^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj_^ubah}(h]h ]h"]h$]h&]uh1jhj%^ubeh}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1j hj]ubeh}(h]h ]h"]h$]h&]colsKuh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1jhhhMnhjd]hhubh)}(hr``ETHTOOL_A_PRIVFLAGS_FLAGS`` can either set the whole set of private flags or modify only values of some of them.h](h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]hETHTOOL_A_PRIVFLAGS_FLAGS}(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&]uh1hhhhMshjd]hhubeh}(h] privflags-setah ]h"] privflags_setah$]h&]uh1hhhhhhhhMgubh)}(hhh](h)}(h RINGS_GETh]h RINGS_GET}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^hhhhhMxubh)}(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&]uh1hhhhMzhj^hhubh)}(hRequest contents:h]hRequest contents:}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj^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&]uh1hhhhMhj&_ubah}(h]h ]h"]h$]h&]uh1jhj#_ubj)}(hhh]h)}(hnestedh]hnested}(hjI_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF_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&]uh1j hj^ubeh}(h]h ]h"]h$]h&]colsKuh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhhhM~hj^hhubh)}(hKernel response contents:h]hKernel response contents:}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^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&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hnestedh]hnested}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(h reply headerh]h reply header}(hj `hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MAX``h]h)}(hj+`h]hETHTOOL_A_RINGS_RX_MAX}(hj-`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj&`ubah}(h]h ]h"]h$]h&]uh1jhj#`ubj)}(hhh]h)}(hu32h]hu32}(hjI`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjF`ubah}(h]h ]h"]h$]h&]uh1jhj#`ubj)}(hhh]h)}(hmax size of RX ringh]hmax size of RX ring}(hj``hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj]`ubah}(h]h ]h"]h$]h&]uh1jhj#`ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI_MAX``h]h)}(hj`h]hETHTOOL_A_RINGS_RX_MINI_MAX}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj}`ubah}(h]h ]h"]h$]h&]uh1jhjz`ubj)}(hhh]h)}(hu32h]hu32}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhjz`ubj)}(hhh]h)}(hmax size of RX mini ringh]hmax size of RX mini ring}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhjz`ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_RINGS_RX_JUMBO_MAX``h]h)}(hj`h]hETHTOOL_A_RINGS_RX_JUMBO_MAX}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hu32h]hu32}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hmax size of RX jumbo ringh]hmax size of RX jumbo ring}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj aubah}(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)}(hj0ah]hETHTOOL_A_RINGS_TX_MAX}(hj2ahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.aubah}(h]h ]h"]h$]h&]uh1hhhhMhj+aubah}(h]h ]h"]h$]h&]uh1jhj(aubj)}(hhh]h)}(hu32h]hu32}(hjNahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKaubah}(h]h ]h"]h$]h&]uh1jhj(aubj)}(hhh]h)}(hmax size of TX ringh]hmax size of TX ring}(hjeahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbaubah}(h]h ]h"]h$]h&]uh1jhj(aubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX``h]h)}(hjah]hETHTOOL_A_RINGS_RX}(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 RX ringh]hsize of RX ring}(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_RX_MINI``h]h)}(hjah]hETHTOOL_A_RINGS_RX_MINI}(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 RX mini ringh]hsize of RX mini ring}(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_RX_JUMBO``h]h)}(hj5bh]hETHTOOL_A_RINGS_RX_JUMBO}(hj7bhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3bubah}(h]h ]h"]h$]h&]uh1hhhhMhj0bubah}(h]h ]h"]h$]h&]uh1jhj-bubj)}(hhh]h)}(hu32h]hu32}(hjSbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPbubah}(h]h ]h"]h$]h&]uh1jhj-bubj)}(hhh]h)}(hsize of RX jumbo ringh]hsize of RX jumbo ring}(hjjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgbubah}(h]h ]h"]h$]h&]uh1jhj-bubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX``h]h)}(hjbh]hETHTOOL_A_RINGS_TX}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hu32h]hu32}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hsize of TX ringh]hsize of TX ring}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_BUF_LEN``h]h)}(hjbh]hETHTOOL_A_RINGS_RX_BUF_LEN}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hu32h]hu32}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hsize of buffers on the ringh]hsize of buffers on the ring}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]h)}(hj:ch]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hj`_.h](h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]hETHTOOL_A_COALESCE_RX_PROFILE}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh and }(hj~hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]hETHTOOL_A_COALESCE_TX_PROFILE}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh refer to DIM parameters, see }(hj~hhhNhNubh reference)}(h{`Generic Network Dynamic Interrupt Moderation (Net DIM) `_h]h6Generic Network Dynamic Interrupt Moderation (Net DIM)}(hj~hhhNhNubah}(h]h ]h"]h$]h&]name6Generic Network Dynamic Interrupt Moderation (Net DIM)refuri?https://www.kernel.org/doc/Documentation/networking/net_dim.rstuh1j~hj~ubhtarget)}(hB h]h}(h]4generic-network-dynamic-interrupt-moderation-net-dimah ]h"]6generic network dynamic interrupt moderation (net dim)ah$]h&]refurij~uh1j~ referencedKhj~ubh.}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMVhjqhhubh)}(hXRx CQE coalescing allows multiple received packets to be coalesced into a single Completion Queue Entry (CQE) or descriptor writeback. ``ETHTOOL_A_COALESCE_RX_CQE_FRAMES`` describes the maximum number of frames that can be coalesced into a CQE or writeback. ``ETHTOOL_A_COALESCE_RX_CQE_NSECS`` describes max time in nanoseconds after the first packet arrival in a coalesced CQE or writeback to be sent.h](hRx CQE coalescing allows multiple received packets to be coalesced into a single Completion Queue Entry (CQE) or descriptor writeback. }(hjhhhNhNubh)}(h$``ETHTOOL_A_COALESCE_RX_CQE_FRAMES``h]h ETHTOOL_A_COALESCE_RX_CQE_FRAMES}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhW describes the maximum number of frames that can be coalesced into a CQE or writeback. }(hjhhhNhNubh)}(h#``ETHTOOL_A_COALESCE_RX_CQE_NSECS``h]hETHTOOL_A_COALESCE_RX_CQE_NSECS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhm describes max time in nanoseconds after the first packet arrival in a coalesced CQE or writeback to be sent.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMZhjqhhubeh}(h] coalesce-getah ]h"] coalesce_getah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(h COALESCE_SETh]h COALESCE_SET}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hhhhhMbubh)}(hDSets coalescing parameters like ``ETHTOOL_SCOALESCE`` ioctl request.h](h Sets coalescing parameters like }(hjLhhhNhNubh)}(h``ETHTOOL_SCOALESCE``h]hETHTOOL_SCOALESCE}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubh ioctl request.}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMdhj;hhubh)}(hRequest contents:h]hRequest contents:}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj;hhubj)}(hX =========================================== ====== ======================= ``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 ``ETHTOOL_A_COALESCE_RX_CQE_FRAMES`` u32 max packets, Rx CQE ``ETHTOOL_A_COALESCE_RX_CQE_NSECS`` u32 delay (ns), Rx CQE =========================================== ====== ======================= 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_COALESCE_HEADER``h]h)}(hjh]hETHTOOL_A_COALESCE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_RX_USECS``h]h)}(hjh]hETHTOOL_A_COALESCE_RX_USECS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), normal Rxh]hdelay (us), normal Rx}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_MAX_FRAMES``h]h)}(hj[h]h ETHTOOL_A_COALESCE_RX_MAX_FRAMES}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMkhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hu32h]hu32}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjvubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hmax packets, normal Rxh]hmax packets, normal Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_IRQ``h]h)}(hjh]hETHTOOL_A_COALESCE_RX_USECS_IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjЀhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj̀ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), Rx in IRQh]hdelay (us), Rx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj$ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, Rx in IRQh]hmax packets, Rx in IRQ}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_TX_USECS``h]h)}(hj`h]hETHTOOL_A_COALESCE_TX_USECS}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhMnhj[ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj{ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hdelay (us), normal Txh]hdelay (us), normal Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_MAX_FRAMES``h]h)}(hjh]h ETHTOOL_A_COALESCE_TX_MAX_FRAMES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjՁhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjҁubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, normal Txh]hmax packets, normal Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_IRQ``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_USECS_IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMphj ubah}(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)}(hdelay (us), Tx in IRQh]hdelay (us), Tx in IRQ}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphj@ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ``h]h)}(hjeh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMqhj`ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hIRQ packets, Tx in IRQh]hIRQ packets, Tx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS``h]h)}(hjh]h$ETHTOOL_A_COALESCE_STATS_BLOCK_USECS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMrhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjڂhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjׂubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay of stats updateh]hdelay of stats update}(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_COALESCE_USE_ADAPTIVE_RX``h]h)}(hjh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hboolh]hbool}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj.ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hadaptive Rx coalesceh]hadaptive Rx coalesce}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjEubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX``h]h)}(hjjh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubah}(h]h ]h"]h$]h&]uh1hhhhMthjeubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hadaptive Tx coalesceh]hadaptive Tx coalesce}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_PKT_RATE_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(hjÃhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj߃hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhj܃ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hthreshold for low rateh]hthreshold for low rate}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjJubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW``h]h)}(hjoh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1hhhhMwhjjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hmax packets, low Rxh]hmax packets, low Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_LOW``h]h)}(hjƄh]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hjȄhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjĄubah}(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)}(hdelay (us), low Txh]hdelay (us), low Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW``h]h)}(hjh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMyhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj8ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhjOubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hjth]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMzhjoubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hthreshold for high rateh]hthreshold for high rate}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_USECS_HIGH``h]h)}(hj˅h]h ETHTOOL_A_COALESCE_RX_USECS_HIGH}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1jhjÅubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjubah}(h]h ]h"]h$]h&]uh1jhjÅubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhM|hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj=ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, high Rxh]hmax packets, high Rx}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjTubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_USECS_HIGH``h]h)}(hjyh]h ETHTOOL_A_COALESCE_TX_USECS_HIGH}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhM}hjtubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hdelay (us), high Txh]hdelay (us), high Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM}hjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH``h]h)}(hjІh]h%ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1jhjȆubj)}(hhh]h)}(hmax packets, high Txh]hmax packets, high Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1jhjȆubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h+``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL``h]h)}(hj'h]h'ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hj~h]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubah}(h]h ]h"]h$]h&]uh1hhhhMhjyubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]h)}(hjՇh]hETHTOOL_A_COALESCE_USE_CQE_RX}(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)}(htimer reset mode, Rxh]htimer reset mode, Rx}(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_COALESCE_TX_AGGR_MAX_BYTES``h]h)}(hj,h]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(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}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hmax aggr size, Txh]hmax aggr size, Tx}(hjahhhNhNubah}(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_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&]uh1hhhhMhj~ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hmax aggr packets, Txh]hmax aggr packets, Tx}(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_COALESCE_TX_AGGR_TIME_USECS``h]h)}(hjڈh]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj܈hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj؈ubah}(h]h ]h"]h$]h&]uh1hhhhMhjՈubah}(h]h ]h"]h$]h&]uh1jhj҈ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj҈ubj)}(hhh]h)}(htime (us), aggr, Txh]htime (us), aggr, Tx}(hjhhhNhNubah}(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_COALESCE_RX_PROFILE``h]h)}(hj1h]hETHTOOL_A_COALESCE_RX_PROFILE}(hj3hhhNhNubah}(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}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]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)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(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_COALESCE_RX_CQE_FRAMES``h]h)}(hj߉h]h ETHTOOL_A_COALESCE_RX_CQE_FRAMES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj݉ubah}(h]h ]h"]h$]h&]uh1hhhhMhjډubah}(h]h ]h"]h$]h&]uh1jhj׉ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj׉ubj)}(hhh]h)}(hmax packets, Rx CQEh]hmax packets, Rx CQE}(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_COALESCE_RX_CQE_NSECS``h]h)}(hj6h]hETHTOOL_A_COALESCE_RX_CQE_NSECS}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hu32h]hu32}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hdelay (ns), Rx CQEh]hdelay (ns), Rx CQE}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jhhhMhhj;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 }(hjhhhNhNubh)}(h*``ethtool_ops::supported_coalesce_params``h]hðtool_ops::supported_coalesce_params}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh} is not set), regardless of their values. Driver may impose additional constraints on coalescing parameters and their values.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubh)}(hCompared to requests issued via the ``ioctl()`` netlink version of this request will try harder to make sure that values specified by the user have been applied and may call the driver twice.h](h$Compared to requests issued via the }(hjhhhNhNubh)}(h ``ioctl()``h]hioctl()}(hjƊhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh netlink version of this request will try harder to make sure that values specified by the user have been applied and may call the driver twice.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj;hhubeh}(h] coalesce-setah ]h"] coalesce_setah$]h&]uh1hhhhhhhhMbubh)}(hhh](h)}(h PAUSE_GETh]h PAUSE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hEGets pause frame settings like ``ETHTOOL_GPAUSEPARAM`` ioctl request.h](hGets pause frame settings like }(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_STATS_SRC`` u32 source of statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj,ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj,ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj,ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_HEADER``h]h)}(hjXh]hETHTOOL_A_PAUSE_HEADER}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hnestedh]hnested}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjMubj)}(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}(hj͋hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjʋubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1j hj,ubeh}(h]h ]h"]h$]h&]colsKuh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h@``ETHTOOL_A_PAUSE_STATS_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&]uh1hhhhMhjhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleethtool_mac_stats_src (C enum)c.ethtool_mac_stats_srchNtauh1j3hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hethtool_mac_stats_srch]hdesc_signature_line)}(henum ethtool_mac_stats_srch](hdesc_sig_keyword)}(henumh]henum}(hjWhhhNhNubah}(h]h ]kah"]h$]h&]uh1jUhjQhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1187: ./include/uapi/linux/ethtool.hhKubhdesc_sig_space)}(h h]h }(hjihhhNhNubah}(h]h ]wah"]h$]h&]uh1jghjQhhhjfhKubh desc_name)}(hethtool_mac_stats_srch]h desc_sig_name)}(hjMh]hethtool_mac_stats_src}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1j~hjzubah}(h]h ](sig-namedescnameeh"]h$]h&] xml:spacepreserveuh1jxhjQhhhjfhKubeh}(h]h ]h"]h$]h&]jj add_permalinkuh1jOsphinx_line_type declaratorhjKhhhjfhKubah}(h]jBah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jIhjfhKhjFhhubh 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:1187: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjFhhhjfhKubeh}(h]h ](cenumeh"]h$]h&]domainjɌobjtypejʌdesctypejʌnoindex noindexentrynocontentsentryuh1jDhhhjhNhNubh 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)}(hj܌h]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjڌubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1187: ./include/uapi/linux/ethtool.hhMhj֌ubhdefinition_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)}(hjh]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1187: ./include/uapi/linux/ethtool.hhMhjubh 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:1187: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``ETHTOOL_MAC_STATS_SRC_EMAC`` if device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC. h](j)}(h``ETHTOOL_MAC_STATS_SRC_EMAC``h]h)}(hj?h]hETHTOOL_MAC_STATS_SRC_EMAC}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1187: ./include/uapi/linux/ethtool.hhMhj9ubj)}(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.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1187: ./include/uapi/linux/ethtool.hhMhjUubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjThMhjubj)}(ha``ETHTOOL_MAC_STATS_SRC_PMAC`` if device supports a MM layer, this retrieves the pMAC statistics.h](j)}(h``ETHTOOL_MAC_STATS_SRC_PMAC``h]h)}(hjyh]hETHTOOL_MAC_STATS_SRC_PMAC}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1187: ./include/uapi/linux/ethtool.hhMhjsubj)}(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:1187: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhj֌ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhNhNubh)}(hIf absent from the request, stats will be provided with an ``ETHTOOL_A_PAUSE_STATS_SRC`` attribute in the response equal to ``ETHTOOL_MAC_STATS_SRC_AGGREGATE``.h](h;If absent from the request, stats will be provided with an }(hjhhhNhNubh)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]hETHTOOL_A_PAUSE_STATS_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh$ attribute in the response equal to }(hjhhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjԍhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_AUTONEG`` bool pause autonegotiation ``ETHTOOL_A_PAUSE_RX`` bool receive pause frames ``ETHTOOL_A_PAUSE_TX`` bool transmit pause frames ``ETHTOOL_A_PAUSE_STATS`` nested pause statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%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&]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"ubj)}(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&]uh1jhj|ubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_RX``h]h)}(hjێh]hETHTOOL_A_PAUSE_RX}(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)}(hreceive pause framesh]hreceive pause frames}(hjhhhNhNubah}(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_PAUSE_TX``h]h)}(hj2h]hETHTOOL_A_PAUSE_TX}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhMhj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hboolh]hbool}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(htransmit pause framesh]htransmit pause frames}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h``ETHTOOL_A_PAUSE_STATS`` are reported if ``ETHTOOL_FLAG_STATS`` was set in ``ETHTOOL_A_HEADER_FLAGS``. It will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:h](h)}(h``ETHTOOL_A_PAUSE_STATS``h]hETHTOOL_A_PAUSE_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh are reported if }(hjhhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh was set in }(hjhhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhv. It will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@ethtool_pause_stats (C struct)c.ethtool_pause_statshNtauh1j3hjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhNubjE)}(hhh](jJ)}(hethtool_pause_statsh]jP)}(hstruct ethtool_pause_statsh](jV)}(hstructh]hstruct}(hjKhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjGhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhKubjh)}(h h]h }(hjZhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjGhhhjYhKubjy)}(hethtool_pause_statsh]j)}(hjEh]hethtool_pause_stats}(hjlhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjhubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjGhhhjYhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjChhhjYhKubah}(h]j=ah ](jjeh"]h$]h&]jj)jhuh1jIhjYhKhj@hhubj)}(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:1209: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhj@hhhjYhKubeh}(h]h ](jɌstructeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhjhj?hNubjՌ)}(hX**Definition**:: struct ethtool_pause_stats { enum ethtool_mac_stats_src src; struct { u64 tx_pause_frames; u64 rx_pause_frames; u64 tx_pause_storm_events; }; }; **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. ``{unnamed_struct}`` anonymous ``tx_pause_frames`` transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``. ``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to: ``tx_pause_storm_events`` TX pause storm event count (see ethtool.yaml).h](h)}(h**Definition**::h](jߌ)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubh literal_block)}(hstruct ethtool_pause_stats { enum ethtool_mac_stats_src src; struct { u64 tx_pause_frames; u64 rx_pause_frames; u64 tx_pause_storm_events; }; };h]hstruct ethtool_pause_stats { enum ethtool_mac_stats_src src; struct { u64 tx_pause_frames; u64 rx_pause_frames; u64 tx_pause_storm_events; }; };}hj͐sbah}(h]h ]h"]h$]h&]jjuh1jːhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhM hjubh)}(h **Members**h]jߌ)}(hjސh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjܐubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubj)}(hhh](j)}(h``src`` input field denoting whether stats should be queried from the eMAC or pMAC (if the MM layer is supported). To be ignored otherwise. h](j)}(h``src``h]h)}(hjh]hsrc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubj)}(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:1209: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``{unnamed_struct}`` anonymous h](j)}(h``{unnamed_struct}``h]h)}(hj7h]h{unnamed_struct}}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhKhj1ubj)}(hhh]h)}(h anonymoush]h anonymous}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhKhjMubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhjLhKhjubj)}(hq``tx_pause_frames`` transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``. h](j)}(h``tx_pause_frames``h]h)}(hjph]htx_pause_frames}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjjubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h}``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to: h](j)}(h``rx_pause_frames``h]h)}(hjh]hrx_pause_frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubj)}(hhh]h)}(hhreceived pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to:h](h6received pause frame count. Reported to user space as }(hjՑhhhNhNubh)}(h"``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``h]hETHTOOL_A_PAUSE_STAT_RX_FRAMES}(hjݑhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjՑubh. Equivalent to:}(hjՑhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhM hjґubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjёhMhjubj)}(hH``tx_pause_storm_events`` TX pause storm event count (see ethtool.yaml).h](j)}(h``tx_pause_storm_events``h]h)}(hjh]htx_pause_storm_events}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubj)}(hhh]h)}(h.TX pause storm event count (see ethtool.yaml).h]h.TX pause storm event count (see ethtool.yaml).}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhj?hNubh)}(h**Description**h]jߌ)}(hjKh]h Description}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjIubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjhhubj)}(hEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard. Equivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard. h](h)}(hJEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard.h](hEquivalent to }(hjehhhNhNubhtitle_reference)}(h)`30.3.4.2 aPAUSEMACCtrlFramesTransmitted`h]h'30.3.4.2 aPAUSEMACCtrlFramesTransmitted}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jmhjeubh from the standard.}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhMhjaubh)}(hGEquivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard.h](hEquivalent to }(hjhhhNhNubjn)}(h&`30.3.4.3 aPAUSEMACCtrlFramesReceived`h]h$30.3.4.3 aPAUSEMACCtrlFramesReceived}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1209: ./include/linux/ethtool.hhM hjaubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhhubh)}(h2Each member has a corresponding attribute defined.h]h2Each member has a corresponding attribute defined.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h] pause-getah ]h"] pause_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PAUSE_SETh]h PAUSE_SET}(hjȒhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjŒhhhhhMubh)}(hASets pause parameters like ``ETHTOOL_GPAUSEPARAM`` ioctl request.h](hSets pause parameters like }(hj֒hhhNhNubh)}(h``ETHTOOL_GPAUSEPARAM``h]hETHTOOL_GPAUSEPARAM}(hjޒhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj֒ubh ioctl request.}(hj֒hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjŒhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjŒhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_AUTONEG`` bool pause autonegotiation ``ETHTOOL_A_PAUSE_RX`` bool receive pause frames ``ETHTOOL_A_PAUSE_TX`` bool transmit pause frames ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_HEADER``h]h)}(hj7h]hETHTOOL_A_PAUSE_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,ubj)}(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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(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_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&]uh1jhjݓubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjݓubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(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_PAUSE_TX``h]h)}(hj<h]hETHTOOL_A_PAUSE_TX}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hboolh]hbool}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(htransmit pause framesh]htransmit pause frames}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjŒhhubeh}(h] pause-setah ]h"] pause_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_GETh]hEEE_GET}(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}(hjŔhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjݔhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_EEE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_HEADER``h]h)}(hjh]hETHTOOL_A_EEE_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(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)}(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%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&]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_EEE_MODES_OURS``h]h)}(hjh]hETHTOOL_A_EEE_MODES_OURS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsupported/advertised modesh]hsupported/advertised modes}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_PEER``h]h)}(hjuh]hETHTOOL_A_EEE_MODES_PEER}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hpeer advertised link modesh]hpeer advertised link modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ACTIVE``h]h)}(hj̖h]hETHTOOL_A_EEE_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)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjĖubj)}(hhh]h)}(hEEE is actively usedh]hEEE is actively used}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjĖubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ENABLED``h]h)}(hj#h]hETHTOOL_A_EEE_ENABLED}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&]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)}(hEEE is enabledh]hEEE is enabled}(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_TX_LPI_ENABLED``h]h)}(hjzh]hETHTOOL_A_EEE_TX_LPI_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)}(hTx lpi enabledh]hTx lpi 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_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjɗubj)}(hhh]h)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjɗubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(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 }(hj9hhhNhNubh)}(h``ETHTOOL_A_EEE_MODES_OURS``h]hETHTOOL_A_EEE_MODES_OURS}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubh, 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 }(hj9hhhNhNubh)}(h``ETHTOOL_A_EEE_MODES_PEER``h]hETHTOOL_A_EEE_MODES_PEER}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubhw (no mask). The netlink interface allows reporting EEE status for all link modes but only first 32 are provided by the }(hj9hhhNhNubh)}(h``ethtool_ops``h]h ethtool_ops}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubh callback.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]eee-getah ]h"]eee_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_SETh]hEEE_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hNSets Energy Efficient Ethernet parameters like ``ETHTOOL_SEEE`` ioctl request.h](h/Sets Energy Efficient Ethernet parameters like }(hjhhhNhNubh)}(h``ETHTOOL_SEEE``h]h ETHTOOL_SEEE}(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)}(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%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&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_OURS``h]h)}(hjNh]hETHTOOL_A_EEE_MODES_OURS}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hboolh]hbool}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hadvertised modesh]hadvertised modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(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}(hjÙhhhNhNubah}(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)}(hjh]hETHTOOL_A_EEE_TX_LPI_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTx lpi enabledh]hTx lpi enabled}(hj1hhhNhNubah}(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_TIMER``h]h)}(hjSh]hETHTOOL_A_EEE_TX_LPI_TIMER}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hu32h]hu32}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hj˘ubeh}(h]h ]h"]h$]h&]colsKuh1jhjȘubah}(h]h ]h"]h$]h&]uh1jhjĘubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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}(hjњhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh callback supports.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]eee-setah ]h"]eee_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h TSINFO_GETh]h TSINFO_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hIGets timestamping information like ``ETHTOOL_GET_TS_INFO`` ioctl request.h](h#Gets timestamping information like }(hjhhhNhNubh)}(h``ETHTOOL_GET_TS_INFO``h]hETHTOOL_GET_TS_INFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX'======================================== ====== ============================ ``ETHTOOL_A_TSINFO_HEADER`` nested request header ``ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER`` nested PTP hw clock provider ======================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_HEADER``h]h)}(hjch]hETHTOOL_A_TSINFO_HEADER}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1hhhhM hj^ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj~ubah}(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&]uh1jhjXubj)}(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&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj؛hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj՛ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]colsKuh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(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%uh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj7ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_HEADER``h]h)}(hjch]hETHTOOL_A_TSINFO_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(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&]uh1jhjXubj)}(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}(hj؜hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj՜ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hSO_TIMESTAMPING flagsh]hSO_TIMESTAMPING flags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(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&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hbitseth]hbitset}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj,ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hsupported Tx typesh]hsupported Tx types}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_RX_FILTERS``h]h)}(hjhh]hETHTOOL_A_TSINFO_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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hsupported Rx filtersh]hsupported Rx filters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(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}(hjݝhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjڝubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPTP hw clock indexh]hPTP hw clock index}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHW timestamping statisticsh]hHW timestamping statistics}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1j hj7ubeh}(h]h ]h"]h$]h&]colsKuh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h``ETHTOOL_A_TSINFO_PHC_INDEX`` is absent if there is no associated PHC (there is no special value for this case). The bitset attributes are omitted if they would be empty (no bit set).h](h)}(h``ETHTOOL_A_TSINFO_PHC_INDEX``h]hETHTOOL_A_TSINFO_PHC_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh 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).}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h>Additional hardware timestamping statistics response contents:h]h>Additional hardware timestamping statistics response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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)}(hj۞h]hETHTOOL_A_TS_STAT_TX_PKTS}(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)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjӞubj)}(hhh]h)}(hPackets with Tx HW timestampsh]hPackets with Tx HW timestamps}(hjhhhNhNubah}(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_TS_STAT_TX_LOST``h]h)}(hj2h]hETHTOOL_A_TS_STAT_TX_LOST}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM!hj-ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(huinth]huint}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjMubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(h!Tx HW timestamp not arrived counth]h!Tx HW timestamp not arrived count}(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_TS_STAT_TX_ERR``h]h)}(hjh]hETHTOOL_A_TS_STAT_TX_ERR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjОubj)}(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&]uh1hhjޟubah}(h]h ]h"]h$]h&]uh1hhhhM%hj۟ubah}(h]h ]h"]h$]h&]uh1jhj؟ubj)}(hhh]h)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjubah}(h]h ]h"]h$]h&]uh1jhj؟ubj)}(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&]uh1jhj؟ubeh}(h]h ]h"]h$]h&]uh1jhjОubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h] tsinfo-getah ]h"] tsinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CABLE_TESTh]h CABLE_TEST}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPhhhhhM+ubh)}(hStart a cable test.h]hStart a cable test.}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjPhhubh)}(hRequest contents:h]hRequest contents:}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjPhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_CABLE_TEST_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_CABLE_TEST_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM2hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjΠhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjˠubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1jhhhM1hjPhhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjPhhubh)}(hXAn Ethernet cable typically contains 1, 2 or 4 pairs. The length of the pair can only be measured when there is a fault in the pair and hence a reflection. Information about the fault may not be available, depending on the specific hardware. Hence the contents of the notify message are mostly optional. The attributes can be repeated an arbitrary number of times, in an arbitrary order, for an arbitrary number of pairs.h]hXAn Ethernet cable typically contains 1, 2 or 4 pairs. The length of the pair can only be measured when there is a fault in the pair and hence a reflection. Information about the fault may not be available, depending on the specific hardware. Hence the contents of the notify message are mostly optional. The attributes can be repeated an arbitrary number of times, in an arbitrary order, for an arbitrary number of pairs.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjPhhubh)}(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.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM?hjPhhubj)}(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&]colwidthKuh1jhjIubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjIubj)}(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_CABLE_TEST_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_STATUS``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjߡubah}(h]h ]h"]h$]h&]uh1hhhhMGhjܡubah}(h]h ]h"]h$]h&]morecolsKuh1jhj١ubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhjubah}(h]h ]h"]h$]h&]uh1jhj١ubj)}(hhh]h)}(h completedh]h completed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMGhjubah}(h]h ]h"]h$]h&]uh1jhj١ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_CABLE_TEST_NTF_NEST``h]h)}(hj9h]hETHTOOL_A_CABLE_TEST_NTF_NEST}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMIhj4ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj1ubj)}(hhh]h)}(hnestedh]hnested}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjUubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hall the resultsh]hall the results}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMIhjlubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(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&]uh1hhhhMKhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcable test resulth]hcable test result}(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]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&]uh1hhhhMMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_CODE``h]h)}(hjmh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1hhhhMOhjhubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h result codeh]h result code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMOhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_RESULT``h]h)}(hjͣh]hETHTOOL_A_CABLE_NEST_RESULT}(hjϣhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjˣubah}(h]h ]h"]h$]h&]uh1hhhhMQhjȣubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcable test resultsh]hcable test results}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(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)}(hj7h]hETHTOOL_A_CABLE_RESULTS_PAIR}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMShj2ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjRubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjiubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(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_CODE``h]h)}(hjh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMUhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h result codeh]h result code}(hjդhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjҤubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_RESULT_SRC``h]h)}(hj h]hETHTOOL_A_CABLE_RESULT_SRC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMWhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj$ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_NEST_FAULT_LENGTH``h]h)}(hjih]h!ETHTOOL_A_CABLE_NEST_FAULT_LENGTH}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMYhjdubah}(h]h ]h"]h$]h&]morecolsKuh1jhjXubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(h cable lengthh]h cable length}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(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)}(hjӥh]h!ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR}(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 pair numberh]h pair number}(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]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h#``ETHTOOL_A_CABLE_FAULT_LENGTH_CM``h]h)}(hj<h]hETHTOOL_A_CABLE_FAULT_LENGTH_CM}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM]hj7ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hu32h]hu32}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hjWubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h length in cmh]h length in cm}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hjnubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(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_SRC``h]h)}(hjh]h ETHTOOL_A_CABLE_FAULT_LENGTH_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjæhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjڦhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjצubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]colsKuh1jhjFubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1jhhhMDhjPhhubeh}(h] cable-testah ]h"] cable_testah$]h&]uh1hhhhhhhhM+ubh)}(hhh](h)}(hCABLE_TEST TDRh]hCABLE_TEST TDR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMdubh)}(h*Start a cable test and report raw TDR datah]h*Start a cable test and report raw TDR data}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjhhubh)}(hRequest contents:h]hRequest contents:}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjhhubj)}(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&]colwidthKuh1jhjIubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjIubj)}(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_CABLE_TEST_TDR_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(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&]uh1hhjߧubah}(h]h ]h"]h$]h&]uh1hhhhMmhjܧubah}(h]h ]h"]h$]h&]morecolsKuh1jhj٧ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhj٧ubj)}(hhh]h)}(htest configurationh]htest configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhj٧ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h'``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE``h]h)}(hjBh]h#ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhMohj=ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj1ubj)}(hhh]h)}(hu32h]hu32}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj^ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hfirst data distanceh]hfirst data distance}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjuubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj¨hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hlast data distanceh]hlast data distance}(hj٨hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj֨ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE``h]h)}(hjh]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdistance of each steph]hdistance of each step}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR``h]h)}(hjeh]h!ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMuhj`ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjTubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h pair to testh]h pair to test}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1j hjIubeh}(h]h ]h"]h$]h&]colsKuh1jhjFubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1jhhhMjhjhhubh)}(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.}(hjΩhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjhhubh)}(hNotification contents:h]hNotification contents:}(hjܩhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjhhubh)}(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&]uh1hhhhMhjhhubh)}(hXIt can take a number of seconds to collect TDR data, especial if the full 100 meters is probed at 1 meter intervals. When the test is started a notification will be sent containing just ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED.h]hXIt can take a number of seconds to collect TDR data, especial if the full 100 meters is probed at 1 meter intervals. When the test is started a notification will be sent containing just ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hWhen the test has completed a second notification will be sent containing ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED and the TDR data.h]hWhen the test has completed a second notification will be sent containing ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED and the TDR data.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(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&]uh1hhhhMhjhhubh)}(hXBefore the raw TDR data should be an ETHTOOL_A_CABLE_TDR_NEST_STEP nest containing information about the distance along the cable for the first reading, the last reading, and the step between each reading. Distances are measured in centimeters. These should be the exact values the PHY used. These may be different to what the user requested, if the native measurement resolution is greater than 1 cm.h]hXBefore the raw TDR data should be an ETHTOOL_A_CABLE_TDR_NEST_STEP nest containing information about the distance along the cable for the first reading, the last reading, and the step between each reading. Distances are measured in centimeters. These should be the exact values the PHY used. These may be different to what the user requested, if the native measurement resolution is greater than 1 cm.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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&]colwidthKuh1jhjEubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjEubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK)uh1jhjEubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjEubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjEubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CABLE_TEST_TDR_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj}ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CABLE_TEST_TDR_STATUS``h]h)}(hjݪh]hETHTOOL_A_CABLE_TEST_TDR_STATUS}(hjߪhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj۪ubah}(h]h ]h"]h$]h&]uh1hhhhMhjتubah}(h]h ]h"]h$]h&]morecolsKuh1jhjժubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjժubj)}(hhh]h)}(h completedh]h completed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjժubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST``h]h)}(hj5h]h!ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST}(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)}(hall the resultsh]hall the results}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h"``ETHTOOL_A_CABLE_TDR_NEST_PULSE``h]h)}(hjh]hETHTOOL_A_CABLE_TDR_NEST_PULSE}(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)}(hTX Pulse amplitudeh]hTX Pulse amplitude}(hj̫hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjɫubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_PULSE_mV``h]h)}(hjh]hETHTOOL_A_CABLE_PULSE_mV}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPulse amplitudeh]hPulse amplitude}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_STEP``h]h)}(hj`h]hETHTOOL_A_CABLE_NEST_STEP}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhMhj[ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjOubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj|ubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(h TDR step infoh]h TDR step info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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)}(hjʬh]h#ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE}(hj̬hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjȬubah}(h]h ]h"]h$]h&]uh1hhhhMhjŬubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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)}(hj3h]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hLast data distanceh]hLast data distance}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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_STEP_DISTANCE``h]h)}(hjh]h"ETHTOOL_A_CABLE_STEP_STEP_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)}(hdistance of each steph]hdistance of each step}(hjѭhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjέubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjfh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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&]uh1jhjzubj)}(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}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hjbh]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj]ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjQubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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&]uh1hhhhMhjǰubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubj)}(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)}(hj5h]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1j hjEubeh}(h]h ]h"]h$]h&]colsKuh1jhjBubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h]cable-test-tdrah ]h"]cable_test tdrah$]h&]uh1hhhhhhhhMdubh)}(hhh](h)}(h TUNNEL_INFOh]h TUNNEL_INFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(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&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjıhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_TUNNEL_INFO_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_TUNNEL_INFO_HEADER``h]h)}(hjh]hETHTOOL_A_TUNNEL_INFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hjٱubeh}(h]h ]h"]h$]h&]colsKuh1jhjֱubah}(h]h ]h"]h$]h&]uh1jhjұubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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&]colwidthKuh1jhjubj)}(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_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&]uh1hhhhMhjDzubah}(h]h ]h"]h$]h&]morecolsKuh1jhjIJubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjIJubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjIJubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_INFO_UDP_PORTS``h]h)}(hj$h]hETHTOOL_A_TUNNEL_INFO_UDP_PORTS}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hall UDP port tablesh]hall UDP port tables}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(h``ETHTOOL_A_TUNNEL_UDP_TABLE``h]h)}(hjh]hETHTOOL_A_TUNNEL_UDP_TABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjtubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hone UDP port tableh]hone UDP port table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(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_SIZE``h]h)}(hjh]hETHTOOL_A_TUNNEL_UDP_TABLE_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjճubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjճubj)}(hhh]h)}(hmax size of the tableh]hmax size of the table}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjճubeh}(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_TYPES``h]h)}(hjYh]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]morecolsKuh1jhj?ubj)}(hhh]h)}(hbitseth]hbitset}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(h!tunnel types which table can holdh]h!tunnel types which table can hold}(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]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY``h]h)}(hjôh]h ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY}(hjŴhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjߴubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hoffloaded UDP porth]hoffloaded UDP port}(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]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT``h]h)}(hj6h]hETHTOOL_A_TUNNEL_UDP_ENTRY_PORT}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbe16h]hbe16}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hUDP porth]hUDP port}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(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]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE``h]h)}(hjh]hETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjƵhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjõubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h tunnel typeh]h tunnel type}(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&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj{ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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&]uh1hhhhMhjhhubeh}(h] tunnel-infoah ]h"] tunnel_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_GETh]hFEC_GET}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hhhhhMubh)}(hJGets FEC configuration and state like ``ETHTOOL_GFECPARAM`` ioctl request.h](h&Gets FEC configuration and state like }(hjIhhhNhNubh)}(h``ETHTOOL_GFECPARAM``h]hETHTOOL_GFECPARAM}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubh ioctl request.}(hjIhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubh)}(hRequest contents:h]hRequest contents:}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_FEC_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_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}(hjȶhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjŶubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj߶hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjܶubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hj~ubeh}(h]h ]h"]h$]h&]colsKuh1jhj{ubah}(h]h ]h"]h$]h&]uh1jhjwubah}(h]h ]h"]h$]h&]uh1jhhhMhj8hhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_FEC_HEADER`` nested request header ``ETHTOOL_A_FEC_MODES`` bitset configured modes ``ETHTOOL_A_FEC_AUTO`` bool FEC mode auto selection ``ETHTOOL_A_FEC_ACTIVE`` u32 index of active FEC mode ``ETHTOOL_A_FEC_STATS`` nested FEC statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj'ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_HEADER``h]h)}(hjSh]hETHTOOL_A_FEC_HEADER}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hnestedh]hnested}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_MODES``h]h)}(hjh]hETHTOOL_A_FEC_MODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjȷhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjŷubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hconfigured modesh]hconfigured modes}(hj߷hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjܷubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_AUTO``h]h)}(hjh]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFEC mode auto selectionh]hFEC mode auto selection}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_ACTIVE``h]h)}(hjXh]hETHTOOL_A_FEC_ACTIVE}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hindex of active FEC modeh]hindex of active FEC mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(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&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj͸hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjʸubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFEC statisticsh]hFEC statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1j hj'ubeh}(h]h ]h"]h$]h&]colsKuh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhj8hhubh)}(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&]uh1hhhhMhj8hhubh)}(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}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh and }(hj3hhhNhNubh)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh: are only meaningful when autonegotiation is disabled. If }(hj3hhhNhNubh)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh is non-zero driver will select the FEC mode automatically based on the parameters of the SFP module. This is equivalent to the }(hj3hhhNhNubh)}(h``ETHTOOL_FEC_AUTO``h]hETHTOOL_FEC_AUTO}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh bit of the ioctl interface. }(hj3hhhNhNubh)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubhK carry the current FEC configuration using link mode bits (rather than old }(hj3hhhNhNubh)}(h``ETHTOOL_FEC_*``h]h ETHTOOL_FEC_*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh bits).}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubh)}(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&]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. 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:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubj)}(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]jn)}(hjh]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]uh1hhhhM hj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&device does not support FEC statisticsh]h&device does not support FEC statistics}(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`1`h]jn)}(hjNh]h1}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h+device does not support per-lane break downh]h+device does not support per-lane break down}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h `1 + #lanes`h]jn)}(hjh]h 1 + #lanes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%device has full support for FEC statsh]h%device has full support for FEC stats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj8hhhhhNubh)}(h:Drivers fill in the statistics in the following structure:h]h:Drivers fill in the statistics in the following structure:}(hjٺhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@ethtool_fec_stats (C struct)c.ethtool_fec_statshNtauh1j3hj8hhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhNubjE)}(hhh](jJ)}(hethtool_fec_statsh]jP)}(hstruct ethtool_fec_statsh](jV)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_fec_statsh]j)}(hjh]hethtool_fec_stats}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(hhh]h)}(hstatistics for IEEE 802.3 FECh]hstatistics for IEEE 802.3 FEC}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM5hj@hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌstructeh"]h$]h&]jΌjɌjόj[jЌj[jьjҌjӌuh1jDhhhj8hjhNubjՌ)}(hX**Definition**:: struct ethtool_fec_stats { struct ethtool_fec_stat { u64 total; u64 lanes[ETHTOOL_MAX_LANES]; } corrected_blocks, uncorrectable_blocks, corrected_bits; }; **Members** ``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. ``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. ``corrected_bits`` number of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](h)}(h**Definition**::h](jߌ)}(h**Definition**h]h Definition}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjcubh:}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM9hj_ubj̐)}(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; };}hjsbah}(h]h ]h"]h$]h&]jjuh1jːhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM;hj_ubh)}(h **Members**h]jߌ)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhMBhj_ubj)}(hhh](j)}(h|``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. h](j)}(h``corrected_blocks``h]h)}(hjh]hcorrected_blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM8hjubj)}(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 }(hjɻhhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORRECTED``h]hETHTOOL_A_FEC_STAT_CORRECTED}(hjѻhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjɻubh.}(hjɻhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM7hjƻubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjŻhM8hjubj)}(h``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. h](j)}(h``uncorrectable_blocks``h]h)}(hjh]huncorrectable_blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM=hjubj)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_A_FEC_STAT_UNCORR``h]hETHTOOL_A_FEC_STAT_UNCORR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM=hjubj)}(h``corrected_bits`` number of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](j)}(h``corrected_bits``h]h)}(hjHh]hcorrected_bits}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhMChjBubj)}(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 }(hjahhhNhNubjߌ)}(h**corrected_blocks**h]hcorrected_blocks}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjaubh| but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as }(hjahhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORR_BITS``h]hETHTOOL_A_FEC_STAT_CORR_BITS}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubh.}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhMAhj^ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj]hMChjubeh}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj8hhhjhNubh)}(h**Description**h]jߌ)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhMGhj8hhubj)}(hEquivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard. Equivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard. h](h)}(hBEquivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard.h](hEquivalent to }(hjɼhhhNhNubjn)}(h!`30.5.1.1.17 aFECCorrectedBlocks`h]h30.5.1.1.17 aFECCorrectedBlocks}(hjѼhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhjɼubh from the standard.}(hjɼhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM8hjżubh)}(hFEquivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard.h](hEquivalent to }(hjhhhNhNubjn)}(h%`30.5.1.1.18 aFECUncorrectableBlocks`h]h#30.5.1.1.18 aFECUncorrectableBlocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jmhjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM;hjżubeh}(h]h ]h"]h$]h&]uh1jhjhM8hj8hhubh)}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM>hj8hhubj0)}(hhh](j0)}(hB**lanes**: per-lane/PCS-instance counts as defined by the standardh]h)}(hj%h](jߌ)}(h **lanes**h]hlanes}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj'ubh9: per-lane/PCS-instance counts as defined by the standard}(hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhM@hj#ubah}(h]h ]h"]h$]h&]uh1j0hj ubj0)}(hb**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h]j)}(hhh]j)}(h_**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h](j)}(hO**total**: error counts for the entire port, for drivers incapable of reportingh](jߌ)}(h **total**h]htotal}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjTubhF: error counts for the entire port, for drivers incapable of reporting}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhMBhjPubj)}(hhh]h)}(hper-lane statsh]hper-lane stats}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphMBhjqubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjphMBhjMubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1j0hj ubeh}(h]h ]h"]h$]h&]jN1jO1uh1j0hjBhM@hj8hhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1558: ./include/linux/ethtool.hhMDhj8hhubh)}(hStatistics may have FEC bins histogram attribute ``ETHTOOL_A_FEC_STAT_HIST`` as defined in IEEE 802.3ck-2022 and 802.3df-2024. Nested attributes will have the range of FEC errors in the bin (inclusive) and the amount of error events in the bin.h](h1Statistics may have FEC bins histogram attribute }(hjhhhNhNubh)}(h``ETHTOOL_A_FEC_STAT_HIST``h]hETHTOOL_A_FEC_STAT_HIST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh as defined in IEEE 802.3ck-2022 and 802.3df-2024. Nested attributes will have the range of FEC errors in the bin (inclusive) and the amount of error events in the bin.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj8hhubeh}(h]fec-getah ]h"]fec_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_SETh]hFEC_SET}(hjڽhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj׽hhhhhMubh)}(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&]uh1hhhhM!hj׽hhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hj׽hhubj)}(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%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)}(hjIh]hETHTOOL_A_FEC_HEADER}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM&hjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hnestedh]hnested}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hj{ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_MODES``h]h)}(hjh]hETHTOOL_A_FEC_MODES}(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)}(hconfigured modesh]hconfigured modes}(hjվhhhNhNubah}(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_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&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM%hj׽hhubh)}(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}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubhp is only meaningful when autonegotiation is disabled. Otherwise FEC mode is selected as part of autonegotiation.}(hj_hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM+hj׽hhubh)}(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}(hjhhhNhNubah}(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&]uh1hhhhM.hj׽hhubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhk requests the driver to choose FEC mode based on SFP module parameters. This does not mean autonegotiation.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hj׽hhubeh}(h]fec-setah ]h"]fec_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMODULE_EEPROM_GETh]hMODULE_EEPROM_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM6ubh)}(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.}(hj̿hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjhhubh)}(hRequest contents:h]hRequest contents:}(hjڿhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjhhubj)}(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)}(hjh]hETHTOOL_A_MODULE_EEPROM_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_OFFSET``h]h)}(hjrh]hETHTOOL_A_MODULE_EEPROM_OFFSET}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMBhjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hoffset within a pageh]hoffset within a page}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_LENGTH``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_LENGTH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hamount of bytes to readh]hamount of bytes to read}(hjhhhNhNubah}(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_MODULE_EEPROM_PAGE``h]h)}(hj h]hETHTOOL_A_MODULE_EEPROM_PAGE}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMDhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj;ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h page numberh]h page number}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjRubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]h)}(hjwh]hETHTOOL_A_MODULE_EEPROM_BANK}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMEhjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(h bank numberh]h bank number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMEhjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS``h]h)}(hjh]h#ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpage I2C addressh]hpage I2C address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM@hjhhubh)}(hHIf ``ETHTOOL_A_MODULE_EEPROM_BANK`` is not specified, bank 0 is assumed.h](hIf }(hj6hhhNhNubh)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]hETHTOOL_A_MODULE_EEPROM_BANK}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubh% is not specified, bank 0 is assumed.}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMIhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjhhubj)}(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-uh1jhjkubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjkubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjkubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_HEADER``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_HEADER}(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)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhMPhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhj ubah}(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&]uh1hhhhMPhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjkubeh}(h]h ]h"]h$]h&]colsKuh1jhjhubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1jhhhMMhjhhubh)}(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}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubhK has an attribute length equal to the amount of bytes driver actually read.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMThjhhubeh}(h]module-eeprom-getah ]h"]module_eeprom_getah$]h&]uh1hhhhhhhhM6ubh)}(hhh](h)}(h STATS_GETh]h STATS_GET}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhMXubh)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_GSTATS``h]hETHTOOL_GSTATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh$ which exposed driver-defined stats.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMZhjzhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjzhhubj)}(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'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_STATS_HEADER``h]h)}(hjh]hETHTOOL_A_STATS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_SRC``h]h)}(hjCh]hETHTOOL_A_STATS_SRC}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhMbhj>ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hu32h]hu32}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj^ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjuubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_GROUPS``h]h)}(hjh]hETHTOOL_A_STATS_GROUPS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequested groups of statsh]hrequested groups of stats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM`hjzhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjzhhubj)}(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)}(hjMh]hETHTOOL_A_STATS_HEADER}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhMihjHubah}(h]h ]h"]h$]h&]morecolsKuh1jhjEubj)}(hhh]h)}(hnestedh]hnested}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjiubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(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&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(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&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hone or more group of statsh]hone or more group of stats}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_ID``h]h)}(hj^h]hETHTOOL_A_STATS_GRP_ID}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubah}(h]h ]h"]h$]h&]uh1hhhhMohjYubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hu32h]hu32}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjyubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hgroup ID - ``ETHTOOL_STATS_*``h](h group ID - }(hjhhhNhNubh)}(h``ETHTOOL_STATS_*``h]hETHTOOL_STATS_*}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhMohjubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]h)}(hjh]hETHTOOL_A_STATS_GRP_SS_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hstring set ID for namesh]hstring set ID for names}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_STAT``h]h)}(hj,h]hETHTOOL_A_STATS_GRP_STAT}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMshj'ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjGubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnest containing a statistich]hnest containing a statistic}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshj^ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_HIST_RX``h]h)}(hjh]hETHTOOL_A_STATS_GRP_HIST_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hhistogram statistic (Rx)h]hhistogram statistic (Rx)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(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&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhistogram statistic (Tx)h]hhistogram statistic (Tx)}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhhjzhhubh)}(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 }(hjThhhNhNubh)}(h``ETHTOOL_A_STATS_GROUPS``h]hETHTOOL_A_STATS_GROUPS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubh& bitset. Currently defined values are:}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMzhjzhhubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-mach]heth-mac}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h,Basic IEEE 802.3 MAC statistics (30.3.1.1.*)h]h,Basic IEEE 802.3 MAC statistics (30.3.1.1.*)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_PHYh]hETHTOOL_STATS_ETH_PHY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-phyh]heth-phy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(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.*)}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_CTRLh]hETHTOOL_STATS_ETH_CTRL}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(heth-ctrlh]heth-ctrl}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(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.*)}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_RMONh]hETHTOOL_STATS_RMON}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrmonh]hrmon}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hRMON (RFC 2819) statisticsh]hRMON (RFC 2819) statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_PHYh]hETHTOOL_STATS_PHY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hphyh]hphy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Additional PHY statistics, not defined by IEEEh]h.Additional PHY statistics, not defined by IEEE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hj{ubeh}(h]h ]h"]h$]h&]colsKuh1jhjxubah}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1jhhhM}hjzhhubh)}(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 }(hj>hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubh in the reply. }(hj>hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_ID``h]hETHTOOL_A_STATS_GRP_ID}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubh6 identifies which group’s statistics nest contains. }(hj>hhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]hETHTOOL_A_STATS_GRP_SS_ID}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubhY identifies the string set ID for the names of the statistics in the group, if available.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubh)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh nest under }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_STAT``h]hETHTOOL_A_STATS_GRP_STAT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh. }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_STAT``h]hETHTOOL_A_STATS_GRP_STAT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhX 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 }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]hETHTOOL_A_STATS_GRP_SS_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhM. Complex statistics (such as RMON histogram entries) are also listed inside }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh4 and do not have a string defined in the string set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubh)}(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&]uh1hhhhMhjzhhubh)}(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&]uh1hhhhMhjzhhubj)}(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!uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhj-ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h!ETHTOOL_A_STATS_RMON_HIST_BKT_LOWh]h!ETHTOOL_A_STATS_RMON_HIST_BKT_LOW}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hu32h]hu32}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h#low bound of the packet size bucketh]h#low bound of the packet size bucket}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh](j)}(hhh]h)}(h ETHTOOL_A_STATS_RMON_HIST_BKT_HIh]h ETHTOOL_A_STATS_RMON_HIST_BKT_HI}(hjhhhNhNubah}(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)}(hhigh bound of the bucketh]hhigh bound of the bucket}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjNubj)}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpacket counterh]hpacket counter}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1j hj-ubeh}(h]h ]h"]h$]h&]colsKuh1jhj*ubah}(h]h ]h"]h$]h&]uh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhhhMhjzhhubh)}(h/Low and high bounds are inclusive, for example:h]h/Low and high bounds are inclusive, for example:}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubj)}(h============================= ==== ==== RFC statistic low high ============================= ==== ==== etherStatsPkts64Octets 0 64 etherStatsPkts512to1023Octets 512 1023 ============================= ==== ==== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjiubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjiubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjiubhthead)}(hhh]j)}(hhh](j)}(hhh]h)}(h RFC statistich]h RFC statistic}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hlowh]hlow}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhighh]hhigh}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjiubj )}(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}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h512h]h512}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h1023h]h1023}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjiubeh}(h]h ]h"]h$]h&]colsKuh1jhjfubah}(h]h ]h"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]uh1jhhhMhjzhhubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh is optional. Similar to }(hjhhhNhNubh)}(h ``PAUSE_GET``h]h PAUSE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, it takes values from }(hjhhhNhNubh)}(h``enum ethtool_mac_stats_src``h]henum ethtool_mac_stats_src}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh=. If absent from the request, stats will be provided with an }(hjhhhNhNubh)}(h``ETHTOOL_A_STATS_SRC``h]hETHTOOL_A_STATS_SRC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh$ attribute in the response equal to }(hjhhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubeh}(h] stats-getah ]h"] stats_getah$]h&]uh1hhhhhhhhMXubh)}(hhh](h)}(hPHC_VCLOCKS_GETh]hPHC_VCLOCKS_GET}(hj hhhNhNubah}(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:}(hj&hhhNhNubah}(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$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_PHC_VCLOCKS_HEADER``h]h)}(hjgh]hETHTOOL_A_PHC_VCLOCKS_HEADER}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]uh1j hj;ubeh}(h]h ]h"]h$]h&]colsKuh1jhj8ubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hXS==================================== ====== ========================== ``ETHTOOL_A_PHC_VCLOCKS_HEADER`` nested reply header ``ETHTOOL_A_PHC_VCLOCKS_NUM`` u32 PHC virtual clocks number ``ETHTOOL_A_PHC_VCLOCKS_INDEX`` s32 PHC index array ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_PHC_VCLOCKS_HEADER``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]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)}(h reply headerh]h reply header}(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_NUM``h]h)}(hjgh]hETHTOOL_A_PHC_VCLOCKS_NUM}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh]h)}(hPHC virtual clocks numberh]hPHC virtual clocks number}(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_PHC_VCLOCKS_INDEX``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs32h]hs32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPHC index arrayh]hPHC index array}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(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}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.hhhhhMubh)}(h#Gets transceiver module parameters.h]h#Gets transceiver module parameters.}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubh)}(hRequest contents:h]hRequest contents:}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_MODULE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjbubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjbubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjbubj )}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hjbubeh}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubj)}(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&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)}(h reply headerh]h reply header}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h)}(hjh]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj.hhubh)}(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 }(hjMhhhNhNubh)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubhX 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.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubh)}(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 }(hjmhhhNhNubh)}(h ``ETHTHOOL_A_MODULE_POWER_MODE``h]hETHTHOOL_A_MODULE_POWER_MODE}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubh attribute encodes the operational power mode policy of the transceiver module. It is only reported when a module is plugged-in. Possible values are:}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj.hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@"ethtool_module_power_mode (C enum)c.ethtool_module_power_modehNtauh1j3hj.hhhNhNubjE)}(hhh](jJ)}(hethtool_module_power_modeh]jP)}(henum ethtool_module_power_modeh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1760: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_module_power_modeh]j)}(hjh]hethtool_module_power_mode}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(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:1760: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhj.hNhNubjՌ)}(h**Constants** ``ETHTOOL_MODULE_POWER_MODE_LOW`` Module is in low power mode. ``ETHTOOL_MODULE_POWER_MODE_HIGH`` Module is in high power mode.h](h)}(h **Constants**h]jߌ)}(hj h]h Constants}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1760: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh](j)}(h?``ETHTOOL_MODULE_POWER_MODE_LOW`` Module is in low power mode. h](j)}(h!``ETHTOOL_MODULE_POWER_MODE_LOW``h]h)}(hj)h]hETHTOOL_MODULE_POWER_MODE_LOW}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1760: ./include/uapi/linux/ethtool.hhMhj#ubj)}(hhh]h)}(hModule is in low power mode.h]hModule is in low power mode.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>hMhj?ubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhj>hMhj ubj)}(h@``ETHTOOL_MODULE_POWER_MODE_HIGH`` Module is in high power mode.h](j)}(h"``ETHTOOL_MODULE_POWER_MODE_HIGH``h]h)}(hjbh]hETHTOOL_MODULE_POWER_MODE_HIGH}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1760: ./include/uapi/linux/ethtool.hhMhj\ubj)}(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:1760: ./include/uapi/linux/ethtool.hhMhjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjwhMhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj.hhhNhNubeh}(h] module-getah ]h"] module_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h MODULE_SETh]h MODULE_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(h#Sets transceiver module parameters.h]h#Sets transceiver module parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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)}(hj h]hETHTOOL_A_MODULE_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h)}(hjbh]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj]ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}ubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hWhen set, the optional ``ETHTOOL_A_MODULE_POWER_MODE_POLICY`` attribute is used to set the transceiver module power policy enforced by the host. Possible values are:h](hWhen set, the optional }(hjhhhNhNubh)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhh attribute is used to set the transceiver module power policy enforced by the host. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@)ethtool_module_power_mode_policy (C enum)"c.ethtool_module_power_mode_policyhNtauh1j3hjhhhNhNubjE)}(hhh](jJ)}(h ethtool_module_power_mode_policyh]jP)}(h%enum ethtool_module_power_mode_policyh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1779: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(h ethtool_module_power_mode_policyh]j)}(hjh]h ethtool_module_power_mode_policy}(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(hhh]h)}(h plug-in module power mode policyh]h plug-in module power mode policy}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1779: ./include/uapi/linux/ethtool.hhMhjBhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj]jЌj]jьjҌjӌuh1jDhhhjhNhNubjՌ)}(hXP**Constants** ``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH`` Module is always in high power mode. ``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO`` Module is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.h](h)}(h **Constants**h]jߌ)}(hjgh]h Constants}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjeubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1779: ./include/uapi/linux/ethtool.hhMhjaubj)}(hhh](j)}(hO``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH`` Module is always in high power mode. h](j)}(h)``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH``h]h)}(hjh]h%ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1779: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h$Module is always in high power mode.h]h$Module is always in high power mode.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj}ubj)}(h``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO`` Module is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.h](j)}(h)``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO``h]h)}(hjh]h%ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1779: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1779: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj}ubeh}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhNhNubh)}(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&]uh1hhhhMhjhhubh)}(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&]uh1hhhhMhjhhubeh}(h] module-setah ]h"] module_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hPSE_GETh]hPSE_GET}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hhhhhMubh)}(hGets PSE attributes.h]hGets PSE attributes.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$hhubh)}(hRequest contents:h]hRequest contents:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PSE_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_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&]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&]uh1jhjyubah}(h]h ]h"]h$]h&]uh1j hjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjUubah}(h]h ]h"]h$]h&]uh1jhjQubah}(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_PSE_HEADER`` nested reply header ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` u32 Operational state of the PoDL PSE functions ``ETHTOOL_A_PODL_PSE_PW_D_STATUS`` u32 power detection status of the PoDL PSE. ``ETHTOOL_A_C33_PSE_ADMIN_STATE`` u32 Operational state of the PoE PSE functions. ``ETHTOOL_A_C33_PSE_PW_D_STATUS`` u32 power detection status of the PoE PSE. ``ETHTOOL_A_C33_PSE_PW_CLASS`` u32 power class of the PoE PSE. ``ETHTOOL_A_C33_PSE_ACTUAL_PW`` u32 actual power drawn on the PoE PSE. ``ETHTOOL_A_C33_PSE_EXT_STATE`` u32 power extended state of the PoE PSE. ``ETHTOOL_A_C33_PSE_EXT_SUBSTATE`` u32 power extended substatus of the PoE PSE. ``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT`` u32 currently configured power limit of the PoE PSE. ``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit configuration ranges. ``ETHTOOL_A_PSE_PW_D_ID`` u32 Index of the PSE power domain ``ETHTOOL_A_PSE_PRIO_MAX`` u32 Priority maximum configurable on the PoE PSE ``ETHTOOL_A_PSE_PRIO`` u32 Priority of the PoE PSE currently configured ========================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK*uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(hj-h]hETHTOOL_A_PSE_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}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(h reply headerh]h reply header}(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_PODL_PSE_ADMIN_STATE``h]h)}(hjh]hETHTOOL_A_PODL_PSE_ADMIN_STATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(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)}(h+Operational state of the PoDL PSE functionsh]h+Operational state of the PoDL PSE functions}(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_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&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h'power detection status of the PoDL PSE.h]h'power detection status of the PoDL PSE.}(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_C33_PSE_ADMIN_STATE``h]h)}(hj2h]hETHTOOL_A_C33_PSE_ADMIN_STATE}(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+Operational state of the PoE PSE functions.h]h+Operational state of the PoE PSE functions.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_C33_PSE_PW_D_STATUS``h]h)}(hjh]hETHTOOL_A_C33_PSE_PW_D_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&power detection status of the PoE PSE.h]h&power detection status of the PoE PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_C33_PSE_ACTUAL_PW``h]h)}(hj7h]hETHTOOL_A_C33_PSE_ACTUAL_PW}(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"actual power drawn on the PoE PSE.h]h"actual power drawn on the PoE PSE.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_C33_PSE_EXT_STATE``h]h)}(hjh]hETHTOOL_A_C33_PSE_EXT_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$power extended state of the PoE PSE.h]h$power extended state of the PoE PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_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&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT``h]h)}(hj<h]h ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hu32h]hu32}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h0currently configured power limit of the PoE PSE.h]h0currently configured power limit of the PoE PSE.}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES``h]h)}(hjh]h!ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES}(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+Supported power limit configuration ranges.h]h+Supported power limit configuration ranges.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PW_D_ID``h]h)}(hjh]hETHTOOL_A_PSE_PW_D_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndex of the PSE power domainh]hIndex of the PSE power domain}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PRIO_MAX``h]h)}(hjAh]hETHTOOL_A_PSE_PRIO_MAX}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hu32h]hu32}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h,Priority maximum configurable on the PoE PSEh]h,Priority maximum configurable on the PoE PSE}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj"ubjQ)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_PRIO``h]h)}(hjh]hETHTOOL_A_PSE_PRIO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]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,Priority of the PoE PSE currently configuredh]h,Priority of the PoE PSE currently configured}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM hj$hhubh)}(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}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh5 30.15.1.1.2 aPoDLPSEAdminState. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM%hj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@%ethtool_podl_pse_admin_state (C enum)c.ethtool_podl_pse_admin_statehNtauh1j3hj$hhhNhNubjE)}(hhh](jJ)}(hethtool_podl_pse_admin_stateh]jP)}(h!enum ethtool_podl_pse_admin_stateh](jV)}(hjYh]henum}(hj]hhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjYhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjkhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjYhhhjjhKubjy)}(hethtool_podl_pse_admin_stateh]j)}(hjWh]hethtool_podl_pse_admin_state}(hj}hhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjyubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjYhhhjjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjUhhhjjhKubah}(h]jPah ](jjeh"]h$]h&]jj)jhuh1jIhjjhKhjRhhubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjRhhhjjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhj$hNhNubjՌ)}(h**Constants** ``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN`` state of PoDL PSE functions are unknown ``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED`` PoDL PSE functions are disabled ``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED`` PoDL PSE functions are enabledh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh](j)}(hQ``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN`` state of PoDL PSE functions are unknown h](j)}(h(``ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN``h]h)}(hjh]h$ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1835: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hJ``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED`` PoDL PSE functions are disabled h](j)}(h)``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED``h]h)}(hjh]h%ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hPoDL PSE functions are disabledh]hPoDL PSE functions are disabled}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hMhj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj/hMhjubj)}(hG``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED`` PoDL PSE functions are enabledh](j)}(h(``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED``h]h)}(hjSh]h$ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjMubj)}(hhh]h)}(hPoDL PSE functions are enabledh]hPoDL PSE functions are enabled}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1835: ./include/uapi/linux/ethtool.hhMhjiubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjhhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhNhNubh)}(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 }(hjhhhNhNubh)}(h!``ETHTOOL_A_C33_PSE_ADMIN_STATE``h]hETHTOOL_A_C33_PSE_ADMIN_STATE}(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.1.2 aPSEAdminState.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM.hj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@$ethtool_c33_pse_admin_state (C enum)c.ethtool_c33_pse_admin_statehNtauh1j3hj$hhhNhNubjE)}(hhh](jJ)}(hethtool_c33_pse_admin_stateh]jP)}(h enum ethtool_c33_pse_admin_stateh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_c33_pse_admin_stateh]j)}(hjh]hethtool_c33_pse_admin_state}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(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}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj9jЌj9jьjҌjӌuh1jDhhhj$hNhNubjՌ)}(h**Constants** ``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN`` state of PSE functions is unknown ``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED`` PSE functions are disabled ``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED`` PSE functions are enabledh](h)}(h **Constants**h]jߌ)}(hjCh]h Constants}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjAubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhj=ubj)}(hhh](j)}(hJ``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN`` state of PSE functions is unknown h](j)}(h'``ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN``h]h)}(hjbh]h#ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhj\ubj)}(hhh]h)}(h!state of PSE functions is unknownh]h!state of PSE functions is unknown}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwhMhjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjwhMhjYubj)}(hD``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED`` PSE functions are disabled h](j)}(h(``ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED``h]h)}(hjh]h$ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hPSE functions are disabledh]hPSE functions are disabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjYubj)}(hA``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED`` PSE functions are enabledh](j)}(h'``ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED``h]h)}(hjh]h#ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1841: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1841: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjYubeh}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhNhNubh)}(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}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh? 30.15.1.1.3 aPoDLPSEPowerDetectionStatus. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM4hj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@%ethtool_podl_pse_pw_d_status (C enum)c.ethtool_podl_pse_pw_d_statushNtauh1j3hj$hhhNhNubjE)}(hhh](jJ)}(hethtool_podl_pse_pw_d_statush]jP)}(h!enum ethtool_podl_pse_pw_d_statush](jV)}(hjYh]henum}(hj`hhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhj\hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjnhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghj\hhhjmhKubjy)}(hethtool_podl_pse_pw_d_statush]j)}(hjZh]hethtool_podl_pse_pw_d_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hj|ubah}(h]h ](jjeh"]h$]h&]jjuh1jxhj\hhhjmhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjXhhhjmhKubah}(h]jSah ](jjeh"]h$]h&]jj)jhuh1jIhjmhKhjUhhubj)}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjUhhhjmhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhj$hNhNubjՌ)}(hXA**Constants** ``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN`` PoDL PSE ``ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED`` "The enumeration “disabled” is asserted true when the PoDL PSE state diagram variable mr_pse_enable is false" ``ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING`` "The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING`` "The enumeration “deliveringPower” is asserted true when the PoDL PSE state diagram variable pi_powered is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP`` "The enumeration “sleep” is asserted true when the PoDL PSE state diagram variable pi_sleeping is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE`` "The enumeration “idle” is asserted true when the logical combination of the PoDL PSE state diagram variables pi_prebiased*!pi_sleeping is true." ``ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR`` "The enumeration “error” is asserted true when the PoDL PSE state diagram variable overload_held is true."h](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh](j)}(h2``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN`` PoDL PSE h](j)}(h(``ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN``h]h)}(hjh]h$ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./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&]uh1jhjhMhjubj)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED`` "The enumeration “disabled” is asserted true when the PoDL PSE state diagram variable mr_pse_enable is false" h](j)}(h)``ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED``h]h)}(hjh]h%ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./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”}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj1hMhjubj)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING`` "The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true." h](j)}(h*``ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING``h]h)}(hjVh]hÐTOOL_PODL_PSE_PW_D_STATUS_SEARCHING}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhM hjPubj)}(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.”}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhM hjlubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjkhM hjubj)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING`` "The enumeration “deliveringPower” is asserted true when the PoDL PSE state diagram variable pi_powered is true." h](j)}(h+``ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING``h]h)}(hjh]h'ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjubj)}(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.”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP`` "The enumeration “sleep” is asserted true when the PoDL PSE state diagram variable pi_sleeping is true." h](j)}(h&``ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP``h]h)}(hjh]h"ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE`` "The enumeration “idle” is asserted true when the logical combination of the PoDL PSE state diagram variables pi_prebiased*!pi_sleeping is true." h](j)}(h%``ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE``h]h)}(hjh]h!ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./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:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h``ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR`` "The enumeration “error” is asserted true when the PoDL PSE state diagram variable overload_held is true."h](j)}(h&``ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR``h]h)}(hj>h]h"ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhj8ubj)}(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.”}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMhjTubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhNhNubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh implementing }(hj~hhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubh% 30.9.1.1.5 aPSEPowerDetectionStatus.}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM=hj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@$ethtool_c33_pse_pw_d_status (C enum)c.ethtool_c33_pse_pw_d_statushNtauh1j3hj$hhhNhNubjE)}(hhh](jJ)}(hethtool_c33_pse_pw_d_statush]jP)}(h enum ethtool_c33_pse_pw_d_statush](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_c33_pse_pw_d_statush]j)}(hjh]hethtool_c33_pse_pw_d_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(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:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj#jЌj#jьjҌjӌuh1jDhhhj$hNhNubjՌ)}(hX**Constants** ``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN`` PSE status is unknown ``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED`` The enumeration "disabled" indicates that the PSE State diagram is in the state DISABLED. ``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING`` The enumeration "searching" indicates the PSE State diagram is in a state other than those listed. ``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING`` The enumeration "deliveringPower" indicates that the PSE State diagram is in the state POWER_ON. ``ETHTOOL_C33_PSE_PW_D_STATUS_TEST`` The enumeration "test" indicates that the PSE State diagram is in the state TEST_MODE. ``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT`` The enumeration "fault" indicates that the PSE State diagram is in the state TEST_ERROR. ``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT`` The enumeration "otherFault" indicates that the PSE State diagram is in the state IDLE due to the variable error_condition = true.h](h)}(h **Constants**h]jߌ)}(hj-h]h Constants}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj+ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhj'ubj)}(hhh](j)}(h>``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN`` PSE status is unknown h](j)}(h'``ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN``h]h)}(hjLh]h#ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjFubj)}(hhh]h)}(hPSE status is unknownh]hPSE status is unknown}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahMhjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahMhjCubj)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED`` The enumeration "disabled" indicates that the PSE State diagram is in the state DISABLED. h](j)}(h(``ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED``h]h)}(hjh]h$ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjCubj)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING`` The enumeration "searching" indicates the PSE State diagram is in a state other than those listed. h](j)}(h)``ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING``h]h)}(hjh]h%ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hbThe enumeration "searching" indicates the PSE State diagram is in a state other than those listed.h]hfThe enumeration “searching” indicates the PSE State diagram is in a state other than those listed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjCubj)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING`` The enumeration "deliveringPower" indicates that the PSE State diagram is in the state POWER_ON. h](j)}(h*``ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING``h]h)}(hjh]hÐTOOL_C33_PSE_PW_D_STATUS_DELIVERING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./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:1856: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjCubj)}(h|``ETHTOOL_C33_PSE_PW_D_STATUS_TEST`` The enumeration "test" indicates that the PSE State diagram is in the state TEST_MODE. h](j)}(h$``ETHTOOL_C33_PSE_PW_D_STATUS_TEST``h]h)}(hj3h]h ETHTOOL_C33_PSE_PW_D_STATUS_TEST}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhj-ubj)}(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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjIubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjHhMhjCubj)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT`` The enumeration "fault" indicates that the PSE State diagram is in the state TEST_ERROR. h](j)}(h%``ETHTOOL_C33_PSE_PW_D_STATUS_FAULT``h]h)}(hjmh]h!ETHTOOL_C33_PSE_PW_D_STATUS_FAULT}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjgubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjhMhjCubj)}(h``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT`` The enumeration "otherFault" indicates that the PSE State diagram is in the state IDLE due to the variable error_condition = true.h](j)}(h*``ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT``h]h)}(hjh]hÐTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1856: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjCubeh}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhNhNubh)}(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&]uh1hhhhMChj$hhubh)}(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}(hj"hhhNhNubah}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh= 30.9.1.1.23 aPSEActualPower. Actual power is reported in mW.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMHhj$hhubh)}(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 }(hjLhhhNhNubh)}(h``ETHTOOL_A_C33_PSE_EXT_STATE``h]hETHTOOL_A_C33_PSE_EXT_STATE}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubhS attribute identifies the extended error state of the C33 PSE. Possible values are:}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMMhj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@"ethtool_c33_pse_ext_state (C enum)c.ethtool_c33_pse_ext_statehNtauh1j3hj$hhhNhNubjE)}(hhh](jJ)}(hethtool_c33_pse_ext_stateh]jP)}(henum ethtool_c33_pse_ext_stateh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_c33_pse_ext_stateh]j)}(hjh]hethtool_c33_pse_ext_state}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhj}hhhjhKubah}(h]jxah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjzhhubj)}(hhh]h)}(hKgroups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hKgroups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjzhhhjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhj$hNhNubjՌ)}(hX**Constants** ``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION`` Group of error_condition states ``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID`` Group of mr_mps_valid states ``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE`` Group of mr_pse_enable states ``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED`` Group of option_detect_ted states ``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM`` Group of option_vport_lim states ``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED`` Group of ovld_detected states ``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE`` Group of pd_dll_power_type states ``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE`` Group of power_not_available states ``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED`` Group of short_detected statesh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh](j)}(hN``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION`` Group of error_condition states h](j)}(h-``ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION``h]h)}(hjh]h)ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(hGroup of error_condition statesh]hGroup of error_condition states}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hH``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID`` Group of mr_mps_valid states h](j)}(h*``ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID``h]h)}(hjAh]hÐTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhj;ubj)}(hhh]h)}(hGroup of mr_mps_valid statesh]hGroup of mr_mps_valid states}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVhMhjWubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhMhjubj)}(hJ``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE`` Group of mr_pse_enable states h](j)}(h+``ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE``h]h)}(hjzh]h'ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjtubj)}(hhh]h)}(hGroup of mr_pse_enable statesh]hGroup of mr_pse_enable states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hR``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED`` Group of option_detect_ted states h](j)}(h/``ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED``h]h)}(hjh]h+ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h!Group of option_detect_ted statesh]h!Group of option_detect_ted states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hP``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM`` Group of option_vport_lim states h](j)}(h.``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM``h]h)}(hjh]h*ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./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&]uh1jhjhM hjubj)}(hJ``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED`` Group of ovld_detected states h](j)}(h+``ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED``h]h)}(hj&h]h'ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhj ubj)}(hhh]h)}(hGroup of ovld_detected statesh]hGroup of ovld_detected states}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hMhj<ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj;hMhjubj)}(hR``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE`` Group of pd_dll_power_type states h](j)}(h/``ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE``h]h)}(hj_h]h+ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjYubj)}(hhh]h)}(h!Group of pd_dll_power_type statesh]h!Group of pd_dll_power_type states}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjuubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjthMhjubj)}(hV``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE`` Group of power_not_available states h](j)}(h1``ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE``h]h)}(hjh]h-ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h#Group of power_not_available statesh]h#Group of power_not_available states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(hK``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED`` Group of short_detected statesh](j)}(h,``ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED``h]h)}(hjh]h(ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1872: ./include/uapi/linux/ethtool.hhMhjubj)}(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:1872: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhNhNubh)}(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&]uh1hhhhMShj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@5ethtool_c33_pse_ext_substate_error_condition (C enum).c.ethtool_c33_pse_ext_substate_error_conditionhNtauh1j3hj$hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhNubjE)}(hhh](jJ)}(h,ethtool_c33_pse_ext_substate_error_conditionh]jP)}(h1enum ethtool_c33_pse_ext_substate_error_conditionh](jV)}(hjYh]henum}(hjNhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjJhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hj\hhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjJhhhj[hKubjy)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j)}(hjHh]h,ethtool_c33_pse_ext_substate_error_condition}(hjnhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjJhhhj[hKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjFhhhj[hKubah}(h]j@ah ](jjeh"]h$]h&]jj)jhuh1jIhj[hKhjChhubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM&hjhhubah}(h]h ]h"]h$]h&]uh1jhjChhhj[hKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhj$hjBhNubjՌ)}(hXq**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT`` Non-existing port number ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT`` Undefined port ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT`` Internal hardware fault ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON`` Communication error after force on ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS`` Unknown port status ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF`` Host crash turn off ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN`` Host crash force shutdown ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE`` Configuration change ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP`` Over temperature detectedh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM*hjubj)}(hhh](j)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT`` Non-existing port number h](j)}(hB``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT``h]h)}(hjh]h>ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM.hjubj)}(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:1879: ./include/uapi/linux/ethtool.hhM-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM.hjubj)}(hO``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT`` Undefined port h](j)}(h?``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT``h]h)}(hj h]h;ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM1hjubj)}(hhh]h)}(hUndefined porth]hUndefined port}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM1hj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hM1hjubj)}(h[``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT`` Internal hardware fault h](j)}(hB``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT``h]h)}(hjDh]h>ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM5hj>ubj)}(hhh]h)}(hInternal hardware faulth]hInternal hardware fault}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM4hjZubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjYhM5hjubj)}(hn``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON`` Communication error after force on h](j)}(hJ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON``h]h)}(hj~h]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM8hjxubj)}(hhh]h)}(h"Communication error after force onh]h"Communication error after force on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM8hjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjhM8hjubj)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS`` Unknown port status h](j)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS``h]h)}(hjh]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM<hjubj)}(hhh]h)}(hUnknown port statush]hUnknown port status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM<hjubj)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF`` Host crash turn off h](j)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF``h]h)}(hjh]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM@hjubj)}(hhh]h)}(hHost crash turn offh]hHost crash turn off}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM@hjubj)}(he``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN`` Host crash force shutdown h](j)}(hJ``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN``h]h)}(hj+h]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMChj%ubj)}(hhh]h)}(hHost crash force shutdownh]hHost crash force shutdown}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hMChjAubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj@hMChjubj)}(hT``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE`` Configuration change h](j)}(h>``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE``h]h)}(hjdh]h:ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMGhj^ubj)}(hhh]h)}(hConfiguration changeh]hConfiguration change}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMFhjzubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhjyhMGhjubj)}(h]``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP`` Over temperature detectedh](j)}(hC``ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP``h]h)}(hjh]h?ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMJhjubj)}(hhh]h)}(hOver temperature detectedh]hOver temperature detected}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMJhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMJhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhjBhNubh)}(h**Description**h]jߌ)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMMhj$hhubh)}(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:1879: ./include/uapi/linux/ethtool.hhM:hj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@3ethtool_c33_pse_ext_substate_mr_pse_enable (C enum),c.ethtool_c33_pse_ext_substate_mr_pse_enablehNtauh1j3hj$hhhjBhNubjE)}(hhh](jJ)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]jP)}(h/enum ethtool_c33_pse_ext_substate_mr_pse_enableh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMCubjh)}(h h]h }(hj,hhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhj+hMCubjy)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]j)}(hjh]h*ethtool_c33_pse_ext_substate_mr_pse_enable}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hj:ubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhj+hMCubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhj+hMCubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhj+hMChjhhubj)}(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}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMNhj]hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj+hMCubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjxjЌjxjьjҌjӌuh1jDhhhj$hjBhNubjՌ)}(hg**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE`` Disable pin activeh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMRhj|ubj)}(hhh]j)}(hT``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE`` Disable pin activeh](j)}(hA``ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE``h]h)}(hjh]h=ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMUhjubj)}(hhh]h)}(hDisable pin activeh]hDisable pin active}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMUhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMUhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhjBhNubh)}(h**Description**h]jߌ)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMXhj$hhubh)}(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:1879: ./include/uapi/linux/ethtool.hhMShj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@7ethtool_c33_pse_ext_substate_option_detect_ted (C enum)0c.ethtool_c33_pse_ext_substate_option_detect_tedhNtauh1j3hj$hhhjBhNubjE)}(hhh](jJ)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]jP)}(h3enum ethtool_c33_pse_ext_substate_option_detect_tedh](jV)}(hjYh]henum}(hj!hhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMYubjh)}(h h]h }(hj/hhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhj.hMYubjy)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]j)}(hjh]h.ethtool_c33_pse_ext_substate_option_detect_ted}(hjAhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hj=ubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhj.hMYubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhj.hMYubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhj.hMYhjhhubj)}(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}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM\hj`hhubah}(h]h ]h"]h$]h&]uh1jhjhhhj.hMYubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj{jЌj{jьjҌjӌuh1jDhhhj$hjBhNubjՌ)}(h**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS`` Detection in process ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR`` Connection check errorh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM`hjubj)}(hhh](j)}(hW``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS`` Detection in process h](j)}(hA``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS``h]h)}(hjh]h=ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMdhjubj)}(hhh]h)}(hDetection in processh]hDetection in process}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMchjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMdhjubj)}(h```ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR`` Connection check errorh](j)}(hI``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR``h]h)}(hjh]hEETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMfhjubj)}(hhh]h)}(hConnection check errorh]hConnection check error}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMghjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMfhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhjBhNubh)}(h**Description**h]jߌ)}(hj!h]h Description}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMihj$hhubh)}(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.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMchj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@6ethtool_c33_pse_ext_substate_option_vport_lim (C enum)/c.ethtool_c33_pse_ext_substate_option_vport_limhNtauh1j3hj$hhhjBhNubjE)}(hhh](jJ)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]jP)}(h2enum ethtool_c33_pse_ext_substate_option_vport_limh](jV)}(hjYh]henum}(hj_hhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhj[hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMiubjh)}(h h]h }(hjmhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghj[hhhjlhMiubjy)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j)}(hjYh]h-ethtool_c33_pse_ext_substate_option_vport_lim}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hj{ubah}(h]h ](jjeh"]h$]h&]jjuh1jxhj[hhhjlhMiubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjWhhhjlhMiubah}(h]jRah ](jjeh"]h$]h&]jj)jhuh1jIhjlhMihjThhubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMmhjhhubah}(h]h ]h"]h$]h&]uh1jhjThhhjlhMiubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhj$hjBhNubjՌ)}(hX4**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE`` Main supply voltage is high ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE`` Main supply voltage is low ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION`` Voltage injection into the porth](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMqhjubj)}(hhh](j)}(h[``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE`` Main supply voltage is high h](j)}(h>``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE``h]h)}(hjh]h:ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMuhjubj)}(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:1879: ./include/uapi/linux/ethtool.hhMthjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMuhjubj)}(hY``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE`` Main supply voltage is low h](j)}(h=``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE``h]h)}(hjh]h9ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMyhjubj)}(hhh]h)}(hMain supply voltage is lowh]hMain supply voltage is low}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMxhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj1hMyhjubj)}(hc``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION`` Voltage injection into the porth](j)}(hC``ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION``h]h)}(hjVh]h?ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM|hjPubj)}(hhh]h)}(hVoltage injection into the porth]hVoltage injection into the port}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhM|hjlubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjkhM|hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhjBhNubh)}(h**Description**h]jߌ)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhj$hhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMvhj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@3ethtool_c33_pse_ext_substate_ovld_detected (C enum),c.ethtool_c33_pse_ext_substate_ovld_detectedhNtauh1j3hj$hhhjBhNubjE)}(hhh](jJ)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]jP)}(h/enum ethtool_c33_pse_ext_substate_ovld_detectedh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhM|ubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhM|ubjy)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j)}(hjh]h*ethtool_c33_pse_ext_substate_ovld_detected}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhM|ubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhM|ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhM|hjhhubj)}(hhh]h)}(hBovld_detected states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hBovld_detected states functions. IEEE 802.3-2022 33.2.4.4 Variables}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM|ubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj0jЌj0jьjҌjӌuh1jDhhhj$hjBhNubjՌ)}(hW**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](h)}(h **Constants**h]jߌ)}(hj:h]h Constants}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj8ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhj4ubj)}(hhh]j)}(hF``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](j)}(h7``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD``h]h)}(hjYh]h3ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhjSubj)}(hhh]h)}(hOverload stateh]hOverload state}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhjoubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjnhMhjPubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj$hhhjBhNubh)}(h**Description**h]jߌ)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhj$hhubh)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhj$hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@9ethtool_c33_pse_ext_substate_power_not_available (C enum)2c.ethtool_c33_pse_ext_substate_power_not_availablehNtauh1j3hj$hhhjBhNubjE)}(hhh](jJ)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]jP)}(h5enum ethtool_c33_pse_ext_substate_power_not_availableh](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhMubjy)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j)}(hjh]h0ethtool_c33_pse_ext_substate_power_not_available}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhMubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhMubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhMhjhhubj)}(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:1879: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj4jЌj4jьjҌjӌuh1jDhhhj$hjBhNubjՌ)}(hX **Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED`` Power budget exceeded for the controller ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET`` Configured port power limit exceeded controller power budget ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT`` Power request from PD exceeds port limit ``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT`` Power denied due to Hardware power limith](h)}(h **Constants**h]jߌ)}(hj>h]h Constants}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj<ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhj8ubj)}(hhh](j)}(hn``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED`` Power budget exceeded for the controller h](j)}(hD``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED``h]h)}(hj]h]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhjWubj)}(hhh]h)}(h(Power budget exceeded for the controllerh]h(Power budget exceeded for the controller}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhMhjTubj)}(h``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET`` Configured port power limit exceeded controller power budget h](j)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET``h]h)}(hjh]hXETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1879: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]h)}(h in 145.2.5.4 Variables, which are described in power classes.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjChhubh)}(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.}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjChhubh)}(hWhen set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to control the PSE priority. Allowed priority value are between zero and the value of ``ETHTOOL_A_PSE_PRIO_MAX`` attribute.h](hWhen set, the optional }(hjAhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO``h]hETHTOOL_A_PSE_PRIO}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubhj attributes is used to control the PSE priority. Allowed priority value are between zero and the value of }(hjAhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO_MAX``h]hETHTOOL_A_PSE_PRIO_MAX}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubh attribute.}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjChhubh)}(hA lower value indicates a higher priority, meaning that a priority value of 0 corresponds to the highest port priority. Port priority serves two functions:h]hA lower value indicates a higher priority, meaning that a priority value of 0 corresponds to the highest port priority. Port priority serves two functions:}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjChhubj)}(hX- Power-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first. - Shutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first. h]j0)}(hhh](j0)}(hPower-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first.h]h)}(hPower-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first.h]hPower-up Order: After a reset, ports are powered up in order of their priority from highest to lowest. Ports with higher priority (lower values) power up first.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j0hjubj0)}(hsShutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first. h]h)}(hrShutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first.h]hrShutdown Order: When the power budget is exceeded, ports with lower priority (higher values) are turned off first.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1j0hjubeh}(h]h ]h"]h$]h&]jN1jO1uh1j0hhhMhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjChhubeh}(h]pse-setah ]h"]pse_setah$]h&]uh1hhhhhhhhMvubh)}(hhh](h)}(hPSE_NTFh]hPSE_NTF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hNotify PSE events.h]hNotify PSE events.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h=============================== ====== ======================== ``ETHTOOL_A_PSE_HEADER`` nested request header ``ETHTOOL_A_PSE_EVENTS`` bitset PSE events =============================== ====== ======================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(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}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hrequest headerh]hrequest header}(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)}(h``ETHTOOL_A_PSE_EVENTS``h]h)}(hjh]hETHTOOL_A_PSE_EVENTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(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)}(h PSE eventsh]h PSE events}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hTWhen set, the optional ``ETHTOOL_A_PSE_EVENTS`` attribute identifies the PSE events.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_EVENTS``h]hETHTOOL_A_PSE_EVENTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh% attribute identifies the PSE events.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@ethtool_pse_event (C enum)c.ethtool_pse_eventhNtauh1j3hjhhhNhNubjE)}(hhh](jJ)}(hethtool_pse_eventh]jP)}(henum ethtool_pse_eventh](jV)}(hjYh]henum}(hj$hhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhj hhh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKubjh)}(h h]h }(hj2hhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghj hhhj1hKubjy)}(hethtool_pse_eventh]j)}(hjh]hethtool_pse_event}(hjDhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hj@ubah}(h]h ](jjeh"]h$]h&]jjuh1jxhj hhhj1hKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhj1hKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhj1hKhjhhubj)}(hhh]h)}(h%PSE event list for the PSE controllerh]h%PSE event list for the PSE controller}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhK6hjchhubah}(h]h ]h"]h$]h&]uh1jhjhhhj1hKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόj~jЌj~jьjҌjӌuh1jDhhhjhNhNubjՌ)}(hX**Constants** ``ETHTOOL_PSE_EVENT_OVER_CURRENT`` PSE output current is too high ``ETHTOOL_PSE_EVENT_OVER_TEMP`` PSE in over temperature state ``ETHTOOL_C33_PSE_EVENT_DETECTION`` detection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatus ``ETHTOOL_C33_PSE_EVENT_CLASSIFICATION`` classification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification. ``ETHTOOL_C33_PSE_EVENT_DISCONNECTION`` PD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter. ``ETHTOOL_PSE_EVENT_OVER_BUDGET`` PSE turned off due to over budget situation ``ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR`` PSE faced an error managing the power control from softwareh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhK:hjubj)}(hhh](j)}(hB``ETHTOOL_PSE_EVENT_OVER_CURRENT`` PSE output current is too high h](j)}(h"``ETHTOOL_PSE_EVENT_OVER_CURRENT``h]h)}(hjh]hETHTOOL_PSE_EVENT_OVER_CURRENT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhK=hjubj)}(hhh]h)}(hPSE output current is too highh]hPSE output current is too high}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK=hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK=hjubj)}(h>``ETHTOOL_PSE_EVENT_OVER_TEMP`` PSE in over temperature state h](j)}(h``ETHTOOL_PSE_EVENT_OVER_TEMP``h]h)}(hjh]hETHTOOL_PSE_EVENT_OVER_TEMP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhK@hjubj)}(hhh]h)}(hPSE in over temperature stateh]hPSE in over temperature state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK@hjubj)}(h``ETHTOOL_C33_PSE_EVENT_DETECTION`` detection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatus h](j)}(h#``ETHTOOL_C33_PSE_EVENT_DETECTION``h]h)}(hjh]hETHTOOL_C33_PSE_EVENT_DETECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKEhjubj)}(hhh]h)}(hdetection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatush]hdetection process occur on the PSE. IEEE 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5 aPSEPowerDetectionStatus}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKChj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj.hKEhjubj)}(h``ETHTOOL_C33_PSE_EVENT_CLASSIFICATION`` classification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification. h](j)}(h(``ETHTOOL_C33_PSE_EVENT_CLASSIFICATION``h]h)}(hjSh]h$ETHTOOL_C33_PSE_EVENT_CLASSIFICATION}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKJhjMubj)}(hhh]h)}(hclassification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification.h]hclassification process occur on the PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKHhjiubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjhhKJhjubj)}(h``ETHTOOL_C33_PSE_EVENT_DISCONNECTION`` PD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter. h](j)}(h'``ETHTOOL_C33_PSE_EVENT_DISCONNECTION``h]h)}(hjh]h#ETHTOOL_C33_PSE_EVENT_DISCONNECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKPhjubj)}(hhh]h)}(hPD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter.h]hPD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 aPSEMPSAbsentCounter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKPhjubj)}(hN``ETHTOOL_PSE_EVENT_OVER_BUDGET`` PSE turned off due to over budget situation h](j)}(h!``ETHTOOL_PSE_EVENT_OVER_BUDGET``h]h)}(hjh]hETHTOOL_PSE_EVENT_OVER_BUDGET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKShjubj)}(hhh]h)}(h+PSE turned off due to over budget situationh]h+PSE turned off due to over budget situation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKShjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKShjubj)}(he``ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR`` PSE faced an error managing the power control from softwareh](j)}(h)``ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR``h]h)}(hjh]h%ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1975: ./include/uapi/linux/ethtool_netlink_generated.hhKVhjubj)}(hhh]h)}(h;PSE faced an error managing the power control from softwareh]h;PSE faced an error managing the power control from software}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKVhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKVhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhNhNubeh}(h]pse-ntfah ]h"]pse_ntfah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_GETh]hRSS_GET}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhhhhhMubh)}(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 }(hjYhhhNhNubh)}(h``ETHTOOL_GRSSH``h]h ETHTOOL_GRSSH}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubh ioctl request.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjHhhubh)}(hRequest contents:h]hRequest contents:}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjh]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hj h]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj(ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_START_CONTEXT``h]h)}(hjdh]hETHTOOL_A_RSS_START_CONTEXT}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj\ubj)}(hhh]h)}(hstart context number (dumps)h]hstart context number (dumps)}(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&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjHhhhhhNubh)}(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&]uh1hhhhMhjHhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHhhubj)}(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)}(hj1h]hETHTOOL_A_RSS_HEADER}(hj3hhhNhNubah}(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}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h reply headerh]h reply header}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj&ubj)}(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&]uh1jhj&ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hj6h]hETHTOOL_A_RSS_INDIR}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hbinaryh]hbinary}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hjh]hETHTOOL_A_RSS_HKEY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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&]uh1jhj&ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_FLOW_HASH``h]h)}(hj;h]hETHTOOL_A_RSS_FLOW_HASH}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hnestedh]hnested}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hHeader fields included in hashh]hHeader fields included in hash}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjHhhhhhNubh)}(hX8ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function being used. Current supported options are toeplitz, xor or crc32. ETHTOOL_A_RSS_INDIR attribute returns RSS indirection table where each byte indicates queue number. ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of transformation applied to the input protocol fields before given to the RSS hfunc. Current supported options are symmetric-xor and symmetric-or-xor. ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header fields are included in the hash calculation.h]hX8ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function being used. Current supported options are toeplitz, xor or crc32. ETHTOOL_A_RSS_INDIR attribute returns RSS indirection table where each byte indicates queue number. ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of transformation applied to the input protocol fields before given to the RSS hfunc. Current supported options are symmetric-xor and symmetric-or-xor. ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header fields are included in the hash calculation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHhhubeh}(h]rss-getah ]h"]rss_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_SETh]hRSS_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjh]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjXh]hETHTOOL_A_RSS_CONTEXT}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjsubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HFUNC``h]h)}(hjh]hETHTOOL_A_RSS_HFUNC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h RSS hash funch]h RSS hash func}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hjh]hETHTOOL_A_RSS_INDIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hj]h]hETHTOOL_A_RSS_HKEY}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1hhhhMhjXubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hbinaryh]hbinary}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INPUT_XFRM``h]h)}(hjh]hETHTOOL_A_RSS_INPUT_XFRM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hRSS input data transformationh]hRSS input data transformation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_FLOW_HASH``h]h)}(hj h]hETHTOOL_A_RSS_FLOW_HASH}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHeader fields included in hashh]hHeader fields included in hash}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hX``ETHTOOL_A_RSS_INDIR`` is the minimal RSS table the user expects. Kernel and the device driver may replicate the table if its smaller than smallest table size supported by the device. For example if user requests ``[0, 1]`` but the device needs at least 8 entries - the real table in use will end up being ``[0, 1, 0, 1, 0, 1, 0, 1]``. Most devices require the table size to be power of 2, so tables which size is not a power of 2 will likely be rejected. Using table of size 0 will reset the indirection table to the default.h](h)}(h``ETHTOOL_A_RSS_INDIR``h]hETHTOOL_A_RSS_INDIR}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubh is the minimal RSS table the user expects. Kernel and the device driver may replicate the table if its smaller than smallest table size supported by the device. For example if user requests }(hjmhhhNhNubh)}(h ``[0, 1]``h]h[0, 1]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubhS but the device needs at least 8 entries - the real table in use will end up being }(hjmhhhNhNubh)}(h``[0, 1, 0, 1, 0, 1, 0, 1]``h]h[0, 1, 0, 1, 0, 1, 0, 1]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubh. Most devices require the table size to be power of 2, so tables which size is not a power of 2 will likely be rejected. Using table of size 0 will reset the indirection table to the default.}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]rss-setah ]h"]rss_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_CREATE_ACTh]hRSS_CREATE_ACT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(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}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjZh]hETHTOOL_A_RSS_CONTEXT}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(hu32h]hu32}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(hcontext numberh]hcontext number}(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_RSS_HFUNC``h]h)}(hjh]hETHTOOL_A_RSS_HFUNC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h RSS hash funch]h RSS hash func}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hjh]hETHTOOL_A_RSS_INDIR}(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}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hj_h]hETHTOOL_A_RSS_HKEY}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hbinaryh]hbinary}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(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_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&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(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_RSS_HEADER``h]h)}(hjUh]hETHTOOL_A_RSS_HEADER}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhM hjPubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hnestedh]hnested}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjpubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1j hj)ubeh}(h]h ]h"]h$]h&]colsKuh1jhj&ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hwCreate an additional RSS context, if ``ETHTOOL_A_RSS_CONTEXT`` is not specified kernel will allocate one automatically.h](h%Create an additional RSS context, if }(hjhhhNhNubh)}(h``ETHTOOL_A_RSS_CONTEXT``h]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh9 is not specified kernel will allocate one automatically.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]rss-create-actah ]h"]rss_create_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_DELETE_ACTh]hRSS_DELETE_ACT}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hhhhhMubh)}(hRequest contents:h]hRequest contents:}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubj)}(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_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&]uh1jhj|ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1j hjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjUubah}(h]h ]h"]h$]h&]uh1jhj6hhhhhNubh)}(h!Delete an additional RSS context.h]h!Delete an additional RSS context.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6hhubeh}(h]rss-delete-actah ]h"]rss_delete_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PLCA_GET_CFGh]h PLCA_GET_CFG}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShhhhhM!ubh)}(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.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjShhubh)}(hRequest contents:h]hRequest contents:}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjShhubj)}(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)hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM(hjShhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjShhubj)}(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&uh1jhj0ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj0ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj0ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hj\h]hETHTOOL_A_PLCA_HEADER}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1hhhhM/hjWubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hnestedh]hnested}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjwubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(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&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjubah}(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&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_ENABLED``h]h)}(hj h]hETHTOOL_A_PLCA_ENABLED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM2hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hj%ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM2hj<ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hjah]hETHTOOL_A_PLCA_NODE_ID}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubah}(h]h ]h"]h$]h&]uh1hhhhM3hj\ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hj|ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM3hjubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(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&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(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&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_TO_TMR``h]h)}(hjh]hETHTOOL_A_PLCA_TO_TMR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhM7hj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hj*ubah}(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)}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjAubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hjfh]hETHTOOL_A_PLCA_BURST_CNT}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubah}(h]h ]h"]h$]h&]uh1hhhhM9hjaubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hKNumber of additional packets the node is allowed to send within a single TOh]hKNumber of additional packets the node is allowed to send within a single TO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9hjubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(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&]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)}(hMTime to wait for the MAC to transmit a new frame before terminating the bursth]hMTime to wait for the MAC to transmit a new frame before terminating the burst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1j hj0ubeh}(h]h ]h"]h$]h&]colsKuh1jhj-ubah}(h]h ]h"]h$]h&]uh1jhj)ubah}(h]h ]h"]h$]h&]uh1jhhhM.hjShhubh)}(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 }(hj% hhhNhNubh)}(h``ETHTOOL_A_PLCA_VERSION``h]hETHTOOL_A_PLCA_VERSION}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj% ubhX[ 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 }(hj% hhhNhNubj~)}(h-https://www.opensig.org/about/specifications/h]h-https://www.opensig.org/about/specifications/}(hj? hhhNhNubah}(h]h ]h"]h$]h&]refurijA uh1j~hj% ubh.}(hj% hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMAhjShhubh)}(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 }(hjX hhhNhNubh)}(h``ETHTOOL_A_PLCA_ENABLED``h]hETHTOOL_A_PLCA_ENABLED}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX ubh 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 }(hjX hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX ubh> 30.16.1.1.1 aPLCAAdminState / 30.16.1.2.1 acPLCAAdminControl.}(hjX hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMHhjShhubh)}(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}(hj hhhNhNubah}(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}(hj hhhNhNubah}(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&]uh1hhhhMMhjShhubh)}(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 }(hj hhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]hETHTOOL_A_PLCA_NODE_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubhXi 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 }(hj hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubhN 30.16.1.1.3 aPLCANodeCount. The valid range for this attribute is [1 .. 255].}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMShjShhubh)}(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 }(hj hhhNhNubh)}(h``ETHTOOL_A_PLCA_TO_TMR``h]hETHTOOL_A_PLCA_TO_TMR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh 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 }(hj hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh] 30.16.1.1.5 aPLCATransmitOpportunityTimer. The valid range for this attribute is [0 .. 255].}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM[hjShhubh)}(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 }(hj hhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]hETHTOOL_A_PLCA_BURST_CNT}(hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubhX+ 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 }(hj hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj: hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubhR 30.16.1.1.6 aPLCAMaxBurstCount. The valid range for this attribute is [0 .. 255].}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMbhjShhubh)}(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 }(hjR hhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]hETHTOOL_A_PLCA_BURST_TMR}(hjZ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR ubhXV attribute indicates how many bit-times the PLCA RS waits for the MAC to initiate a new transmission when aPLCAMaxBurstCount is greater than 0. If the MAC fails to send a new frame within this time, the burst ends and the counting of TOs resumes. Otherwise, the new frame is sent as part of the current burst. This option is corresponding to }(hjR hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR ubh 30.16.1.1.7 aPLCABurstTimer. The valid range for this attribute is [0 .. 255]. Although, the value should be set greater than the Inter-Frame-Gap (IFG) time of the MAC (plus some margin) for PLCA burst mode to work as intended.}(hjR hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMmhjShhubeh}(h] plca-get-cfgah ]h"] plca_get_cfgah$]h&]uh1hhhhhhhhM!ubh)}(hhh](h)}(h PLCA_SET_CFGh]h PLCA_SET_CFG}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMxubh)}(hSets PLCA RS parameters.h]hSets PLCA RS parameters.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj hhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj hhubj)}(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&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)}(hj h]hETHTOOL_A_PLCA_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_ENABLED``h]h)}(hjC h]hETHTOOL_A_PLCA_ENABLED}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjA ubah}(h]h ]h"]h$]h&]uh1hhhhMhj> ubah}(h]h ]h"]h$]h&]uh1jhj; ubj)}(hhh]h)}(hu8h]hu8}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj^ ubah}(h]h ]h"]h$]h&]uh1jhj; ubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhju ubah}(h]h ]h"]h$]h&]uh1jhj; ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hj h]hETHTOOL_A_PLCA_NODE_ID}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(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_PLCA_NODE_CNT``h]h)}(hj h]hETHTOOL_A_PLCA_NODE_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]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>Number of PLCA nodes on the network, including the coordinatorh]h>Number of PLCA nodes on the network, including the coordinator}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj# ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_TO_TMR``h]h)}(hjH h]hETHTOOL_A_PLCA_TO_TMR}(hjJ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF ubah}(h]h ]h"]h$]h&]uh1hhhhMhjC ubah}(h]h ]h"]h$]h&]uh1jhj@ ubj)}(hhh]h)}(hu8h]hu8}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjc ubah}(h]h ]h"]h$]h&]uh1jhj@ ubj)}(hhh]h)}(h2Transmit Opportunity Timer value in bit-times (BT)h]h2Transmit Opportunity Timer value in bit-times (BT)}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjz ubah}(h]h ]h"]h$]h&]uh1jhj@ ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hj h]hETHTOOL_A_PLCA_BURST_CNT}(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)}(hKNumber of additional packets the node is allowed to send within a single TOh]hKNumber of additional packets the node is allowed to send within a single TO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]h)}(hj h]hETHTOOL_A_PLCA_BURST_TMR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]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)}(hMTime to wait for the MAC to transmit a new frame before terminating the bursth]hMTime to wait for the MAC to transmit a new frame before terminating the burst}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj( ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhM~hj hhubh)}(h:For a description of each attribute, see ``PLCA_GET_CFG``.h](h)For a description of each attribute, see }(hj^ hhhNhNubh)}(h``PLCA_GET_CFG``h]h PLCA_GET_CFG}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ ubh.}(hj^ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h] plca-set-cfgah ]h"] plca_set_cfgah$]h&]uh1hhhhhhhhMxubh)}(hhh](h)}(hPLCA_GET_STATUSh]hPLCA_GET_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(h Gets PLCA RS status information.h]h Gets PLCA RS status information.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_PLCA_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%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)}(hj h]hETHTOOL_A_PLCA_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(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&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1j hj 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:}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hX$====================================== ====== ============================= ``ETHTOOL_A_PLCA_HEADER`` nested reply header ``ETHTOOL_A_PLCA_STATUS`` u8 PLCA RS operational status ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjcubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjcubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjcubj )}(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)}(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_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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjcubeh}(h]h ]h"]h$]h&]colsKuh1jhj`ubah}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(hWhen set, the ``ETHTOOL_A_PLCA_STATUS`` attribute indicates whether the node is detecting the presence of the BEACON on the network. This flag is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.2 aPLCAStatus.h](hWhen set, the }(hjNhhhNhNubh)}(h``ETHTOOL_A_PLCA_STATUS``h]hETHTOOL_A_PLCA_STATUS}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh| attribute indicates whether the node is detecting the presence of the BEACON on the network. This flag is corresponding to }(hjNhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh 30.16.1.1.2 aPLCAStatus.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]plca-get-statusah ]h"]plca_get_statusah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_GETh]hMM_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(h$Retrieve 802.3 MAC Merge parameters.h]h$Retrieve 802.3 MAC Merge parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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&]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&]uh1j hjubeh}(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:}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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!uh1jhjeubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjeubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjeubj )}(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&]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_MM_PMAC_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_PMAC_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4set if RX of preemptible and SMD-V frames is enabledh]h4set if RX of preemptible and SMD-V frames is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hj?h]hETHTOOL_A_MM_TX_ENABLED}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhMhj:ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hboolh]hbool}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(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)}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]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)}(h8set if TX of preemptible frames is operationally enabledh]h8set if TX of preemptible frames is operationally enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE``h]h)}(hjh]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h:minimum size of transmitted non-final fragments, in octetsh]h:minimum size of transmitted non-final fragments, in octets}(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_MM_RX_MIN_FRAG_SIZE``h]h)}(hjDh]hETHTOOL_A_MM_RX_MIN_FRAG_SIZE}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hu32h]hu32}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(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}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h5set if TX of SMD-V frames is administratively enabledh]h5set if TX of SMD-V frames is administratively enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h"state of the verification functionh]h"state of the verification function}(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_MM_VERIFY_TIME``h]h)}(hjIh]hETHTOOL_A_MM_VERIFY_TIME}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hu32h]hu32}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(h#delay between verification attemptsh]h#delay between verification attempts}(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_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&]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)}(h1maximum verification interval supported by deviceh]h1maximum verification interval supported by device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_STATS``h]h)}(hjh]hETHTOOL_A_MM_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEIEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics countersh]hEIEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics counters}(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&]uh1j hjeubeh}(h]h ]h"]h$]h&]colsKuh1jhjbubah}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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:}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@ethtool_mm_state (C struct)c.ethtool_mm_statehNtauh1j3hjhhhNhNubjE)}(hhh](jJ)}(hethtool_mm_stateh]jP)}(hstruct ethtool_mm_stateh](jV)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_mm_stateh]j)}(hjh]hethtool_mm_state}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhj~hhhjhKubah}(h]jyah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhj{hhubj)}(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:2254: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhj{hhhjhKubeh}(h]h ](jɌstructeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhjhNhNubjՌ)}(hX**Definition**:: struct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; }; **Members** ``verify_time`` wait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime) ``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests ``verify_status`` state of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify) ``tx_enabled`` set if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx) ``tx_active`` set if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled. ``pmac_enabled`` set if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames. ``verify_enabled`` set if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as **pmac_enabled** is set. ``tx_min_frag_size`` the minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here. ``rx_min_frag_size`` the minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h](h)}(h**Definition**::h](jߌ)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubj̐)}(hXstruct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; };h]hXstruct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; };}hjsbah}(h]h ]h"]h$]h&]jjuh1jːhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]jߌ)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubj)}(hhh](j)}(hr``verify_time`` wait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime) h](j)}(h``verify_time``h]h)}(hj5h]h verify_time}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhj/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)}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjKubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhjJhMhj,ubj)}(h\``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests h](j)}(h``max_verify_time``h]h)}(hjoh]hmax_verify_time}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjiubj)}(hhh]h)}(hGmaximum accepted value for the **verify_time** variable in set requestsh](hmaximum accepted value for the }(hjhhhNhNubjߌ)}(h**verify_time**h]h verify_time}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubh variable in set requests}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjhMhj,ubj)}(h``verify_status`` state of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify) h](j)}(h``verify_status``h]h)}(hjh]h verify_status}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubj)}(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:2254: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj,ubj)}(h``tx_enabled`` set if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx) h](j)}(h``tx_enabled``h]h)}(hjh]h tx_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./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)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hMhj,ubj)}(h``tx_active`` set if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled. h](j)}(h ``tx_active``h]h)}(hj.h]h tx_active}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhj(ubj)}(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.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjDubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjChMhj,ubj)}(h``pmac_enabled`` set if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames. h](j)}(h``pmac_enabled``h]h)}(hjhh]h pmac_enabled}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjbubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhj~ubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj}hMhj,ubj)}(hX``verify_enabled`` set if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as **pmac_enabled** is set. h](j)}(h``verify_enabled``h]h)}(hjh]hverify_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./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 }(hjhhhNhNubjߌ)}(h**pmac_enabled**h]h pmac_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubh is set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj,ubj)}(hX``tx_min_frag_size`` the minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here. h](j)}(h``tx_min_frag_size``h]h)}(hjh]htx_min_frag_size}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./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:2254: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj,ubj)}(h~``rx_min_frag_size`` the minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h](j)}(h``rx_min_frag_size``h]h)}(hj(h]hrx_min_frag_size}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhj"ubj)}(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.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=hMhj>ubah}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ]h"]h$]h&]uh1jhj=hMhj,ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhNhNubh)}(hEThe ``ETHTOOL_A_MM_VERIFY_STATUS`` will report one of the values fromh](hThe }(hjhhhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]hETHTOOL_A_MM_VERIFY_STATUS}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubh# will report one of the values from}(hjhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@!ethtool_mm_verify_status (C enum)c.ethtool_mm_verify_statushNtauh1j3hjhhhNhNubjE)}(hhh](jJ)}(hethtool_mm_verify_statush]jP)}(henum ethtool_mm_verify_statush](jV)}(hjYh]henum}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./include/uapi/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_mm_verify_statush]j)}(hjh]hethtool_mm_verify_status}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(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:2259: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌenumeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhjhNhNubjՌ)}(hXg**Constants** ``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN`` verification status is unknown ``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` the 802.3 Verify State diagram is in the state INIT_VERIFICATION ``ETHTOOL_MM_VERIFY_STATUS_VERIFYING`` the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE ``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED`` indicates that the Verify State diagram is in the state VERIFIED ``ETHTOOL_MM_VERIFY_STATUS_FAILED`` the Verify State diagram is in the state VERIFY_FAIL ``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](h)}(h **Constants**h]jߌ)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh](j)}(hD``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN`` verification status is unknown h](j)}(h$``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN``h]h)}(hj$h]h ETHTOOL_MM_VERIFY_STATUS_UNKNOWN}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./include/uapi/linux/ethtool.hhM!hjubj)}(hhh]h)}(hverification status is unknownh]hverification status is unknown}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hM!hj:ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9hM!hjubj)}(hf``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` the 802.3 Verify State diagram is in the state INIT_VERIFICATION h](j)}(h$``ETHTOOL_MM_VERIFY_STATUS_INITIAL``h]h)}(hj]h]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./include/uapi/linux/ethtool.hhM$hjWubj)}(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}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhM$hjsubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjrhM$hjubj)}(h``ETHTOOL_MM_VERIFY_STATUS_VERIFYING`` the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE h](j)}(h&``ETHTOOL_MM_VERIFY_STATUS_VERIFYING``h]h)}(hjh]h"ETHTOOL_MM_VERIFY_STATUS_VERIFYING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./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:2259: ./include/uapi/linux/ethtool.hhM'hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM(hjubj)}(hh``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED`` indicates that the Verify State diagram is in the state VERIFIED h](j)}(h&``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED``h]h)}(hjh]h"ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./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&]uh1jhjhM+hjubj)}(hY``ETHTOOL_MM_VERIFY_STATUS_FAILED`` the Verify State diagram is in the state VERIFY_FAIL h](j)}(h#``ETHTOOL_MM_VERIFY_STATUS_FAILED``h]h)}(hj h]hETHTOOL_MM_VERIFY_STATUS_FAILED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./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}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM.hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM.hjubj)}(hV``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](j)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h)}(hjBh]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./include/uapi/linux/ethtool.hhM0hj<ubj)}(hhh]h)}(h0verification of preemption operation is disabledh]h0verification of preemption operation is disabled}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2259: ./include/uapi/linux/ethtool.hhM1hjXubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjWhM0hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhNhNubh)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_ENABLED``h]hETHTOOL_A_MM_VERIFY_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh was passed as false in the }(hjhhhNhNubh)}(h ``MM_SET``h]hMM_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh command, }(hjhhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]hETHTOOL_A_MM_VERIFY_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh will report either }(hjhhhNhNubh)}(h$``ETHTOOL_MM_VERIFY_STATUS_INITIAL``h]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh or }(hjhhhNhNubh)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh5, otherwise it should report one of the other states.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(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&]uh1hhhhMhjhhubh)}(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&]uh1hhj ubh are reported if }(hj hhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh was set in }(hj hhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh. The attribute 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&]uh1hhhhMhjhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@ethtool_mm_stats (C struct)c.ethtool_mm_statshNtauh1j3hjhhhNhNubjE)}(hhh](jJ)}(hethtool_mm_statsh]jP)}(hstruct ethtool_mm_statsh](jV)}(hjMh]hstruct}(hjdhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhj`hhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhKubjh)}(h h]h }(hjrhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghj`hhhjqhKubjy)}(hethtool_mm_statsh]j)}(hj^h]hethtool_mm_stats}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhj`hhhjqhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhj\hhhjqhKubah}(h]jWah ](jjeh"]h$]h&]jj)jhuh1jIhjqhKhjYhhubj)}(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:2276: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjYhhhjqhKubeh}(h]h ](jɌstructeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhjhNhNubjՌ)}(hXV**Definition**:: struct ethtool_mm_stats { u64 MACMergeFrameAssErrorCount; u64 MACMergeFrameSmdErrorCount; u64 MACMergeFrameAssOkCount; u64 MACMergeFragCountRx; u64 MACMergeFragCountTx; u64 MACMergeHoldCount; }; **Members** ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors ``MACMergeFrameSmdErrorCount`` received MAC frames/fragments rejected due to unknown or incorrect SMD ``MACMergeFrameAssOkCount`` received MAC frames that were successfully reassembled and passed up ``MACMergeFragCountRx`` number of additional correct SMD-C mPackets received due to preemption ``MACMergeFragCountTx`` number of additional mPackets sent due to preemption ``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](h)}(h**Definition**::h](jߌ)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhMhjubj̐)}(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&]jjuh1jːhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]jߌ)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhMhjubj)}(hhh](j)}(hJ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors h](j)}(h``MACMergeFrameAssErrorCount``h]h)}(hjh]hMACMergeFrameAssErrorCount}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhMhj ubj)}(hhh]h)}(h*received MAC frames with reassembly errorsh]h*received MAC frames with reassembly errors}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(hMhj)ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj(hMhj ubj)}(hf``MACMergeFrameSmdErrorCount`` received MAC frames/fragments rejected due to unknown or incorrect SMD h](j)}(h``MACMergeFrameSmdErrorCount``h]h)}(hjLh]hMACMergeFrameSmdErrorCount}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhMhjFubj)}(hhh]h)}(hFreceived MAC frames/fragments rejected due to unknown or incorrect SMDh]hFreceived MAC frames/fragments rejected due to unknown or incorrect SMD}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahMhjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahMhj ubj)}(ha``MACMergeFrameAssOkCount`` received MAC frames that were successfully reassembled and passed up h](j)}(h``MACMergeFrameAssOkCount``h]h)}(hjh]hMACMergeFrameAssOkCount}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhMhjubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj ubj)}(h_``MACMergeFragCountRx`` number of additional correct SMD-C mPackets received due to preemption h](j)}(h``MACMergeFragCountRx``h]h)}(hjh]hMACMergeFragCountRx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhM hjubj)}(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&]uh1hhjhM hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hj ubj)}(hM``MACMergeFragCountTx`` number of additional mPackets sent due to preemption h](j)}(h``MACMergeFragCountTx``h]h)}(hjh]hMACMergeFragCountTx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./include/linux/ethtool.hhM hjubj)}(hhh]h)}(h4number of additional mPackets sent due to preemptionh]h4number of additional mPackets sent due to preemption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hM hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hM hj ubj)}(h{``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](j)}(h``MACMergeHoldCount``h]h)}(hj0h]hMACMergeHoldCount}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2276: ./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}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhMhjFubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjEhMhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjhhhNhNubeh}(h]mm-getah ]h"]mm_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_SETh]hMM_SET}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhhhhhMubh)}(h8Modifies the configuration of the 802.3 MAC Merge layer.h]h8Modifies the configuration of the 802.3 MAC Merge layer.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxhhubj)}(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!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_VERIFY_TIME``h]h)}(hjh]hETHTOOL_A_MM_VERIFY_TIME}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(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_MM_VERIFY_ENABLED``h]h)}(hj/h]hETHTOOL_A_MM_VERIFY_ENABLED}(hj1hhhNhNubah}(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}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_TX_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(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_MM_PMAC_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_PMAC_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE``h]h)}(hj4h]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hu32h]hu32}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjxhhubh)}(hLThe attributes are propagated to the driver through the following structure:h]hLThe attributes are propagated to the driver through the following structure:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxhhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@ethtool_mm_cfg (C struct)c.ethtool_mm_cfghNtauh1j3hjxhhhNhNubjE)}(hhh](jJ)}(hethtool_mm_cfgh]jP)}(hstruct ethtool_mm_cfgh](jV)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhKubjh)}(h h]h }(hjhhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghjhhhjhKubjy)}(hethtool_mm_cfgh]j)}(hjh]hethtool_mm_cfg}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hjubah}(h]h ](jjeh"]h$]h&]jjuh1jxhjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jIhjhKhjhhubj)}(hhh]h)}(h#802.3 MAC merge layer configurationh]h#802.3 MAC merge layer configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jɌstructeh"]h$]h&]jΌjɌjόjjЌjjьjҌjӌuh1jDhhhjxhNhNubjՌ)}(hX**Definition**:: struct ethtool_mm_cfg { u32 verify_time; bool verify_enabled; bool tx_enabled; bool pmac_enabled; u32 tx_min_frag_size; }; **Members** ``verify_time`` see struct ethtool_mm_state ``verify_enabled`` see struct ethtool_mm_state ``tx_enabled`` see struct ethtool_mm_state ``pmac_enabled`` see struct ethtool_mm_state ``tx_min_frag_size`` see struct ethtool_mm_stateh](h)}(h**Definition**::h](jߌ)}(h**Definition**h]h Definition}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj%ubh:}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhj!ubj̐)}(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; };}hjBsbah}(h]h ]h"]h$]h&]jjuh1jːhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhj!ubh)}(h **Members**h]jߌ)}(hjSh]hMembers}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjQubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhj!ubj)}(hhh](j)}(h,``verify_time`` see struct ethtool_mm_state h](j)}(h``verify_time``h]h)}(hjrh]h verify_time}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhjlubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjhMhjiubj)}(h/``verify_enabled`` see struct ethtool_mm_state h](j)}(h``verify_enabled``h]h)}(hjh]hverify_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhjubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjiubj)}(h+``tx_enabled`` see struct ethtool_mm_state h](j)}(h``tx_enabled``h]h)}(hjh]h tx_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhjubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjiubj)}(h-``pmac_enabled`` see struct ethtool_mm_state h](j)}(h``pmac_enabled``h]h)}(hj h]h pmac_enabled}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhj ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2 hMhj3 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj2 hMhjiubj)}(h0``tx_min_frag_size`` see struct ethtool_mm_stateh](j)}(h``tx_min_frag_size``h]h)}(hjV h]htx_min_frag_size}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhjP ubj)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2296: ./include/linux/ethtool.hhMhjl ubah}(h]h ]h"]h$]h&]uh1jhjP ubeh}(h]h ]h"]h$]h&]uh1jhjk hMhjiubeh}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhjxhhhNhNubeh}(h]mm-setah ]h"]mm_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMODULE_FW_FLASH_ACTh]hMODULE_FW_FLASH_ACT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(h$Flashes transceiver module firmware.h]h$Flashes transceiver module firmware.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj 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&]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}(hj4!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj1!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)}(hjV!h]h#ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME}(hjX!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT!ubah}(h]h ]h"]h$]h&]uh1hhhhM hjQ!ubah}(h]h ]h"]h$]h&]uh1jhjN!ubj)}(hhh]h)}(hstringh]hstring}(hjt!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjq!ubah}(h]h ]h"]h$]h&]uh1jhjN!ubj)}(hhh]h)}(hfirmware image file nameh]hfirmware image file name}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj!ubah}(h]h ]h"]h$]h&]uh1jhjN!ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_FW_FLASH_PASSWORD``h]h)}(hj!h]h"ETHTOOL_A_MODULE_FW_FLASH_PASSWORD}(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)}(htransceiver module passwordh]htransceiver module password}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj!ubah}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhM hj hhubh)}(hhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%hM?hj%ubj)}(hg``ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED`` The firmware flashing process was completed successfully. h](j)}(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&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2357: ./include/uapi/linux/ethtool.hhMChj&ubj)}(hhh]h)}(h9The firmware flashing process was completed successfully.h]h9The firmware flashing process was completed successfully.}(hj1&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2357: ./include/uapi/linux/ethtool.hhMBhj.&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhj-&hMChj%ubj)}(hc``ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR`` The firmware flashing process was stopped due to an error.h](j)}(h(``ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR``h]h)}(hjR&h]h$ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR}(hjT&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP&ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2357: ./include/uapi/linux/ethtool.hhMFhjL&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.}(hjk&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjg&hMFhjh&ubah}(h]h ]h"]h$]h&]uh1jhjL&ubeh}(h]h ]h"]h$]h&]uh1jhjg&hMFhj%ubeh}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj hhhNhNubh)}(hWThe ``ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG`` attribute encodes a status message string.h](hThe }(hj&hhhNhNubh)}(h(``ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG``h]h$ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubh+ attribute encodes a status message string.}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM8 hj 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 }(hj&hhhNhNubh)}(h"``ETHTOOL_A_MODULE_FW_FLASH_DONE``h]hETHTOOL_A_MODULE_FW_FLASH_DONE}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubh and }(hj&hhhNhNubh)}(h#``ETHTOOL_A_MODULE_FW_FLASH_TOTAL``h]hETHTOOL_A_MODULE_FW_FLASH_TOTAL}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubhH attributes encode the completed and total amount of work, respectively.}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM; hj hhubeh}(h]module-fw-flash-actah ]h"]module_fw_flash_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hPHY_GETh]hPHY_GET}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&hhhhhM? ubh)}(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.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMA hj&hhubh)}(hAs there can be more than one PHY, the DUMP operation can be used to list the PHYs present on a given interface, by passing an interface index or name in the dump request.h]hAs there can be more than one PHY, the DUMP operation can be used to list the PHYs present on a given interface, by passing an interface index or name in the dump request.}(hj 'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMF hj&hhubh)}(h7For more information, refer to :ref:`phy_link_topology`h](hFor more information, refer to }(hj'hhhNhNubh)}(h:ref:`phy_link_topology`h]hinline)}(hj#'h]hphy_link_topology}(hj''hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j%'hj!'ubah}(h]h ]h"]h$]h&]refdocnetworking/ethtool-netlink refdomainj2'reftyperef refexplicitrefwarn reftargetphy_link_topologyuh1hhhhMJ hj'ubeh}(h]h ]h"]h$]h&]uh1hhhhMJ hj&hhubh)}(hRequest contents:h]hRequest contents:}(hjL'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhML hj&hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PHY_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhja'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhja'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhja'ubj )}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_HEADER``h]h)}(hj'h]hETHTOOL_A_PHY_HEADER}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]uh1hhhhMO hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hnestedh]hnested}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMO hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMO hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]uh1j hja'ubeh}(h]h ]h"]h$]h&]colsKuh1jhj^'ubah}(h]h ]h"]h$]h&]uh1jhjZ'ubah}(h]h ]h"]h$]h&]uh1jhhhMN hj&hhubh)}(hKernel response contents:h]hKernel response contents:}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMR hj&hhubj)}(hX===================================== ====== =============================== ``ETHTOOL_A_PHY_HEADER`` nested request header ``ETHTOOL_A_PHY_INDEX`` u32 the phy's unique index, that can be used for phy-specific requests ``ETHTOOL_A_PHY_DRVNAME`` string the phy driver name ``ETHTOOL_A_PHY_NAME`` string the phy device name ``ETHTOOL_A_PHY_UPSTREAM_TYPE`` u32 the type of device this phy is connected to ``ETHTOOL_A_PHY_UPSTREAM_INDEX`` u32 the PHY index of the upstream PHY ``ETHTOOL_A_PHY_UPSTREAM_SFP_NAME`` string if this PHY is connected to its parent PHY through an SFP bus, the name of this sfp bus ``ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME`` string if the phy controls an sfp bus, the name of the sfp bus ===================================== ====== =============================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj (ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj (ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj (ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_HEADER``h]h)}(hj6(h]hETHTOOL_A_PHY_HEADER}(hj8(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4(ubah}(h]h ]h"]h$]h&]uh1hhhhMU hj1(ubah}(h]h ]h"]h$]h&]uh1jhj.(ubj)}(hhh]h)}(hnestedh]hnested}(hjT(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMU hjQ(ubah}(h]h ]h"]h$]h&]uh1jhj.(ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjk(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMU hjh(ubah}(h]h ]h"]h$]h&]uh1jhj.(ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_INDEX``h]h)}(hj(h]hETHTOOL_A_PHY_INDEX}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhhhMV hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hu32h]hu32}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMV hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hBthe phy's unique index, that can be used for phy-specific requestsh]hDthe phy’s unique index, that can be used for phy-specific requests}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMV hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_DRVNAME``h]h)}(hj(h]hETHTOOL_A_PHY_DRVNAME}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubah}(h]h ]h"]h$]h&]uh1hhhhMY hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hstringh]hstring}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMY hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hthe phy driver nameh]hthe phy driver name}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMY hj)ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_NAME``h]h)}(hj;)h]hETHTOOL_A_PHY_NAME}(hj=)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9)ubah}(h]h ]h"]h$]h&]uh1hhhhMZ hj6)ubah}(h]h ]h"]h$]h&]uh1jhj3)ubj)}(hhh]h)}(hstringh]hstring}(hjY)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZ hjV)ubah}(h]h ]h"]h$]h&]uh1jhj3)ubj)}(hhh]h)}(hthe phy device nameh]hthe phy device name}(hjp)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZ hjm)ubah}(h]h ]h"]h$]h&]uh1jhj3)ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_UPSTREAM_TYPE``h]h)}(hj)h]hETHTOOL_A_PHY_UPSTREAM_TYPE}(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)}(h+the type of device this phy is connected toh]h+the type of device this phy is connected to}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[ hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_PHY_UPSTREAM_INDEX``h]h)}(hj)h]hETHTOOL_A_PHY_UPSTREAM_INDEX}(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)}(h!the PHY index of the upstream PHYh]h!the PHY index of the upstream PHY}(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_PHY_UPSTREAM_SFP_NAME``h]h)}(hj@*h]hETHTOOL_A_PHY_UPSTREAM_SFP_NAME}(hjB*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>*ubah}(h]h ]h"]h$]h&]uh1hhhhM_ hj;*ubah}(h]h ]h"]h$]h&]uh1jhj8*ubj)}(hhh]h)}(hstringh]hstring}(hj^*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_ hj[*ubah}(h]h ]h"]h$]h&]uh1jhj8*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}(hju*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_ hjr*ubah}(h]h ]h"]h$]h&]uh1jhj8*ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME``h]h)}(hj*h]h!ETHTOOL_A_PHY_DOWNSTREAM_SFP_NAME}(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)}(hstringh]hstring}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMb hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(h7if the phy controls an sfp bus, the name of the sfp bush]h7if the phy controls an sfp bus, the name of the sfp bus}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMb hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj+(ubeh}(h]h ]h"]h$]h&]uh1j hj (ubeh}(h]h ]h"]h$]h&]colsKuh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhhhMT hj&hhubh)}(hZWhen ``ETHTOOL_A_PHY_UPSTREAM_TYPE`` is PHY_UPSTREAM_PHY, the PHY's parent is another PHY.h](hWhen }(hj*hhhNhNubh)}(h``ETHTOOL_A_PHY_UPSTREAM_TYPE``h]hETHTOOL_A_PHY_UPSTREAM_TYPE}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubh8 is PHY_UPSTREAM_PHY, the PHY’s parent is another PHY.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMf hj&hhubeh}(h]phy-getah ]h"]phy_getah$]h&]uh1hhhhhhhhM? ubh)}(hhh](h)}(h TSCONFIG_GETh]h TSCONFIG_GET}(hj*+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'+hhhhhMj ubh)}(h[Retrieves the information about the current hardware timestamping source and configuration.h]h[Retrieves the information about the current hardware timestamping source and configuration.}(hj8+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMl hj'+hhubh)}(h@It is similar to the deprecated ``SIOCGHWTSTAMP`` ioctl request.h](h It is similar to the deprecated }(hjF+hhhNhNubh)}(h``SIOCGHWTSTAMP``h]h SIOCGHWTSTAMP}(hjN+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF+ubh ioctl request.}(hjF+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMo hj'+hhubh)}(hRequest contents:h]hRequest contents:}(hjf+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMq hj'+hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_TSCONFIG_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_TSCONFIG_HEADER``h]h)}(hj+h]hETHTOOL_A_TSCONFIG_HEADER}(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)}(hnestedh]hnested}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMt hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMt hj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1j hj{+ubeh}(h]h ]h"]h$]h&]colsKuh1jhjx+ubah}(h]h ]h"]h$]h&]uh1jhjt+ubah}(h]h ]h"]h$]h&]uh1jhhhMs hj'+hhubh)}(hKernel response contents:h]hKernel response contents:}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMw hj'+hhubj)}(hX======================================== ====== ============================ ``ETHTOOL_A_TSCONFIG_HEADER`` nested request header ``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER`` nested PTP hw clock provider ``ETHTOOL_A_TSCONFIG_TX_TYPES`` bitset hwtstamp Tx type ``ETHTOOL_A_TSCONFIG_RX_FILTERS`` bitset hwtstamp Rx filter ``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS`` u32 hwtstamp flags ======================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhj$,ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj$,ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj$,ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_HEADER``h]h)}(hjP,h]hETHTOOL_A_TSCONFIG_HEADER}(hjR,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjN,ubah}(h]h ]h"]h$]h&]uh1hhhhMz hjK,ubah}(h]h ]h"]h$]h&]uh1jhjH,ubj)}(hhh]h)}(hnestedh]hnested}(hjn,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMz hjk,ubah}(h]h ]h"]h$]h&]uh1jhjH,ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMz hj,ubah}(h]h ]h"]h$]h&]uh1jhjH,ubeh}(h]h ]h"]h$]h&]uh1jhjE,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,ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{ hj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjE,ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]h)}(hj,h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhM| hj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hbitseth]hbitset}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM| hj-ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hhwtstamp Tx typeh]hhwtstamp Tx type}(hj3-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM| hj0-ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhjE,ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]h)}(hjU-h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hjW-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS-ubah}(h]h ]h"]h$]h&]uh1hhhhM} hjP-ubah}(h]h ]h"]h$]h&]uh1jhjM-ubj)}(hhh]h)}(hbitseth]hbitset}(hjs-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM} hjp-ubah}(h]h ]h"]h$]h&]uh1jhjM-ubj)}(hhh]h)}(hhwtstamp Rx filterh]hhwtstamp Rx filter}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM} hj-ubah}(h]h ]h"]h$]h&]uh1jhjM-ubeh}(h]h ]h"]h$]h&]uh1jhjE,ubj)}(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}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~ hj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjE,ubeh}(h]h ]h"]h$]h&]uh1j hj$,ubeh}(h]h ]h"]h$]h&]colsKuh1jhj!,ubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhhhMy hj'+hhubh)}(hXFWhen set the ``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER`` attribute identifies the source of the hw timestamping provider. It is composed by ``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX`` attribute which describe the index of the PTP device and ``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER`` which describe the qualifier of the timestamp.h](h When set the }(hj.hhhNhNubh)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubhT attribute identifies the source of the hw timestamping provider. It is composed by }(hj.hhhNhNubh)}(h(``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX``h]h$ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX}(hj..hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubh: attribute which describe the index of the PTP device and }(hj.hhhNhNubh)}(h,``ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER``h]h(ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER}(hj@.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubh/ which describe the qualifier of the timestamp.}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj'+hhubh)}(hX<When set the ``ETHTOOL_A_TSCONFIG_TX_TYPES``, ``ETHTOOL_A_TSCONFIG_RX_FILTERS`` and the ``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS`` attributes identify the Tx type, the Rx filter and the flags configured for the current hw timestamping provider. The attributes are propagated to the driver through the following structure:h](h When set the }(hjX.hhhNhNubh)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hj`.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX.ubh, }(hjX.hhhNhNubh)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hjr.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX.ubh and the }(hjX.hhhNhNubh)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX.ubh attributes identify the Tx type, the Rx filter and the flags configured for the current hw timestamping provider. The attributes are propagated to the driver through the following structure:}(hjX.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj'+hhubj4)}(hhh]h}(h]h ]h"]h$]h&]entries](j@!kernel_hwtstamp_config (C struct)c.kernel_hwtstamp_confighNtauh1j3hj'+hhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhNubjE)}(hhh](jJ)}(hkernel_hwtstamp_configh]jP)}(hstruct kernel_hwtstamp_configh](jV)}(hjMh]hstruct}(hj.hhhNhNubah}(h]h ]jbah"]h$]h&]uh1jUhj.hhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhKubjh)}(h h]h }(hj.hhhNhNubah}(h]h ]jtah"]h$]h&]uh1jghj.hhhj.hKubjy)}(hkernel_hwtstamp_configh]j)}(hj.h]hkernel_hwtstamp_config}(hj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1j~hj.ubah}(h]h ](jjeh"]h$]h&]jjuh1jxhj.hhhj.hKubeh}(h]h ]h"]h$]h&]jjjuh1jOjjhj.hhhj.hKubah}(h]j.ah ](jjeh"]h$]h&]jj)jhuh1jIhj.hKhj.hhubj)}(hhh]h)}(h%Kernel copy of struct hwtstamp_configh]h%Kernel copy of struct hwtstamp_config}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK-hj.hhubah}(h]h ]h"]h$]h&]uh1jhj.hhhj.hKubeh}(h]h ](jɌstructeh"]h$]h&]jΌjɌjόj/jЌj/jьjҌjӌuh1jDhhhj'+hj.hNubjՌ)}(hX **Definition**:: struct kernel_hwtstamp_config { int flags; int tx_type; int rx_filter; struct ifreq *ifr; bool copied_to_user; enum hwtstamp_source source; enum hwtstamp_provider_qualifier qualifier; }; **Members** ``flags`` see struct hwtstamp_config ``tx_type`` see struct hwtstamp_config ``rx_filter`` see struct hwtstamp_config ``ifr`` pointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver ``copied_to_user`` request was passed to a legacy implementation which already copied the ioctl request back to user space ``source`` indication whether timestamps should come from the netdev or from an attached phylib PHY ``qualifier`` qualifier of the hwtstamp providerh](h)}(h**Definition**::h](jߌ)}(h**Definition**h]h Definition}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj/ubh:}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK1hj/ubj̐)}(hstruct kernel_hwtstamp_config { int flags; int tx_type; int rx_filter; struct ifreq *ifr; bool copied_to_user; enum hwtstamp_source source; enum hwtstamp_provider_qualifier qualifier; };h]hstruct kernel_hwtstamp_config { int flags; int tx_type; int rx_filter; struct ifreq *ifr; bool copied_to_user; enum hwtstamp_source source; enum hwtstamp_provider_qualifier qualifier; };}hj5/sbah}(h]h ]h"]h$]h&]jjuh1jːhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK3hj/ubh)}(h **Members**h]jߌ)}(hjF/h]hMembers}(hjH/hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhjD/ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK=hj/ubj)}(hhh](j)}(h%``flags`` see struct hwtstamp_config h](j)}(h ``flags``h]h)}(hje/h]hflags}(hjg/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc/ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK0hj_/ubj)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hj~/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjz/hK0hj{/ubah}(h]h ]h"]h$]h&]uh1jhj_/ubeh}(h]h ]h"]h$]h&]uh1jhjz/hK0hj\/ubj)}(h'``tx_type`` see struct hwtstamp_config h](j)}(h ``tx_type``h]h)}(hj/h]htx_type}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK1hj/ubj)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hK1hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/hK1hj\/ubj)}(h)``rx_filter`` see struct hwtstamp_config h](j)}(h ``rx_filter``h]h)}(hj/h]h rx_filter}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK2hj/ubj)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hK2hj/ubah}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]uh1jhj/hK2hj\/ubj)}(hy``ifr`` pointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver h](j)}(h``ifr``h]h)}(hj0h]hifr}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK4hj 0ubj)}(hhh]h)}(hppointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driverh]hppointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver}(hj)0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK3hj&0ubah}(h]h ]h"]h$]h&]uh1jhj 0ubeh}(h]h ]h"]h$]h&]uh1jhj%0hK4hj\/ubj)}(h{``copied_to_user`` request was passed to a legacy implementation which already copied the ioctl request back to user space h](j)}(h``copied_to_user``h]h)}(hjJ0h]hcopied_to_user}(hjL0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjH0ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK6hjD0ubj)}(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}(hjc0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK5hj`0ubah}(h]h ]h"]h$]h&]uh1jhjD0ubeh}(h]h ]h"]h$]h&]uh1jhj_0hK6hj\/ubj)}(hd``source`` indication whether timestamps should come from the netdev or from an attached phylib PHY h](j)}(h ``source``h]h)}(hj0h]hsource}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK8hj~0ubj)}(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}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK7hj0ubah}(h]h ]h"]h$]h&]uh1jhj~0ubeh}(h]h ]h"]h$]h&]uh1jhj0hK8hj\/ubj)}(h0``qualifier`` qualifier of the hwtstamp providerh](j)}(h ``qualifier``h]h)}(hj0h]h qualifier}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK8hj0ubj)}(hhh]h)}(h"qualifier of the hwtstamp providerh]h"qualifier of the hwtstamp provider}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK9hj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0hK8hj\/ubeh}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ] kernelindentah"]h$]h&]uh1jԌhj'+hhhj.hNubh)}(h**Description**h]jߌ)}(hj1h]h Description}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jތhj0ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2445: ./include/linux/net_tstamp.hhK6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjX6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjU6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1j hj5ubeh}(h]h ]h"]h$]h&]colsKuh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]uh1jhhhM hj5hhubh)}(hKernel Response Contents:h]hKernel Response Contents:}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj5hhubj)}(hX ==================================== ====== ================================ ``ETHTOOL_A_MSE_HEADER`` nested reply header ``ETHTOOL_A_MSE_CAPABILITIES`` nested capability/scale info for MSE measurements ``ETHTOOL_A_MSE_CHANNEL_A`` nested snapshot for Channel A ``ETHTOOL_A_MSE_CHANNEL_B`` nested snapshot for Channel B ``ETHTOOL_A_MSE_CHANNEL_C`` nested snapshot for Channel C ``ETHTOOL_A_MSE_CHANNEL_D`` nested snapshot for Channel D ``ETHTOOL_A_MSE_WORST_CHANNEL`` nested snapshot for worst channel ``ETHTOOL_A_MSE_LINK`` nested snapshot for link-wide aggregate ==================================== ====== ================================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhj6ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_HEADER``h]h)}(hj6h]hETHTOOL_A_MSE_HEADER}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hnestedh]hnested}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h reply headerh]h reply header}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_CAPABILITIES``h]h)}(hj#7h]hETHTOOL_A_MSE_CAPABILITIES}(hj%7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hnestedh]hnested}(hjA7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h*capability/scale info for MSE measurementsh]h*capability/scale info for MSE measurements}(hjX7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjU7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_CHANNEL_A``h]h)}(hjz7h]hETHTOOL_A_MSE_CHANNEL_A}(hj|7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjx7ubah}(h]h ]h"]h$]h&]uh1hhhhM hju7ubah}(h]h ]h"]h$]h&]uh1jhjr7ubj)}(hhh]h)}(hnestedh]hnested}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhjr7ubj)}(hhh]h)}(hsnapshot for Channel Ah]hsnapshot for Channel A}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhjr7ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_CHANNEL_B``h]h)}(hj7h]hETHTOOL_A_MSE_CHANNEL_B}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hnestedh]hnested}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hsnapshot for Channel Bh]hsnapshot for Channel B}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_CHANNEL_C``h]h)}(hj(8h]hETHTOOL_A_MSE_CHANNEL_C}(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)}(hnestedh]hnested}(hjF8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjC8ubah}(h]h ]h"]h$]h&]uh1jhj 8ubj)}(hhh]h)}(hsnapshot for Channel Ch]hsnapshot for Channel C}(hj]8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjZ8ubah}(h]h ]h"]h$]h&]uh1jhj 8ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_CHANNEL_D``h]h)}(hj8h]hETHTOOL_A_MSE_CHANNEL_D}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}8ubah}(h]h ]h"]h$]h&]uh1hhhhM hjz8ubah}(h]h ]h"]h$]h&]uh1jhjw8ubj)}(hhh]h)}(hnestedh]hnested}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhjw8ubj)}(hhh]h)}(hsnapshot for Channel Dh]hsnapshot for Channel D}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhjw8ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_WORST_CHANNEL``h]h)}(hj8h]hETHTOOL_A_MSE_WORST_CHANNEL}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hnestedh]hnested}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hsnapshot for worst channelh]hsnapshot for worst channel}(hj 9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MSE_LINK``h]h)}(hj-9h]hETHTOOL_A_MSE_LINK}(hj/9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj(9ubah}(h]h ]h"]h$]h&]uh1jhj%9ubj)}(hhh]h)}(hnestedh]hnested}(hjK9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjH9ubah}(h]h ]h"]h$]h&]uh1jhj%9ubj)}(hhh]h)}(h snapshot for link-wide aggregateh]h snapshot for link-wide aggregate}(hjb9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj_9ubah}(h]h ]h"]h$]h&]uh1jhj%9ubeh}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1j hj6ubeh}(h]h ]h"]h$]h&]colsKuh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhhhM hj5hhubh)}(hhh](h)}(hMSE Capabilitiesh]hMSE Capabilities}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hhhhhM ubh)}(hdThis nested attribute reports the capability / scaling properties used to interpret snapshot values.h]hdThis nested attribute reports the capability / scaling properties used to interpret snapshot values.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj9hhubj)}(hX============================================== ====== ========================= ``ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE`` uint max avg_mse scale ``ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE`` uint max peak_mse scale ``ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS`` uint sample rate (picoseconds) ``ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS`` uint symbols per HW sample ============================================== ====== ========================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK.uh1jhj9ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj9ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj9ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h.``ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE``h]h)}(hj9h]h*ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(huinth]huint}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hmax avg_mse scaleh]hmax avg_mse scale}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh](j)}(hhh]h)}(h+``ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE``h]h)}(hj>:h]h'ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE}(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)}(huinth]huint}(hj\:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjY:ubah}(h]h ]h"]h$]h&]uh1jhj6:ubj)}(hhh]h)}(hmax peak_mse scaleh]hmax peak_mse scale}(hjs:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjp:ubah}(h]h ]h"]h$]h&]uh1jhj6:ubeh}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh](j)}(hhh]h)}(h.``ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS``h]h)}(hj:h]h*ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS}(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)}(huinth]huint}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hsample rate (picoseconds)h]hsample rate (picoseconds)}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh](j)}(hhh]h)}(h*``ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS``h]h)}(hj:h]hÐTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS}(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)}(huinth]huint}(hj ;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hsymbols per HW sampleh]hsymbols per HW sample}(hj!;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1j hj9ubeh}(h]h ]h"]h$]h&]colsKuh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]uh1jhhhM hj9hhubh)}(hThe max-average/peak fields are included only if the corresponding metric is supported by the PHY. Their absence indicates that the metric is not available.h]hThe max-average/peak fields are included only if the corresponding metric is supported by the PHY. Their absence indicates that the metric is not available.}(hjT;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj9hhubh)}(hRSee ``struct phy_mse_capability`` kernel documentation in ``include/linux/phy.h``.h](hSee }(hjb;hhhNhNubh)}(h``struct phy_mse_capability``h]hstruct phy_mse_capability}(hjj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb;ubh kernel documentation in }(hjb;hhhNhNubh)}(h``include/linux/phy.h``h]hinclude/linux/phy.h}(hj|;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb;ubh.}(hjb;hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj9hhubeh}(h]mse-capabilitiesah ]h"]mse capabilitiesah$]h&]uh1hhj5hhhhhM ubh)}(hhh](h)}(h MSE Snapshoth]h MSE Snapshot}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;hhhhhM ubh)}(h|Each per-channel nest contains an atomic snapshot of MSE values for that selector (channel A/B/C/D, worst channel, or link).h]h|Each per-channel nest contains an atomic snapshot of MSE values for that selector (channel A/B/C/D, worst channel, or link).}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;hhubj)}(hXc========================================== ====== =================== ``ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE`` uint average MSE value ``ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE`` uint current peak MSE ``ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE`` uint worst-case peak MSE ========================================== ====== =================== 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_MSE_SNAPSHOT_AVERAGE_MSE``h]h)}(hj;h]h"ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE}(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)}(huinth]huint}(hj <hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj <ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(haverage MSE valueh]haverage MSE value}(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_MSE_SNAPSHOT_PEAK_MSE``h]h)}(hjE<h]hETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE}(hjG<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@<ubah}(h]h ]h"]h$]h&]uh1jhj=<ubj)}(hhh]h)}(huinth]huint}(hjc<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj`<ubah}(h]h ]h"]h$]h&]uh1jhj=<ubj)}(hhh]h)}(hcurrent peak MSEh]hcurrent peak MSE}(hjz<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjw<ubah}(h]h ]h"]h$]h&]uh1jhj=<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE``h]h)}(hj<h]h%ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE}(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)}(huinth]huint}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hworst-case peak MSEh]hworst-case peak MSE}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1j hj;ubeh}(h]h ]h"]h$]h&]colsKuh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jhhhM hj;hhubh)}(hPWithin each channel nest, only the metrics supported by the PHY will be present.h]hPWithin each channel nest, only the metrics supported by the PHY will be present.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj;hhubh)}(hPSee ``struct phy_mse_snapshot`` kernel documentation in ``include/linux/phy.h``.h](hSee }(hj=hhhNhNubh)}(h``struct phy_mse_snapshot``h]hstruct phy_mse_snapshot}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubh kernel documentation in }(hj=hhhNhNubh)}(h``include/linux/phy.h``h]hinclude/linux/phy.h}(hj,=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubh.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj;hhubeh}(h] mse-snapshotah ]h"] mse snapshotah$]h&]uh1hhj5hhhhhM ubeh}(h]mse-getah ]h"]mse_getah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hRequest translationh]hRequest translation}(hjW=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT=hhhhhM ubh)}(hThe following table maps ioctl commands to netlink commands providing their functionality. Entries with "n/a" in right column are commands which do not have their netlink replacement yet. Entries which "n/a" in the left column are netlink only.h]hThe following table maps ioctl commands to netlink commands providing their functionality. Entries with “n/a” in right column are commands which do not have their netlink replacement yet. Entries which “n/a” in the left column are netlink only.}(hje=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjT=hhubj)}(hX:=================================== ===================================== ioctl command netlink command =================================== ===================================== ``ETHTOOL_GSET`` ``ETHTOOL_MSG_LINKINFO_GET`` ``ETHTOOL_MSG_LINKMODES_GET`` ``ETHTOOL_SSET`` ``ETHTOOL_MSG_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET`` ``ETHTOOL_GDRVINFO`` n/a ``ETHTOOL_GREGS`` n/a ``ETHTOOL_GWOL`` ``ETHTOOL_MSG_WOL_GET`` ``ETHTOOL_SWOL`` ``ETHTOOL_MSG_WOL_SET`` ``ETHTOOL_GMSGLVL`` ``ETHTOOL_MSG_DEBUG_GET`` ``ETHTOOL_SMSGLVL`` ``ETHTOOL_MSG_DEBUG_SET`` ``ETHTOOL_NWAY_RST`` n/a ``ETHTOOL_GLINK`` ``ETHTOOL_MSG_LINKSTATE_GET`` ``ETHTOOL_GEEPROM`` n/a ``ETHTOOL_SEEPROM`` n/a ``ETHTOOL_GCOALESCE`` ``ETHTOOL_MSG_COALESCE_GET`` ``ETHTOOL_SCOALESCE`` ``ETHTOOL_MSG_COALESCE_SET`` ``ETHTOOL_GRINGPARAM`` ``ETHTOOL_MSG_RINGS_GET`` ``ETHTOOL_SRINGPARAM`` ``ETHTOOL_MSG_RINGS_SET`` ``ETHTOOL_GPAUSEPARAM`` ``ETHTOOL_MSG_PAUSE_GET`` ``ETHTOOL_SPAUSEPARAM`` ``ETHTOOL_MSG_PAUSE_SET`` ``ETHTOOL_GRXCSUM`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SRXCSUM`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GTXCSUM`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_STXCSUM`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GSG`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SSG`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_TEST`` n/a ``ETHTOOL_GSTRINGS`` ``ETHTOOL_MSG_STRSET_GET`` ``ETHTOOL_PHYS_ID`` n/a ``ETHTOOL_GSTATS`` n/a ``ETHTOOL_GTSO`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_STSO`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GPERMADDR`` rtnetlink ``RTM_GETLINK`` ``ETHTOOL_GUFO`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SUFO`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GGSO`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SGSO`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GFLAGS`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SFLAGS`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_GET`` ``ETHTOOL_SPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_SET`` ``ETHTOOL_GRXFH`` ``ETHTOOL_MSG_RSS_GET`` ``ETHTOOL_SRXFH`` ``ETHTOOL_MSG_RSS_SET`` ``ETHTOOL_GGRO`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SGRO`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GRXRINGS`` n/a ``ETHTOOL_GRXCLSRLCNT`` n/a ``ETHTOOL_GRXCLSRULE`` n/a ``ETHTOOL_GRXCLSRLALL`` n/a ``ETHTOOL_SRXCLSRLDEL`` n/a ``ETHTOOL_SRXCLSRLINS`` n/a ``ETHTOOL_FLASHDEV`` n/a ``ETHTOOL_RESET`` n/a ``ETHTOOL_SRXNTUPLE`` n/a ``ETHTOOL_GRXNTUPLE`` n/a ``ETHTOOL_GSSET_INFO`` ``ETHTOOL_MSG_STRSET_GET`` ``ETHTOOL_GRXFHINDIR`` ``ETHTOOL_MSG_RSS_GET`` ``ETHTOOL_SRXFHINDIR`` ``ETHTOOL_MSG_RSS_SET`` ``ETHTOOL_GFEATURES`` ``ETHTOOL_MSG_FEATURES_GET`` ``ETHTOOL_SFEATURES`` ``ETHTOOL_MSG_FEATURES_SET`` ``ETHTOOL_GCHANNELS`` ``ETHTOOL_MSG_CHANNELS_GET`` ``ETHTOOL_SCHANNELS`` ``ETHTOOL_MSG_CHANNELS_SET`` ``ETHTOOL_SET_DUMP`` n/a ``ETHTOOL_GET_DUMP_FLAG`` n/a ``ETHTOOL_GET_DUMP_DATA`` n/a ``ETHTOOL_GET_TS_INFO`` ``ETHTOOL_MSG_TSINFO_GET`` ``ETHTOOL_GMODULEINFO`` ``ETHTOOL_MSG_MODULE_EEPROM_GET`` ``ETHTOOL_GMODULEEEPROM`` ``ETHTOOL_MSG_MODULE_EEPROM_GET`` ``ETHTOOL_GEEE`` ``ETHTOOL_MSG_EEE_GET`` ``ETHTOOL_SEEE`` ``ETHTOOL_MSG_EEE_SET`` ``ETHTOOL_GRSSH`` ``ETHTOOL_MSG_RSS_GET`` ``ETHTOOL_SRSSH`` n/a ``ETHTOOL_GTUNABLE`` n/a ``ETHTOOL_STUNABLE`` n/a ``ETHTOOL_GPHYSTATS`` n/a ``ETHTOOL_PERQUEUE`` n/a ``ETHTOOL_GLINKSETTINGS`` ``ETHTOOL_MSG_LINKINFO_GET`` ``ETHTOOL_MSG_LINKMODES_GET`` ``ETHTOOL_SLINKSETTINGS`` ``ETHTOOL_MSG_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET`` ``ETHTOOL_PHY_GTUNABLE`` n/a ``ETHTOOL_PHY_STUNABLE`` n/a ``ETHTOOL_GFECPARAM`` ``ETHTOOL_MSG_FEC_GET`` ``ETHTOOL_SFECPARAM`` ``ETHTOOL_MSG_FEC_SET`` n/a ``ETHTOOL_MSG_CABLE_TEST_ACT`` n/a ``ETHTOOL_MSG_CABLE_TEST_TDR_ACT`` n/a ``ETHTOOL_MSG_TUNNEL_INFO_GET`` n/a ``ETHTOOL_MSG_PHC_VCLOCKS_GET`` n/a ``ETHTOOL_MSG_MODULE_GET`` n/a ``ETHTOOL_MSG_MODULE_SET`` n/a ``ETHTOOL_MSG_PLCA_GET_CFG`` n/a ``ETHTOOL_MSG_PLCA_SET_CFG`` n/a ``ETHTOOL_MSG_PLCA_GET_STATUS`` n/a ``ETHTOOL_MSG_MM_GET`` n/a ``ETHTOOL_MSG_MM_SET`` n/a ``ETHTOOL_MSG_MODULE_FW_FLASH_ACT`` n/a ``ETHTOOL_MSG_PHY_GET`` ``SIOCGHWTSTAMP`` ``ETHTOOL_MSG_TSCONFIG_GET`` ``SIOCSHWTSTAMP`` ``ETHTOOL_MSG_TSCONFIG_SET`` =================================== =====================================h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjz=ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjz=ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ioctl commandh]h ioctl command}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hnetlink commandh]hnetlink command}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhj=ubah}(h]h ]h"]h$]h&]uh1jhjz=ubj )}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSET``h]h)}(hj=h]h ETHTOOL_GSET}(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_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}(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&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SSET``h]h)}(hj8>h]h ETHTOOL_SSET}(hj:>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj3>ubah}(h]h ]h"]h$]h&]uh1jhj0>ubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET``h](h)}(h``ETHTOOL_MSG_LINKINFO_SET``h]hETHTOOL_MSG_LINKINFO_SET}(hjZ>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV>ubh }(hjV>hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_SET``h]hETHTOOL_MSG_LINKMODES_SET}(hjl>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV>ubeh}(h]h ]h"]h$]h&]uh1hhhhM hjS>ubah}(h]h ]h"]h$]h&]uh1jhj0>ubeh}(h]h ]h"]h$]h&]uh1jhj=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&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hn/ah]hn/a}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GREGS``h]h)}(hj>h]h ETHTOOL_GREGS}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hn/ah]hn/a}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GWOL``h]h)}(hj?h]h ETHTOOL_GWOL}(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_WOL_GET``h]h)}(hj4?h]hETHTOOL_MSG_WOL_GET}(hj6?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj/?ubah}(h]h ]h"]h$]h&]uh1jhj ?ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SWOL``h]h)}(hj]?h]h ETHTOOL_SWOL}(hj_?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[?ubah}(h]h ]h"]h$]h&]uh1hhhhM hjX?ubah}(h]h ]h"]h$]h&]uh1jhjU?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&]uh1hhhhM hjx?ubah}(h]h ]h"]h$]h&]uh1jhjU?ubeh}(h]h ]h"]h$]h&]uh1jhj=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&]uh1hhhhM 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&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj=ubwj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SMSGLVL``h]h)}(hj?h]hETHTOOL_SMSGLVL}(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_DEBUG_SET``h]h)}(hj@h]hETHTOOL_MSG_DEBUG_SET}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj @ubah}(h]h ]h"]h$]h&]uh1hhhhM hj @ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_NWAY_RST``h]h)}(hj8@h]hETHTOOL_NWAY_RST}(hj:@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj3@ubah}(h]h ]h"]h$]h&]uh1jhj0@ubj)}(hhh]h)}(hn/ah]hn/a}(hjV@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjS@ubah}(h]h ]h"]h$]h&]uh1jhj0@ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GLINK``h]h)}(hjx@h]h ETHTOOL_GLINK}(hjz@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjv@ubah}(h]h ]h"]h$]h&]uh1hhhhM hjs@ubah}(h]h ]h"]h$]h&]uh1jhjp@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&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhjp@ubeh}(h]h ]h"]h$]h&]uh1jhj=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&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hn/ah]hn/a}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEPROM``h]h)}(hjAh]hETHTOOL_SEEPROM}(hjAhhhNhNubah}(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}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GCOALESCE``h]h)}(hjAAh]hETHTOOL_GCOALESCE}(hjCAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?Aubah}(h]h ]h"]h$]h&]uh1hhhhM hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:Bubah}(h]h ]h"]h$]h&]uh1hhhhM hj7Bubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPAUSEPARAM``h]h)}(hjeBh]hETHTOOL_GPAUSEPARAM}(hjgBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcBubah}(h]h ]h"]h$]h&]uh1hhhhM hj`Bubah}(h]h ]h"]h$]h&]uh1jhj]Bubj)}(hhh]h)}(h``ETHTOOL_MSG_PAUSE_GET``h]h)}(hjBh]hETHTOOL_MSG_PAUSE_GET}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhj]Bubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPAUSEPARAM``h]h)}(hjBh]hETHTOOL_SPAUSEPARAM}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(h``ETHTOOL_MSG_PAUSE_SET``h]h)}(hjBh]hETHTOOL_MSG_PAUSE_SET}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCSUM``h]h)}(hjBh]hETHTOOL_GRXCSUM}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjCh]hETHTOOL_MSG_FEATURES_GET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCSUM``h]h)}(hj@Ch]hETHTOOL_SRXCSUM}(hjBChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>Cubah}(h]h ]h"]h$]h&]uh1hhhhM hj;Cubah}(h]h ]h"]h$]h&]uh1jhj8Cubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj`Ch]hETHTOOL_MSG_FEATURES_SET}(hjbChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^Cubah}(h]h ]h"]h$]h&]uh1hhhhM hj[Cubah}(h]h ]h"]h$]h&]uh1jhj8Cubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTXCSUM``h]h)}(hjCh]hETHTOOL_GTXCSUM}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjCh]hETHTOOL_MSG_FEATURES_GET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STXCSUM``h]h)}(hjCh]hETHTOOL_STXCSUM}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjCh]hETHTOOL_MSG_FEATURES_SET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSG``h]h)}(hjDh]h ETHTOOL_GSG}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj;Dh]hETHTOOL_MSG_FEATURES_GET}(hj=DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9Dubah}(h]h ]h"]h$]h&]uh1hhhhM hj6Dubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SSG``h]h)}(hjdDh]h ETHTOOL_SSG}(hjfDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbDubah}(h]h ]h"]h$]h&]uh1hhhhM hj_Dubah}(h]h ]h"]h$]h&]uh1jhj\Dubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjDh]hETHTOOL_MSG_FEATURES_SET}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhj\Dubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_TEST``h]h)}(hjDh]h ETHTOOL_TEST}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hn/ah]hn/a}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTRINGS``h]h)}(hjDh]hETHTOOL_GSTRINGS}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hj Eh]hETHTOOL_MSG_STRSET_GET}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj Eubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHYS_ID``h]h)}(hj6Eh]hETHTOOL_PHYS_ID}(hj8EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4Eubah}(h]h ]h"]h$]h&]uh1hhhhM hj1Eubah}(h]h ]h"]h$]h&]uh1jhj.Eubj)}(hhh]h)}(hn/ah]hn/a}(hjTEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjQEubah}(h]h ]h"]h$]h&]uh1jhj.Eubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTATS``h]h)}(hjvEh]hETHTOOL_GSTATS}(hjxEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtEubah}(h]h ]h"]h$]h&]uh1hhhhM hjqEubah}(h]h ]h"]h$]h&]uh1jhjnEubj)}(hhh]h)}(hn/ah]hn/a}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjnEubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTSO``h]h)}(hjEh]h ETHTOOL_GTSO}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjEh]hETHTOOL_MSG_FEATURES_GET}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STSO``h]h)}(hjEh]h ETHTOOL_STSO}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjFh]hETHTOOL_MSG_FEATURES_SET}(hj!FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPERMADDR``h]h)}(hjHFh]hETHTOOL_GPERMADDR}(hjJFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFFubah}(h]h ]h"]h$]h&]uh1hhhhM hjCFubah}(h]h ]h"]h$]h&]uh1jhj@Fubj)}(hhh]h)}(hrtnetlink ``RTM_GETLINK``h](h rtnetlink }(hjfFhhhNhNubh)}(h``RTM_GETLINK``h]h RTM_GETLINK}(hjnFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfFubeh}(h]h ]h"]h$]h&]uh1hhhhM hjcFubah}(h]h ]h"]h$]h&]uh1jhj@Fubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GUFO``h]h)}(hjFh]h ETHTOOL_GUFO}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjFh]hETHTOOL_MSG_FEATURES_GET}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SUFO``h]h)}(hjFh]h ETHTOOL_SUFO}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjFh]hETHTOOL_MSG_FEATURES_SET}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGSO``h]h)}(hj(Gh]h ETHTOOL_GGSO}(hj*GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&Gubah}(h]h ]h"]h$]h&]uh1hhhhM hj#Gubah}(h]h ]h"]h$]h&]uh1jhj Gubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjHGh]hETHTOOL_MSG_FEATURES_GET}(hjJGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFGubah}(h]h ]h"]h$]h&]uh1hhhhM hjCGubah}(h]h ]h"]h$]h&]uh1jhj Gubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGSO``h]h)}(hjqGh]h ETHTOOL_SGSO}(hjsGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoGubah}(h]h ]h"]h$]h&]uh1hhhhM hjlGubah}(h]h ]h"]h$]h&]uh1jhjiGubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjGh]hETHTOOL_MSG_FEATURES_SET}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjiGubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFLAGS``h]h)}(hjGh]hETHTOOL_GFLAGS}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjGh]hETHTOOL_MSG_FEATURES_GET}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFLAGS``h]h)}(hjHh]hETHTOOL_SFLAGS}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj#Hh]hETHTOOL_MSG_FEATURES_SET}(hj%HhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!Hubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPFLAGS``h]h)}(hjLHh]hETHTOOL_GPFLAGS}(hjNHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJHubah}(h]h ]h"]h$]h&]uh1hhhhM hjGHubah}(h]h ]h"]h$]h&]uh1jhjDHubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_GET``h]h)}(hjlHh]hETHTOOL_MSG_PRIVFLAGS_GET}(hjnHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjHubah}(h]h ]h"]h$]h&]uh1hhhhM hjgHubah}(h]h ]h"]h$]h&]uh1jhjDHubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPFLAGS``h]h)}(hjHh]hETHTOOL_SPFLAGS}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_SET``h]h)}(hjHh]hETHTOOL_MSG_PRIVFLAGS_SET}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFH``h]h)}(hjHh]h ETHTOOL_GRXFH}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hjHh]hETHTOOL_MSG_RSS_GET}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhM hjHubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFH``h]h)}(hj'Ih]h ETHTOOL_SRXFH}(hj)IhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%Iubah}(h]h ]h"]h$]h&]uh1hhhhM! hj"Iubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_SET``h]h)}(hjGIh]hETHTOOL_MSG_RSS_SET}(hjIIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEIubah}(h]h ]h"]h$]h&]uh1hhhhM! hjBIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGRO``h]h)}(hjpIh]h ETHTOOL_GGRO}(hjrIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnIubah}(h]h ]h"]h$]h&]uh1hhhhM" hjkIubah}(h]h ]h"]h$]h&]uh1jhjhIubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hjIh]hETHTOOL_MSG_FEATURES_GET}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhM" hjIubah}(h]h ]h"]h$]h&]uh1jhjhIubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGRO``h]h)}(hjIh]h ETHTOOL_SGRO}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhM# hjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjIh]hETHTOOL_MSG_FEATURES_SET}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhM# hjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXRINGS``h]h)}(hjJh]hETHTOOL_GRXRINGS}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhM$ hjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(hn/ah]hn/a}(hj JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$ hjJubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLCNT``h]h)}(hjBJh]hETHTOOL_GRXCLSRLCNT}(hjDJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@Jubah}(h]h ]h"]h$]h&]uh1hhhhM% hj=Jubah}(h]h ]h"]h$]h&]uh1jhj:Jubj)}(hhh]h)}(hn/ah]hn/a}(hj`JhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM% hj]Jubah}(h]h ]h"]h$]h&]uh1jhj:Jubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRULE``h]h)}(hjJh]hETHTOOL_GRXCLSRULE}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhM& hj}Jubah}(h]h ]h"]h$]h&]uh1jhjzJubj)}(hhh]h)}(hn/ah]hn/a}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM& hjJubah}(h]h ]h"]h$]h&]uh1jhjzJubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLALL``h]h)}(hjJh]hETHTOOL_GRXCLSRLALL}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhM' hjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hn/ah]hn/a}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM' hjJubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCLSRLDEL``h]h)}(hjKh]hETHTOOL_SRXCLSRLDEL}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhM( hjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hn/ah]hn/a}(hj KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM( hjKubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCLSRLINS``h]h)}(hjBKh]hETHTOOL_SRXCLSRLINS}(hjDKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@Kubah}(h]h ]h"]h$]h&]uh1hhhhM) hj=Kubah}(h]h ]h"]h$]h&]uh1jhj:Kubj)}(hhh]h)}(hn/ah]hn/a}(hj`KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM) hj]Kubah}(h]h ]h"]h$]h&]uh1jhj:Kubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_FLASHDEV``h]h)}(hjKh]hETHTOOL_FLASHDEV}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhM* hj}Kubah}(h]h ]h"]h$]h&]uh1jhjzKubj)}(hhh]h)}(hn/ah]hn/a}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM* hjKubah}(h]h ]h"]h$]h&]uh1jhjzKubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_RESET``h]h)}(hjKh]h ETHTOOL_RESET}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhM+ hjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hn/ah]hn/a}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+ hjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXNTUPLE``h]h)}(hjLh]hETHTOOL_SRXNTUPLE}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhM, hjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hn/ah]hn/a}(hj LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM, hjLubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXNTUPLE``h]h)}(hjBLh]hETHTOOL_GRXNTUPLE}(hjDLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@Lubah}(h]h ]h"]h$]h&]uh1hhhhM- hj=Lubah}(h]h ]h"]h$]h&]uh1jhj:Lubj)}(hhh]h)}(hn/ah]hn/a}(hj`LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM- hj]Lubah}(h]h ]h"]h$]h&]uh1jhj:Lubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSSET_INFO``h]h)}(hjLh]hETHTOOL_GSSET_INFO}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhM. hj}Lubah}(h]h ]h"]h$]h&]uh1jhjzLubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hjLh]hETHTOOL_MSG_STRSET_GET}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhM. hjLubah}(h]h ]h"]h$]h&]uh1jhjzLubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFHINDIR``h]h)}(hjLh]hETHTOOL_GRXFHINDIR}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhM/ hjLubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hjLh]hETHTOOL_MSG_RSS_GET}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhM/ hjLubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFHINDIR``h]h)}(hjMh]hETHTOOL_SRXFHINDIR}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhM0 hjMubah}(h]h ]h"]h$]h&]uh1jhj Mubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_SET``h]h)}(hj4Mh]hETHTOOL_MSG_RSS_SET}(hj6MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2Mubah}(h]h ]h"]h$]h&]uh1hhhhM0 hj/Mubah}(h]h ]h"]h$]h&]uh1jhj Mubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFEATURES``h]h)}(hj]Mh]hETHTOOL_GFEATURES}(hj_MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[Mubah}(h]h ]h"]h$]h&]uh1hhhhM1 hjXMubah}(h]h ]h"]h$]h&]uh1jhjUMubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj}Mh]hETHTOOL_MSG_FEATURES_GET}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{Mubah}(h]h ]h"]h$]h&]uh1hhhhM1 hjxMubah}(h]h ]h"]h$]h&]uh1jhjUMubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFEATURES``h]h)}(hjMh]hETHTOOL_SFEATURES}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhM2 hjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjMh]hETHTOOL_MSG_FEATURES_SET}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhM2 hjMubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GCHANNELS``h]h)}(hjMh]hETHTOOL_GCHANNELS}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhM3 hjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h``ETHTOOL_MSG_CHANNELS_GET``h]h)}(hjNh]hETHTOOL_MSG_CHANNELS_GET}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj Nubah}(h]h ]h"]h$]h&]uh1hhhhM3 hj Nubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SCHANNELS``h]h)}(hj8Nh]hETHTOOL_SCHANNELS}(hj:NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6Nubah}(h]h ]h"]h$]h&]uh1hhhhM4 hj3Nubah}(h]h ]h"]h$]h&]uh1jhj0Nubj)}(hhh]h)}(h``ETHTOOL_MSG_CHANNELS_SET``h]h)}(hjXNh]hETHTOOL_MSG_CHANNELS_SET}(hjZNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVNubah}(h]h ]h"]h$]h&]uh1hhhhM4 hjSNubah}(h]h ]h"]h$]h&]uh1jhj0Nubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SET_DUMP``h]h)}(hjNh]hETHTOOL_SET_DUMP}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1hhhhM5 hj|Nubah}(h]h ]h"]h$]h&]uh1jhjyNubj)}(hhh]h)}(hn/ah]hn/a}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5 hjNubah}(h]h ]h"]h$]h&]uh1jhjyNubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_DUMP_FLAG``h]h)}(hjNh]hETHTOOL_GET_DUMP_FLAG}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1hhhhM6 hjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hn/ah]hn/a}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6 hjNubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_DUMP_DATA``h]h)}(hjOh]hETHTOOL_GET_DUMP_DATA}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubah}(h]h ]h"]h$]h&]uh1hhhhM7 hjNubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hn/ah]hn/a}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7 hjOubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_TS_INFO``h]h)}(hjAOh]hETHTOOL_GET_TS_INFO}(hjCOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?Oubah}(h]h ]h"]h$]h&]uh1hhhhM8 hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:Pubah}(h]h ]h"]h$]h&]uh1hhhhM; hj7Pubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEE``h]h)}(hjePh]h ETHTOOL_SEEE}(hjgPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcPubah}(h]h ]h"]h$]h&]uh1hhhhM< hj`Pubah}(h]h ]h"]h$]h&]uh1jhj]Pubj)}(hhh]h)}(h``ETHTOOL_MSG_EEE_SET``h]h)}(hjPh]hETHTOOL_MSG_EEE_SET}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhM< hjPubah}(h]h ]h"]h$]h&]uh1jhj]Pubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRSSH``h]h)}(hjPh]h ETHTOOL_GRSSH}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhM= hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hjPh]hETHTOOL_MSG_RSS_GET}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhM= hjPubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRSSH``h]h)}(hjPh]h ETHTOOL_SRSSH}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPubah}(h]h ]h"]h$]h&]uh1hhhhM> hjPubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(hn/ah]hn/a}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM> hjQubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTUNABLE``h]h)}(hj7Qh]hETHTOOL_GTUNABLE}(hj9QhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5Qubah}(h]h ]h"]h$]h&]uh1hhhhM? hj2Qubah}(h]h ]h"]h$]h&]uh1jhj/Qubj)}(hhh]h)}(hn/ah]hn/a}(hjUQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM? hjRQubah}(h]h ]h"]h$]h&]uh1jhj/Qubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STUNABLE``h]h)}(hjwQh]hETHTOOL_STUNABLE}(hjyQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuQubah}(h]h ]h"]h$]h&]uh1hhhhM@ hjrQubah}(h]h ]h"]h$]h&]uh1jhjoQubj)}(hhh]h)}(hn/ah]hn/a}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@ hjQubah}(h]h ]h"]h$]h&]uh1jhjoQubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPHYSTATS``h]h)}(hjQh]hETHTOOL_GPHYSTATS}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMA hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hn/ah]hn/a}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMA hjQubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PERQUEUE``h]h)}(hjQh]hETHTOOL_PERQUEUE}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQubah}(h]h ]h"]h$]h&]uh1hhhhMB hjQubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hn/ah]hn/a}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMB hjRubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GLINKSETTINGS``h]h)}(hj7Rh]hETHTOOL_GLINKSETTINGS}(hj9RhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5Rubah}(h]h ]h"]h$]h&]uh1hhhhMC hj2Rubah}(h]h ]h"]h$]h&]uh1jhj/Rubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_GET`` ``ETHTOOL_MSG_LINKMODES_GET``h](h)}(h``ETHTOOL_MSG_LINKINFO_GET``h]hETHTOOL_MSG_LINKINFO_GET}(hjYRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjURubh }(hjURhhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_GET``h]hETHTOOL_MSG_LINKMODES_GET}(hjkRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjURubeh}(h]h ]h"]h$]h&]uh1hhhhMC hjRRubah}(h]h ]h"]h$]h&]uh1jhj/Rubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SLINKSETTINGS``h]h)}(hjRh]hETHTOOL_SLINKSETTINGS}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhME hjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET``h](h)}(h``ETHTOOL_MSG_LINKINFO_SET``h]hETHTOOL_MSG_LINKINFO_SET}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubh }(hjRhhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_SET``h]hETHTOOL_MSG_LINKMODES_SET}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubeh}(h]h ]h"]h$]h&]uh1hhhhME hjRubah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHY_GTUNABLE``h]h)}(hjRh]hETHTOOL_PHY_GTUNABLE}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhMG hjRubah}(h]h ]h"]h$]h&]uh1jhjRubj)}(hhh]h)}(hn/ah]hn/a}(hj ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMG hj Subah}(h]h ]h"]h$]h&]uh1jhjRubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHY_STUNABLE``h]h)}(hj/Sh]hETHTOOL_PHY_STUNABLE}(hj1ShhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-Subah}(h]h ]h"]h$]h&]uh1hhhhMH hj*Subah}(h]h ]h"]h$]h&]uh1jhj'Subj)}(hhh]h)}(hn/ah]hn/a}(hjMShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMH hjJSubah}(h]h ]h"]h$]h&]uh1jhj'Subeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFECPARAM``h]h)}(hjoSh]hETHTOOL_GFECPARAM}(hjqShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmSubah}(h]h ]h"]h$]h&]uh1hhhhMI hjjSubah}(h]h ]h"]h$]h&]uh1jhjgSubj)}(hhh]h)}(h``ETHTOOL_MSG_FEC_GET``h]h)}(hjSh]hETHTOOL_MSG_FEC_GET}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMI hjSubah}(h]h ]h"]h$]h&]uh1jhjgSubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFECPARAM``h]h)}(hjSh]hETHTOOL_SFECPARAM}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMJ hjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h``ETHTOOL_MSG_FEC_SET``h]h)}(hjSh]hETHTOOL_MSG_FEC_SET}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1hhhhMJ hjSubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMK hjSubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h``ETHTOOL_MSG_CABLE_TEST_ACT``h]h)}(hjTh]hETHTOOL_MSG_CABLE_TEST_ACT}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMK hjTubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh](j)}(hhh]h)}(hn/ah]hn/a}(hj?ThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhML hjXjQ[jN[ja]j^]j^j^jfj}fjekjbkjojojqjqj8j5j~j~jjj’jjjjjjjjMjJjjjjj5j2jԽjѽjjjwjtjjj+j(jjj!jj@j=jjjEjBjjjjj3j0jPjMj j j j jjjujrj j j&j&j$+j!+jO1jL1j5j5jQ=jN=j;j;jI=jF=jWjWu nametypes}(jWjwjjj j)j1j4j6j;j1?jMjOjQjSjLUjAXjQ[ja]j^jfjekjojqj8j~jj’jjjjMjjj5jԽjjwjj+jj!j@jjEjjj3jPj j jjuj j&j$+jO1j5jQ=j;jI=jWuh}(jWhjthjjzj jj jj)j j1j)j4j1j6j4j;j6j.?j;jMj4?jOjMjQjOjSjQjIUjSj>XjOUjN[jDXj^]jT[j^jd]j}fj^jbkjfjojhkjqjoj5jqj~j~jj;jjjBjKj=jCjjŒjjjjjJjjjPjjj2jjѽj8jjjj׽jtjjjzj(jjj.jjjjjjj=j$jPjUjjjSjXjjjxj}j@jFjjjjjRjWjjjjj|jjjCjBjjjjjHjjj0jjMj6j jSj j jj jrjjyj~jjjWj\j jxjjj&j j%j%j!+j&jL1j'+j.j.j5jR1jN=j5j;j9jF=j;jWjT=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.