sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget./translations/zh_CN/networking/ethtool-netlinkmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_TW/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/it_IT/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/networking/ethtool-netlinkmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hNetlink interface for ethtoolh]hNetlink interface for ethtool}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhH/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink.rsthKubh)}(hhh](h)}(hBasic informationh]hBasic information}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hXPNetlink interface for ethtool uses generic netlink family ``ethtool`` (userspace application should use macros ``ETHTOOL_GENL_NAME`` and ``ETHTOOL_GENL_VERSION`` defined in ```` uapi header). This family does not use a specific header, all information in requests and replies is passed using netlink attributes.h](h:Netlink interface for ethtool uses generic netlink family }(hhhhhNhNubhliteral)}(h ``ethtool``h]hethtool}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh* (userspace application should use macros }(hhhhhNhNubh)}(h``ETHTOOL_GENL_NAME``h]hETHTOOL_GENL_NAME}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh and }(hhhhhNhNubh)}(h``ETHTOOL_GENL_VERSION``h]hETHTOOL_GENL_VERSION}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh defined in }(hhhhhNhNubh)}(h````h]h}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh uapi header). This family does not use a specific header, all information in requests and replies is passed using netlink attributes.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hThe ethtool netlink interface uses extended ACK for error and warning reporting, userspace application developers are encouraged to make these messages available to user in a suitable way.h]hThe ethtool netlink interface uses extended ACK for error and warning reporting, userspace application developers are encouraged to make these messages available to user in a suitable way.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hRequests can be divided into three categories: "get" (retrieving information), "set" (setting parameters) and "action" (invoking an action).h]hRequests can be divided into three categories: “get” (retrieving information), “set” (setting parameters) and “action” (invoking an action).}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXAll "set" and "action" type requests require admin privileges (``CAP_NET_ADMIN`` in the namespace). Most "get" type requests are allowed for anyone but there are exceptions (where the response contains sensitive information). In some cases, the request as such is allowed for anyone but unprivileged users have attributes with sensitive information (e.g. wake-on-lan password) omitted.h](hGAll “set” and “action” type requests require admin privileges (}(hj>hhhNhNubh)}(h``CAP_NET_ADMIN``h]h CAP_NET_ADMIN}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubhX5 in the namespace). Most “get” type requests are allowed for anyone but there are exceptions (where the response contains sensitive information). In some cases, the request as such is allowed for anyone but unprivileged users have attributes with sensitive information (e.g. wake-on-lan password) omitted.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]basic-informationah ]h"]basic informationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Conventionsh]h Conventions}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhKubh)}(hXAttributes which represent a boolean value usually use NLA_U8 type so that we can distinguish three states: "on", "off" and "not present" (meaning the information is not available in "get" requests or value is not to be changed in "set" requests). For these attributes, the "true" value should be passed as number 1 but any non-zero value should be understood as "true" by recipient. In the tables below, "bool" denotes NLA_U8 attributes interpreted in this way.h]hXAttributes which represent a boolean value usually use NLA_U8 type so that we can distinguish three states: “on”, “off” and “not present” (meaning the information is not available in “get” requests or value is not to be changed in “set” requests). For these attributes, the “true” value should be passed as number 1 but any non-zero value should be understood as “true” by recipient. In the tables below, “bool” denotes NLA_U8 attributes interpreted in this way.}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjfhhubh)}(hIn the message structure descriptions below, if an attribute name is suffixed with "+", parent nest can contain multiple attributes of the same type. This implements an array of entries.h]hIn the message structure descriptions below, if an attribute name is suffixed with “+”, parent nest can contain multiple attributes of the same type. This implements an array of entries.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjfhhubh)}(hXAttributes that need to be filled-in by device drivers and that are dumped to user space based on whether they are valid or not should not use zero as a valid value. This avoids the need to explicitly signal the validity of the attribute in the device driver API.h]hXAttributes that need to be filled-in by device drivers and that are dumped to user space based on whether they are valid or not should not use zero as a valid value. This avoids the need to explicitly signal the validity of the attribute in the device driver API.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK,hjfhhubeh}(h] conventionsah ]h"] conventionsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hRequest headerh]hRequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK3ubh)}(hiEach request or reply message contains a nested attribute with common header. Structure of this header ish]hiEach request or reply message contains a nested attribute with common header. Structure of this header is}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjhhubh block_quote)}(hXv============================== ====== ============================= ``ETHTOOL_A_HEADER_DEV_INDEX`` u32 device ifindex ``ETHTOOL_A_HEADER_DEV_NAME`` string device name ``ETHTOOL_A_HEADER_FLAGS`` u32 flags common for all requests ``ETHTOOL_A_HEADER_PHY_INDEX`` u32 phy device index ============================== ====== ============================= h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h``ETHTOOL_A_HEADER_DEV_INDEX``h]h)}(hj h]hETHTOOL_A_HEADER_DEV_INDEX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj$ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdevice ifindexh]hdevice ifindex}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_DEV_NAME``h]h)}(hj`h]hETHTOOL_A_HEADER_DEV_NAME}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ubah}(h]h ]h"]h$]h&]uh1hhhhK:hj[ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(hstringh]hstring}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hj{ubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(h device nameh]h device name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_FLAGS``h]h)}(hjh]hETHTOOL_A_HEADER_FLAGS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hflags common for all requestsh]hflags common for all requests}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_HEADER_PHY_INDEX``h]h)}(hjh]hETHTOOL_A_HEADER_PHY_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhjm hhubh)}(hX@``ACT`` messages request kernel (driver) to perform a specific action. If some information is reported by kernel (which can be suppressed by setting ``ETHTOOL_FLAG_OMIT_REPLY`` flag in request header), the reply takes form of an ``ACT_REPLY`` message. Performing an action also triggers a notification (``NTF`` message).h](h)}(h``ACT``h]hACT}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubh messages request kernel (driver) to perform a specific action. If some information is reported by kernel (which can be suppressed by setting }(hj(hhhNhNubh)}(h``ETHTOOL_FLAG_OMIT_REPLY``h]hETHTOOL_FLAG_OMIT_REPLY}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubh5 flag in request header), the reply takes form of an }(hj(hhhNhNubh)}(h ``ACT_REPLY``h]h ACT_REPLY}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubh= message. Performing an action also triggers a notification (}(hj(hhhNhNubh)}(h``NTF``h]hNTF}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(ubh message).}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMFhjm hhubh)}(hCLater sections describe the format and semantics of these messages.h]hCLater sections describe the format and semantics of these messages.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjm hhubeh}(h]list-of-message-typesah ]h"]list of message typesah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h STRSET_GETh]h STRSET_GET}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hhhhhMPubh)}(hXuRequests contents of a string set as provided by ioctl commands ``ETHTOOL_GSSET_INFO`` and ``ETHTOOL_GSTRINGS.`` String sets are not user writeable so that the corresponding ``STRSET_SET`` 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).h](h@Requests contents of a string set as provided by ioctl commands }(hj)hhhNhNubh)}(h``ETHTOOL_GSSET_INFO``h]hETHTOOL_GSSET_INFO}(hj')hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubh and }(hj)hhhNhNubh)}(h``ETHTOOL_GSTRINGS.``h]hETHTOOL_GSTRINGS.}(hj9)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubh> String sets are not user writeable so that the corresponding }(hj)hhhNhNubh)}(h``STRSET_SET``h]h STRSET_SET}(hjK)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&]uh1hhhhMRhj)hhubh)}(hRequest contents:h]hRequest contents:}(hjc)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhj)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&]colwidthKuh1jhjx)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjx)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK#uh1jhjx)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjx)ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjx)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&]uh1hhhhM\hj)ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj)ubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]h)}(hj*h]hETHTOOL_A_STRSET_STRINGSETS}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhM^hj *ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj*ubj)}(hhh]h)}(hnestedh]hnested}(hj/*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hj,*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hstring set to requesth]hstring set to request}(hjF*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjC*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj`*ubj)}(hhh]h)}(h#``ETHTOOL_A_STRINGSETS_STRINGSET+``h]h)}(hjq*h]hETHTOOL_A_STRINGSETS_STRINGSET+}(hjs*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjo*ubah}(h]h ]h"]h$]h&]uh1hhhhM`hjl*ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj`*ubj)}(hhh]h)}(hnestedh]hnested}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj*ubah}(h]h ]h"]h$]h&]uh1jhj`*ubj)}(hhh]h)}(hone string seth]hone string set}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj*ubah}(h]h ]h"]h$]h&]uh1jhj`*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h}(h]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&]uh1hhhhMbhj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hu32h]hu32}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hset idh]hset id}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj +ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjx)ubeh}(h]h ]h"]h$]h&]colsKuh1jhju)ubah}(h]h ]h"]h$]h&]uh1jhjq)ubah}(h]h ]h"]h$]h&]uh1jhhhM[hj)hhubh)}(hKernel response contents:h]hKernel response contents:}(hjC+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj)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&]colwidthKuh1jhjX+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjX+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjX+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjX+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjX+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjX+ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjX+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&]uh1hhhhMhhj+ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj+ubj)}(hhh]h)}(hnestedh]hnested}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(h reply headerh]h reply header}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj+ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]h)}(hj,h]hETHTOOL_A_STRSET_STRINGSETS}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMjhj+ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj+ubj)}(hhh]h)}(hnestedh]hnested}(hj#,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj ,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&]uh1hhhhMjhj7,ubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjT,ubj)}(hhh]h)}(h#``ETHTOOL_A_STRINGSETS_STRINGSET+``h]h)}(hje,h]hETHTOOL_A_STRINGSETS_STRINGSET+}(hjg,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc,ubah}(h]h ]h"]h$]h&]uh1hhhhMlhj`,ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjT,ubj)}(hhh]h)}(hnestedh]hnested}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj,ubah}(h]h ]h"]h$]h&]uh1jhjT,ubj)}(hhh]h)}(hone string seth]hone string set}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj,ubah}(h]h ]h"]h$]h&]uh1jhjT,ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_ID``h]h)}(hj,h]hETHTOOL_A_STRINGSET_ID}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubah}(h]h ]h"]h$]h&]uh1hhhhMnhj,ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj,ubj)}(hhh]h)}(hu32h]hu32}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj,ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hset idh]hset id}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhj-ubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_COUNT``h]h)}(hj9-h]hETHTOOL_A_STRINGSET_COUNT}(hj;-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7-ubah}(h]h ]h"]h$]h&]uh1hhhhMphj4-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hu32h]hu32}(hjX-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjU-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hnumber of stringsh]hnumber of strings}(hjo-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjl-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h``ETHTOOL_A_STRINGSET_STRINGS``h]h)}(hj-h]hETHTOOL_A_STRINGSET_STRINGS}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMrhj-ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hnestedh]hnested}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(harray of stringsh]harray of strings}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhj-ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h}(h]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&]uh1hhhhMthj.ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj-ubj)}(hhh]h)}(hnestedh]hnested}(hj5.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj2.ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(h one stringh]h one string}(hjL.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjI.ubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjf.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjf.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjf.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjf.ubj)}(hhh]h)}(h``ETHTOOL_A_STRING_INDEX``h]h)}(hj.h]hETHTOOL_A_STRING_INDEX}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]uh1jhjf.ubj)}(hhh]h)}(hu32h]hu32}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]uh1jhjf.ubj)}(hhh]h)}(h string indexh]h string index}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj.ubah}(h]h ]h"]h$]h&]uh1jhjf.ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(h``ETHTOOL_A_STRING_VALUE``h]h)}(hj /h]hETHTOOL_A_STRING_VALUE}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj /ubah}(h]h ]h"]h$]h&]uh1hhhhMxhj/ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(hstringh]hstring}(hj+/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj(/ubah}(h]h ]h"]h$]h&]uh1jhj.ubj)}(hhh]h)}(h string valueh]h string value}(hjB/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhj?/ubah}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]h)}(hjd/h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hjf/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjb/ubah}(h]h ]h"]h$]h&]uh1hhhhMzhj_/ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj\/ubj)}(hhh]h)}(hflagh]hflag}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj/ubah}(h]h ]h"]h$]h&]uh1jhj\/ubj)}(hhh]h)}(hreturn only countsh]hreturn only counts}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMzhj/ubah}(h]h ]h"]h$]h&]uh1jhj\/ubeh}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjX+ubeh}(h]h ]h"]h$]h&]colsKuh1jhjU+ubah}(h]h ]h"]h$]h&]uh1jhjQ+ubah}(h]h ]h"]h$]h&]uh1jhhhMghj)hhubh)}(hDevice identification in request header is optional. Depending on its presence a and ``NLM_F_DUMP`` flag, there are three type of ``STRSET_GET`` requests:h](hUDevice identification in request header is optional. Depending on its presence a and }(hj/hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubh flag, there are three type of }(hj/hhhNhNubh)}(h``STRSET_GET``h]h STRSET_GET}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubh requests:}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM}hj)hhubj)}(h- no ``NLM_F_DUMP,`` no device: get "global" stringsets - no ``NLM_F_DUMP``, with device: get string sets related to the device - ``NLM_F_DUMP``, no device: get device related string sets for all devices h]h bullet_list)}(hhh](h list_item)}(h5no ``NLM_F_DUMP,`` no device: get "global" stringsetsh]h)}(hj 0h](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&]uh1hhhhMhj 0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubj 0)}(hEno ``NLM_F_DUMP``, with device: get string sets related to the deviceh]h)}(hj50h](hno }(hj70hhhNhNubh)}(h``NLM_F_DUMP``h]h NLM_F_DUMP}(hj>0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj70ubh4, with device: get string sets related to the device}(hj70hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj30ubah}(h]h ]h"]h$]h&]uh1j0hj0ubj 0)}(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}(hjd0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`0ubh;, no device: get device related string sets for all devices}(hj`0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj\0ubah}(h]h ]h"]h$]h&]uh1j0hj0ubeh}(h]h ]h"]h$]h&]bullet-uh1j0hhhMhj/ubah}(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 }(hj0hhhNhNubh)}(h``ETHTOOL_A_STRSET_STRINGSETS``h]hETHTOOL_A_STRSET_STRINGSETS}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubhl array, all string sets of requested type are returned, otherwise only those specified in the request. Flag }(hj0hhhNhNubh)}(h ``ETHTOOL_A_STRSET_COUNTS_ONLY``h]hETHTOOL_A_STRSET_COUNTS_ONLY}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubhO tells kernel to only return string counts of the sets, not the actual strings.}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubeh}(h] strset-getah ]h"] strset_getah$]h&]uh1hhhhhhhhMPubh)}(hhh](h)}(h LINKINFO_GETh]h LINKINFO_GET}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hhhhhMubh)}(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 }(hj0hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubhh except for link modes and autonegotiation related information. The request does not use any attributes.}(hj0hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj0hhubh)}(hRequest contents:h]hRequest contents:}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0hhubj)}(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)}(hj<1h]hETHTOOL_A_LINKINFO_HEADER}(hj>1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:1ubah}(h]h ]h"]h$]h&]uh1hhhhMhj71ubah}(h]h ]h"]h$]h&]uh1jhj41ubj)}(hhh]h)}(hnestedh]hnested}(hjZ1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW1ubah}(h]h ]h"]h$]h&]uh1jhj41ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjq1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn1ubah}(h]h ]h"]h$]h&]uh1jhj41ubeh}(h]h ]h"]h$]h&]uh1jhj11ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj 1ubah}(h]h ]h"]h$]h&]uh1jhj 1ubah}(h]h ]h"]h$]h&]uh1jhhhMhj0hhubh)}(hKernel response contents:h]hKernel response contents:}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0hhubj)}(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$uh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj1ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj1h]hETHTOOL_A_LINKINFO_HEADER}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hnestedh]hnested}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(h reply headerh]h reply header}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PORT``h]h)}(hj<2h]hETHTOOL_A_LINKINFO_PORT}(hj>2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj72ubah}(h]h ]h"]h$]h&]uh1jhj42ubj)}(hhh]h)}(hu8h]hu8}(hjZ2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjW2ubah}(h]h ]h"]h$]h&]uh1jhj42ubj)}(hhh]h)}(h physical porth]h physical port}(hjq2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn2ubah}(h]h ]h"]h$]h&]uh1jhj42ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hj2h]hETHTOOL_A_LINKINFO_PHYADDR}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hu8h]hu8}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_TP_MDIX``h]h)}(hj2h]hETHTOOL_A_LINKINFO_TP_MDIX}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hu8h]hu8}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj2ubj)}(hhh]h)}(hMDI(-X) statush]hMDI(-X) status}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hjA3h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(hjC3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj<3ubah}(h]h ]h"]h$]h&]uh1jhj93ubj)}(hhh]h)}(hu8h]hu8}(hj_3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj\3ubah}(h]h ]h"]h$]h&]uh1jhj93ubj)}(hhh]h)}(hMDI(-X) controlh]hMDI(-X) control}(hjv3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjs3ubah}(h]h ]h"]h$]h&]uh1jhj93ubeh}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_LINKINFO_TRANSCEIVER``h]h)}(hj3h]hETHTOOL_A_LINKINFO_TRANSCEIVER}(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)}(h transceiverh]h transceiver}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]colsKuh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]uh1jhhhMhj0hhubh)}(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&]uh1hhhhMhj0hhubh)}(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&]uh1hhhhMhj0hhubeh}(h] linkinfo-getah ]h"] linkinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKINFO_SETh]h LINKINFO_SET}(hj54hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj24hhhhhMubh)}(h\``LINKINFO_SET`` request allows setting some of the attributes reported by ``LINKINFO_GET``.h](h)}(h``LINKINFO_SET``h]h LINKINFO_SET}(hjG4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC4ubh; request allows setting some of the attributes reported by }(hjC4hhhNhNubh)}(h``LINKINFO_GET``h]h LINKINFO_GET}(hjY4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC4ubh.}(hjC4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj24hhubh)}(hRequest contents:h]hRequest contents:}(hjq4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj24hhubj)}(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$uh1jhj4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj4ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj4ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_HEADER``h]h)}(hj4h]hETHTOOL_A_LINKINFO_HEADER}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hnestedh]hnested}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PORT``h]h)}(hj 5h]hETHTOOL_A_LINKINFO_PORT}(hj 5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hu8h]hu8}(hj'5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj$5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h physical porth]h physical port}(hj>5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKINFO_PHYADDR``h]h)}(hj`5h]hETHTOOL_A_LINKINFO_PHYADDR}(hjb5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^5ubah}(h]h ]h"]h$]h&]uh1hhhhMhj[5ubah}(h]h ]h"]h$]h&]uh1jhjX5ubj)}(hhh]h)}(hu8h]hu8}(hj~5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{5ubah}(h]h ]h"]h$]h&]uh1jhjX5ubj)}(hhh]h)}(hphy MDIO addressh]hphy MDIO address}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhjX5ubeh}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL``h]h)}(hj5h]hETHTOOL_A_LINKINFO_TP_MDIX_CTRL}(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)}(hMDI(-X) controlh]hMDI(-X) control}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]colsKuh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1jhhhMhj24hhubh)}(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&]uh1hhhhMhj24hhubeh}(h] linkinfo-setah ]h"] linkinfo_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKMODES_GETh]h LINKMODES_GET}(hj86hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj56hhhhhMubh)}(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 }(hjF6hhhNhNubh)}(h``ETHTOOL_GLINKSETTINGS``h]hETHTOOL_GLINKSETTINGS}(hjN6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF6ubh*. The request does not use any attributes.}(hjF6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj56hhubh)}(hRequest contents:h]hRequest contents:}(hjf6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj56hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKMODES_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj{6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj{6ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj{6ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hj6h]hETHTOOL_A_LINKMODES_HEADER}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hnestedh]hnested}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]uh1jhj{6ubeh}(h]h ]h"]h$]h&]colsKuh1jhjx6ubah}(h]h ]h"]h$]h&]uh1jhjt6ubah}(h]h ]h"]h$]h&]uh1jhhhMhj56hhubh)}(hKernel response contents:h]hKernel response contents:}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj56hhubj)}(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*uh1jhj$7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj$7ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj$7ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_HEADER``h]h)}(hjP7h]hETHTOOL_A_LINKMODES_HEADER}(hjR7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjN7ubah}(h]h ]h"]h$]h&]uh1hhhhMhjK7ubah}(h]h ]h"]h$]h&]uh1jhjH7ubj)}(hhh]h)}(hnestedh]hnested}(hjn7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjk7ubah}(h]h ]h"]h$]h&]uh1jhjH7ubj)}(hhh]h)}(h reply headerh]h reply header}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjH7ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_AUTONEG``h]h)}(hj7h]hETHTOOL_A_LINKMODES_AUTONEG}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hu8h]hu8}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_OURS``h]h)}(hj7h]hETHTOOL_A_LINKMODES_OURS}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hbitseth]hbitset}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(hadvertised link modesh]hadvertised link modes}(hj38hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj08ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_PEER``h]h)}(hjU8h]hETHTOOL_A_LINKMODES_PEER}(hjW8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS8ubah}(h]h ]h"]h$]h&]uh1hhhhMhjP8ubah}(h]h ]h"]h$]h&]uh1jhjM8ubj)}(hhh]h)}(hbitseth]hbitset}(hjs8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjp8ubah}(h]h ]h"]h$]h&]uh1jhjM8ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjM8ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKMODES_SPEED``h]h)}(hj8h]hETHTOOL_A_LINKMODES_SPEED}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hu32h]hu32}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(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&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(hu8h]hu8}(hj!9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h duplex modeh]h duplex mode}(hj89hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj59ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG``h]h)}(hjZ9h]h$ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG}(hj\9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX9ubah}(h]h ]h"]h$]h&]uh1hhhhMhjU9ubah}(h]h ]h"]h$]h&]uh1jhjR9ubj)}(hhh]h)}(hu8h]hu8}(hjx9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhju9ubah}(h]h ]h"]h$]h&]uh1jhjR9ubj)}(hhh]h)}(hMaster/slave port modeh]hMaster/slave port mode}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjR9ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(hhh](j)}(hhh]h)}(h*``ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE``h]h)}(hj9h]hÐTOOL_A_LINKMODES_MASTER_SLAVE_STATE}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hu8h]hu8}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(hMaster/slave port stateh]hMaster/slave port state}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjE7ubj)}(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&]uh1jhjE7ubeh}(h]h ]h"]h$]h&]uh1jhj$7ubeh}(h]h ]h"]h$]h&]colsKuh1jhj!7ubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1jhhhMhj56hhubh)}(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 }(hjp:hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hjx:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp:ubhI, value represents advertised modes and mask represents supported modes. }(hjp:hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_PEER``h]hETHTOOL_A_LINKMODES_PEER}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp:ubh in the reply is a bit list.}(hjp:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj56hhubh)}(hn``LINKMODES_GET`` allows dump requests (kernel returns reply messages for all devices supporting the request).h](h)}(h``LINKMODES_GET``h]h LINKMODES_GET}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj56hhubeh}(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}(hj6;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjM;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJ;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)}(hjo;h]hETHTOOL_A_LINKMODES_AUTONEG}(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)}(hu8h]hu8}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhjg;ubj)}(hhh]h)}(hautonegotiation statush]hautonegotiation status}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhjg;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&]uh1hhhhMhj8<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hpartner link modesh]hpartner link modes}(hjR<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjO<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)}(hjt<h]hETHTOOL_A_LINKMODES_SPEED}(hjv<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr<ubah}(h]h ]h"]h$]h&]uh1hhhhMhjo<ubah}(h]h ]h"]h$]h&]uh1jhjl<ubj)}(hhh]h)}(hu32h]hu32}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhjl<ubj)}(hhh]h)}(hlink speed (Mb/s)h]hlink speed (Mb/s)}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<ubah}(h]h ]h"]h$]h&]uh1jhjl<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}(hjW=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjT=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)}(hjy=h]h!ETHTOOL_A_LINKMODES_RATE_MATCHING}(hj{=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw=ubah}(h]h ]h"]h$]h&]uh1hhhhMhjt=ubah}(h]h ]h"]h$]h&]uh1jhjq=ubj)}(hhh]h)}(hu8h]hu8}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjq=ubj)}(hhh]h)}(hPHY rate matchingh]hPHY rate matching}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjq=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&]uh1jhj: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&]uh1hhj8>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 }(hj8>hhhNhNubh)}(h``ETHTOOL_A_LINKMODES_OURS``h]hETHTOOL_A_LINKMODES_OURS}(hjN>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8>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.}(hj8>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj:hhubeh}(h] linkmodes-setah ]h"] linkmodes_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h LINKSTATE_GETh]h LINKSTATE_GET}(hjq>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjn>hhhhhMubh)}(hXCRequests link state information. Link up/down flag (as provided by ``ETHTOOL_GLINK`` ioctl command) is provided. Optionally, extended state might be provided as well. In general, extended state describes reasons for why a port is down, or why it operates in some non-obvious mode. This request does not have any attributes.h](hCRequests link state information. Link up/down flag (as provided by }(hj>hhhNhNubh)}(h``ETHTOOL_GLINK``h]h ETHTOOL_GLINK}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubh ioctl command) is provided. Optionally, extended state might be provided as well. In general, extended state describes reasons for why a port is down, or why it operates in some non-obvious mode. This request does not have any attributes.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjn>hhubh)}(hRequest contents:h]hRequest contents:}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjn>hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_LINKSTATE_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_LINKSTATE_HEADER``h]h)}(hj>h]hETHTOOL_A_LINKSTATE_HEADER}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hnestedh]hnested}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]colsKuh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhhhMhjn>hhubh)}(hKernel response contents:h]hKernel response contents:}(hjH?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjn>hhubj)}(hXr==================================== ====== ============================ ``ETHTOOL_A_LINKSTATE_HEADER`` nested reply header ``ETHTOOL_A_LINKSTATE_LINK`` bool link state (up/down) ``ETHTOOL_A_LINKSTATE_SQI`` u32 Current Signal Quality Index ``ETHTOOL_A_LINKSTATE_SQI_MAX`` u32 Max support SQI value ``ETHTOOL_A_LINKSTATE_EXT_STATE`` u8 link extended state ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE`` u8 link extended substate ``ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT`` u32 count of link down events ==================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj]?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj]?ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj]?ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_HEADER``h]h)}(hj?h]hETHTOOL_A_LINKSTATE_HEADER}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]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)}(h reply headerh]h reply header}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj~?ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_LINK``h]h)}(hj?h]hETHTOOL_A_LINKSTATE_LINK}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hboolh]hbool}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj?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&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhj~?ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_SQI``h]h)}(hj7@h]hETHTOOL_A_LINKSTATE_SQI}(hj9@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5@ubah}(h]h ]h"]h$]h&]uh1hhhhMhj2@ubah}(h]h ]h"]h$]h&]uh1jhj/@ubj)}(hhh]h)}(hu32h]hu32}(hjU@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjR@ubah}(h]h ]h"]h$]h&]uh1jhj/@ubj)}(hhh]h)}(hCurrent Signal Quality Indexh]hCurrent Signal Quality Index}(hjl@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhji@ubah}(h]h ]h"]h$]h&]uh1jhj/@ubeh}(h]h ]h"]h$]h&]uh1jhj~?ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_LINKSTATE_SQI_MAX``h]h)}(hj@h]hETHTOOL_A_LINKSTATE_SQI_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 support SQI valueh]hMax support SQI value}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj~?ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]h)}(hj@h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hu8h]hu8}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hlink extended stateh]hlink extended state}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj~?ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h)}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:Aubah}(h]h ]h"]h$]h&]uh1hhhhMhj7Aubah}(h]h ]h"]h$]h&]uh1jhj4Aubj)}(hhh]h)}(hu8h]hu8}(hjZAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWAubah}(h]h ]h"]h$]h&]uh1jhj4Aubj)}(hhh]h)}(hlink extended substateh]hlink extended substate}(hjqAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjnAubah}(h]h ]h"]h$]h&]uh1jhj4Aubeh}(h]h ]h"]h$]h&]uh1jhj~?ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT``h]h)}(hjAh]h ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT}(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)}(hcount of link down eventsh]hcount of link down events}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj~?ubeh}(h]h ]h"]h$]h&]uh1jhj]?ubeh}(h]h ]h"]h$]h&]colsKuh1jhjZ?ubah}(h]h ]h"]h$]h&]uh1jhjV?ubah}(h]h ]h"]h$]h&]uh1jhhhM hjn>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 }(hjAhhhNhNubh)}(h``ETHTOOL_A_LINKSTATE_LINK``h]hETHTOOL_A_LINKSTATE_LINK}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubh" returns carrier flag provided by }(hjAhhhNhNubh)}(h``netif_carrier_ok()``h]hnetif_carrier_ok()}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubh6 but there are drivers which define their own handler.}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjn>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}(hj1BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-Bubh and }(hj-BhhhNhNubh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hjCBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-Bubh; are optional values. ethtool core can provide either both }(hj-BhhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjUBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-Bubh and }hj-Bsbh)}(h$``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``h]h ETHTOOL_A_LINKSTATE_EXT_SUBSTATE}(hjgBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-Bubh , or only }(hj-BhhhNhNubh)}(h!``ETHTOOL_A_LINKSTATE_EXT_STATE``h]hETHTOOL_A_LINKSTATE_EXT_STATE}(hjyBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-Bubh, or none of them.}(hj-BhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjn>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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjBhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjn>hhubh)}(hLink extended states:h]hLink extended states:}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjn>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&]colwidthK0uh1jhjBubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjBubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_LINK_EXT_STATE_AUTONEG``h]h)}(hjBh]hETHTOOL_LINK_EXT_STATE_AUTONEG}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM%hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(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%hjBubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE``h]h)}(hj$Ch]h,ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE}(hj&ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Cubah}(h]h ]h"]h$]h&]uh1hhhhM(hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hFailure during link trainingh]hFailure during link training}(hjBChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hj?Cubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH``h]h)}(hjdCh]h,ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH}(hjfChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbCubah}(h]h ]h"]h$]h&]uh1hhhhM*hj_Cubah}(h]h ]h"]h$]h&]uh1jhj\Cubj)}(hhh]h)}(hQLogical mismatch in physical coding sublayer or forward error correction sublayerh]hQLogical mismatch in physical coding sublayer or forward error correction sublayer}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjCubah}(h]h ]h"]h$]h&]uh1jhj\Cubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h/``ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY``h]h)}(hjCh]h+ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM-hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hSignal integrity issuesh]hSignal integrity issues}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_NO_CABLE``h]h)}(hjCh]hETHTOOL_LINK_EXT_STATE_NO_CABLE}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM/hjCubah}(h]h ]h"]h$]h&]uh1jhjCubj)}(hhh]h)}(hNo cable connectedh]hNo cable connected}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjCubah}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE``h]h)}(hj$Dh]h"ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE}(hj&DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Dubah}(h]h ]h"]h$]h&]uh1hhhhM1hjDubah}(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}(hjBDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj?Dubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE``h]h)}(hjdDh]h#ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE}(hjfDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbDubah}(h]h ]h"]h$]h&]uh1hhhhM4hj_Dubah}(h]h ]h"]h$]h&]uh1jhj\Dubj)}(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}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjDubah}(h]h ]h"]h$]h&]uh1jhj\Dubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h.``ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE``h]h)}(hjDh]h*ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM7hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(h$Failure during calibration algorithmh]h$Failure during calibration algorithm}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM7hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h0``ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED``h]h)}(hjDh]h,ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM9hjDubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(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&]uh1hhhhM9hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_LINK_EXT_STATE_OVERHEAT``h]h)}(hj$Eh]hETHTOOL_LINK_EXT_STATE_OVERHEAT}(hj&EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"Eubah}(h]h ]h"]h$]h&]uh1hhhhM<hjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hThe module is overheatedh]hThe module is overheated}(hjBEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hj?Eubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_LINK_EXT_STATE_MODULE``h]h)}(hjdEh]hETHTOOL_LINK_EXT_STATE_MODULE}(hjfEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbEubah}(h]h ]h"]h$]h&]uh1hhhhM>hj_Eubah}(h]h ]h"]h$]h&]uh1jhj\Eubj)}(hhh]h)}(hTransceiver module issueh]hTransceiver module issue}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjEubah}(h]h ]h"]h$]h&]uh1jhj\Eubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]colsKuh1jhjBubah}(h]h ]h"]h$]h&]uh1jhjBubah}(h]h ]h"]h$]h&]uh1jhhhM$hjn>hhubh)}(hLink extended substates:h]hLink extended substates:}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMAhjn>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:}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMChjEubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK?uh1jhjEubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjEubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h4``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED``h]h)}(hjEh]h0ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhMFhjEubah}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh]h)}(hPeer side is downh]hPeer side is down}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjFubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjEubj)}(hhh](j)}(hhh]h)}(h1``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED``h]h)}(hj:Fh]h-ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED}(hj``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS``h]h)}(hjvIh]h:ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS}(hjxIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtIubah}(h]h ]h"]h$]h&]uh1hhhhMuhjqIubah}(h]h ]h"]h$]h&]uh1jhjnIubj)}(hhh]h)}(h1Physical coding sublayer did not get align statush]h1Physical coding sublayer did not get align status}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjIubah}(h]h ]h"]h$]h&]uh1jhjnIubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED``h]h)}(hjIh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhMxhjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h)FC forward error correction is not lockedh]h)FC forward error correction is not locked}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjIubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh](j)}(hhh]h)}(h6``ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED``h]h)}(hjIh]h2ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1hhhhM{hjIubah}(h]h ]h"]h$]h&]uh1jhjIubj)}(hhh]h)}(h)RS forward error correction is not lockedh]h)RS forward error correction is not locked}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM{hjJubah}(h]h ]h"]h$]h&]uh1jhjIubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]colsKuh1jhjHubah}(h]h ]h"]h$]h&]uh1jhjEubh)}(hBad signal integrity substates:h]hBad signal integrity substates:}(hjAJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKAuh1jhjRJubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjRJubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hA``ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS``h]h)}(hjtJh]h=ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS}(hjvJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrJubah}(h]h ]h"]h$]h&]uh1hhhhMhjoJubah}(h]h ]h"]h$]h&]uh1jhjlJubj)}(hhh]h)}(hLarge number of physical errorsh]hLarge number of physical errors}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjlJubeh}(h]h ]h"]h$]h&]uh1jhjiJubj)}(hhh](j)}(hhh]h)}(h2``ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE``h]h)}(hjJh]h.ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hxThe system attempted to operate the cable at a rate that is not formally supported, which led to signal integrity issuesh]hxThe system attempted to operate the cable at a rate that is not formally supported, which led to signal integrity issues}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjiJubj)}(hhh](j)}(hhh]h)}(h=``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST``h]h)}(hjJh]h9ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(h@The external clock signal for SerDes is too weak or unavailable.h]h@The external clock signal for SerDes is too weak or unavailable.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjiJubj)}(hhh](j)}(hhh]h)}(h-``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS``h]h)}(hj4Kh]h)ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS}(hj6KhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2Kubah}(h]h ]h"]h$]h&]uh1hhhhMhj/Kubah}(h]h ]h"]h$]h&]uh1jhj,Kubj)}(hhh]h)}(hIThe received signal for SerDes is too weak because analog loss of signal.h]hIThe received signal for SerDes is too weak because analog loss of signal.}(hjRKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOKubah}(h]h ]h"]h$]h&]uh1jhj,Kubeh}(h]h ]h"]h$]h&]uh1jhjiJubeh}(h]h ]h"]h$]h&]uh1jhjRJubeh}(h]h ]h"]h$]h&]colsKuh1jhjOJubah}(h]h ]h"]h$]h&]uh1jhjEubh)}(hCable issue substates:h]hCable issue substates:}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjKubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjKubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h2``ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE``h]h)}(hjKh]h.ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hUnsupported cableh]hUnsupported cable}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh](j)}(hhh]h)}(h3``ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE``h]h)}(hjKh]h/ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hCable test failureh]hCable test failure}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Lubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]colsKuh1jhjKubah}(h]h ]h"]h$]h&]uh1jhjEubh)}(h#Transceiver module issue substates:h]h#Transceiver module issue substates:}(hj=LhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1jhjNLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK,uh1jhjNLubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h3``ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY``h]h)}(hjpLh]h/ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY}(hjrLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnLubah}(h]h ]h"]h$]h&]uh1hhhhMhjkLubah}(h]h ]h"]h$]h&]uh1jhjhLubj)}(hhh]h)}(h{The CMIS Module State Machine did not reach the ModuleReady state. For example, if the module is stuck at ModuleFault stateh]h{The CMIS Module State Machine did not reach the ModuleReady state. For example, if the module is stuck at ModuleFault state}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLubah}(h]h ]h"]h$]h&]uh1jhjhLubeh}(h]h ]h"]h$]h&]uh1jhjeLubah}(h]h ]h"]h$]h&]uh1jhjNLubeh}(h]h ]h"]h$]h&]colsKuh1jhjKLubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhhhMChjn>hhubeh}(h] linkstate-getah ]h"] linkstate_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h DEBUG_GETh]h DEBUG_GET}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLhhhhhMubh)}(hVRequests debugging settings of a device. At the moment, only message mask is provided.h]hVRequests debugging settings of a device. At the moment, only message mask is provided.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubh)}(hRequest contents:h]hRequest contents:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjLubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjLubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hj)Mh]hETHTOOL_A_DEBUG_HEADER}(hj+MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'Mubah}(h]h ]h"]h$]h&]uh1hhhhMhj$Mubah}(h]h ]h"]h$]h&]uh1jhj!Mubj)}(hhh]h)}(hnestedh]hnested}(hjGMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDMubah}(h]h ]h"]h$]h&]uh1jhj!Mubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj^MhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[Mubah}(h]h ]h"]h$]h&]uh1jhj!Mubeh}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]colsKuh1jhjLubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]uh1jhhhMhjLhhubh)}(hKernel response contents:h]hKernel response contents:}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubj)}(hX==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested reply header ``ETHTOOL_A_DEBUG_MSGMASK`` bitset message mask ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjMubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjMubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjMubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjMh]hETHTOOL_A_DEBUG_HEADER}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(hnestedh]hnested}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh]h)}(h reply headerh]h reply header}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNubah}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjMubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]h)}(hj)Nh]hETHTOOL_A_DEBUG_MSGMASK}(hj+NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'Nubah}(h]h ]h"]h$]h&]uh1hhhhMhj$Nubah}(h]h ]h"]h$]h&]uh1jhj!Nubj)}(hhh]h)}(hbitseth]hbitset}(hjGNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjDNubah}(h]h ]h"]h$]h&]uh1jhj!Nubj)}(hhh]h)}(h message maskh]h message mask}(hj^NhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[Nubah}(h]h ]h"]h$]h&]uh1jhj!Nubeh}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]uh1jhjMubeh}(h]h ]h"]h$]h&]colsKuh1jhjMubah}(h]h ]h"]h$]h&]uh1jhjMubah}(h]h ]h"]h$]h&]uh1jhhhMhjLhhubh)}(hXThe message mask (``ETHTOOL_A_DEBUG_MSGMASK``) is equal to message level as provided by ``ETHTOOL_GMSGLVL`` and set by ``ETHTOOL_SMSGLVL`` in ioctl interface. While it is called message level there for historical reasons, most drivers and almost all newer drivers use it as a mask of enabled message classes (represented by ``NETIF_MSG_*`` constants); therefore netlink interface follows its actual use in practice.h](hThe message mask (}(hjNhhhNhNubh)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]hETHTOOL_A_DEBUG_MSGMASK}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh+) is equal to message level as provided by }(hjNhhhNhNubh)}(h``ETHTOOL_GMSGLVL``h]hETHTOOL_GMSGLVL}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh and set by }(hjNhhhNhNubh)}(h``ETHTOOL_SMSGLVL``h]hETHTOOL_SMSGLVL}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh in ioctl interface. While it is called message level there for historical reasons, most drivers and almost all newer drivers use it as a mask of enabled message classes (represented by }(hjNhhhNhNubh)}(h``NETIF_MSG_*``h]h NETIF_MSG_*}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubhL constants); therefore netlink interface follows its actual use in practice.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubh)}(hj``DEBUG_GET`` allows dump requests (kernel returns reply messages for all devices supporting the request).h](h)}(h ``DEBUG_GET``h]h DEBUG_GET}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh] allows dump requests (kernel returns reply messages for all devices supporting the request).}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjLhhubeh}(h] debug-getah ]h"] debug_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h DEBUG_SETh]h DEBUG_SET}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj OhhhhhMubh)}(h\Set or update debugging settings of a device. At the moment, only message mask is supported.h]h\Set or update debugging settings of a device. At the moment, only message mask is supported.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Ohhubh)}(hRequest contents:h]hRequest contents:}(hj*OhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj Ohhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_DEBUG_HEADER`` nested request header ``ETHTOOL_A_DEBUG_MSGMASK`` bitset message mask ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj?Oubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?Oubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj?Oubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_HEADER``h]h)}(hjkOh]hETHTOOL_A_DEBUG_HEADER}(hjmOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiOubah}(h]h ]h"]h$]h&]uh1hhhhMhjfOubah}(h]h ]h"]h$]h&]uh1jhjcOubj)}(hhh]h)}(hnestedh]hnested}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjcOubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjcOubeh}(h]h ]h"]h$]h&]uh1jhj`Oubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_DEBUG_MSGMASK``h]h)}(hjOh]hETHTOOL_A_DEBUG_MSGMASK}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hbitseth]hbitset}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(h message maskh]h message mask}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhj`Oubeh}(h]h ]h"]h$]h&]uh1jhj?Oubeh}(h]h ]h"]h$]h&]colsKuh1jhjGets netdev features like ``ETHTOOL_GFEATURES`` ioctl request.h](hGets netdev features like }(hjThhhNhNubh)}(h``ETHTOOL_GFEATURES``h]hETHTOOL_GFEATURES}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubh ioctl request.}(hjThhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjThhubh)}(hRequest contents:h]hRequest contents:}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_FEATURES_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjTubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjTubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjTubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjTh]hETHTOOL_A_FEATURES_HEADER}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hnestedh]hnested}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj0UhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj-Uubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]colsKuh1jhjTubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1jhhhMhjThhubh)}(hKernel response contents:h]hKernel response contents:}(hjcUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjThhubj)}(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$uh1jhjxUubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjxUubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjxUubj)}(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)}(h reply headerh]h reply header}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjUubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HW``h]h)}(hjUh]hETHTOOL_A_FEATURES_HW}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1hhhhM hjUubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hbitseth]hbitset}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjVubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hdev->hw_featuresh]hdev->hw_features}(hj0VhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj-Vubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjRVh]hETHTOOL_A_FEATURES_WANTED}(hjTVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPVubah}(h]h ]h"]h$]h&]uh1hhhhMhjMVubah}(h]h ]h"]h$]h&]uh1jhjJVubj)}(hhh]h)}(hbitseth]hbitset}(hjpVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjmVubah}(h]h ]h"]h$]h&]uh1jhjJVubj)}(hhh]h)}(hdev->wanted_featuresh]hdev->wanted_features}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjJVubeh}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hjVh]hETHTOOL_A_FEATURES_ACTIVE}(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)}(h dev->featuresh]h dev->features}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_NOCHANGE``h]h)}(hjWh]hETHTOOL_A_FEATURES_NOCHANGE}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hbitseth]hbitset}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hNETIF_F_NEVER_CHANGEh]hNETIF_F_NEVER_CHANGE}(hj5WhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2Wubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ]h"]h$]h&]uh1jhjxUubeh}(h]h ]h"]h$]h&]colsKuh1jhjuUubah}(h]h ]h"]h$]h&]uh1jhjqUubah}(h]h ]h"]h$]h&]uh1jhhhM hjThhubh)}(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).}(hjhWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThhubeh}(h] features-getah ]h"] features_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h FEATURES_SETh]h FEATURES_SET}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~WhhhhhMubh)}(hHRequest to set netdev features like ``ETHTOOL_SFEATURES`` ioctl request.h](h$Request to set netdev features like }(hjWhhhNhNubh)}(h``ETHTOOL_SFEATURES``h]hETHTOOL_SFEATURES}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubh ioctl request.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hj~Whhubh)}(hRequest contents:h]hRequest contents:}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hj~Whhubj)}(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$uh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjWubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjWubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_HEADER``h]h)}(hjWh]hETHTOOL_A_FEATURES_HEADER}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1hhhhM%hjWubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hnestedh]hnested}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj Xubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj%XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj"Xubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjGXh]hETHTOOL_A_FEATURES_WANTED}(hjIXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEXubah}(h]h ]h"]h$]h&]uh1hhhhM&hjBXubah}(h]h ]h"]h$]h&]uh1jhj?Xubj)}(hhh]h)}(hbitseth]hbitset}(hjeXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjbXubah}(h]h ]h"]h$]h&]uh1jhj?Xubj)}(hhh]h)}(hrequested featuresh]hrequested features}(hj|XhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjyXubah}(h]h ]h"]h$]h&]uh1jhj?Xubeh}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]colsKuh1jhjWubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1jhhhM$hj~Whhubh)}(hKernel response contents:h]hKernel response contents:}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hj~Whhubj)}(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$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}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj Yubah}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh]h)}(h reply headerh]h reply header}(hj%YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hj"Yubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_WANTED``h]h)}(hjGYh]hETHTOOL_A_FEATURES_WANTED}(hjIYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEYubah}(h]h ]h"]h$]h&]uh1hhhhM-hjBYubah}(h]h ]h"]h$]h&]uh1jhj?Yubj)}(hhh]h)}(hbitseth]hbitset}(hjeYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjbYubah}(h]h ]h"]h$]h&]uh1jhj?Yubj)}(hhh]h)}(hdiff wanted vs. resulth]hdiff wanted vs. result}(hj|YhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjyYubah}(h]h ]h"]h$]h&]uh1jhj?Yubeh}(h]h ]h"]h$]h&]uh1jhjXubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEATURES_ACTIVE``h]h)}(hjYh]hETHTOOL_A_FEATURES_ACTIVE}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhM.hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hbitseth]hbitset}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjYubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hdiff old vs. new activeh]hdiff old vs. new active}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjYubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]colsKuh1jhjXubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhhhM+hj~Whhubh)}(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&]uh1hhhhM1hj~Whhubh)}(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}(hj.ZhhhNhNubah}(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@ZhhhNhNubah}(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&]uh1hhhhM5hj~Whhubh)}(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\ZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXZubhE notification is sent not only if device features are modified using }(hjXZhhhNhNubh)}(h``ETHTOOL_MSG_FEATURES_SET``h]hETHTOOL_MSG_FEATURES_SET}(hjnZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXZubh request or on of ethtool ioctl request but also each time features are modified with netdev_update_features() or netdev_change_features().}(hjXZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM@hj~Whhubeh}(h] features-setah ]h"] features_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PRIVFLAGS_GETh]h PRIVFLAGS_GET}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhhhhhMGubh)}(h:Gets private flags like ``ETHTOOL_GPFLAGS`` ioctl request.h](hGets private flags like }(hjZhhhNhNubh)}(h``ETHTOOL_GPFLAGS``h]hETHTOOL_GPFLAGS}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubh ioctl request.}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMIhjZhhubh)}(hRequest contents:h]hRequest contents:}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjZhhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjZubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hj[h]hETHTOOL_A_PRIVFLAGS_HEADER}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1hhhhMNhjZubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hnestedh]hnested}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjbah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj5[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhj2[ubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]colsKuh1jhjZubah}(h]h ]h"]h$]h&]uh1jhjZubah}(h]h ]h"]h$]h&]uh1jhhhMMhjZhhubh)}(hKernel response contents:h]hKernel response contents:}(hjh[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMQhjZhhubj)}(hX ==================================== ====== ========================== ``ETHTOOL_A_PRIVFLAGS_HEADER`` nested reply header ``ETHTOOL_A_PRIVFLAGS_FLAGS`` bitset private flags ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj}[ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}[ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}[ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_HEADER``h]h)}(hj[h]hETHTOOL_A_PRIVFLAGS_HEADER}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]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)}(h reply headerh]h reply header}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMThj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PRIVFLAGS_FLAGS``h]h)}(hj\h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[ubah}(h]h ]h"]h$]h&]uh1hhhhMUhj[ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hbitseth]hbitset}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj\ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(h private flagsh]h private flags}(hj5\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhj2\ubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj}[ubeh}(h]h ]h"]h$]h&]colsKuh1jhjz[ubah}(h]h ]h"]h$]h&]uh1jhjv[ubah}(h]h ]h"]h$]h&]uh1jhhhMShjZhhubh)}(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}(hjl\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh\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 }(hjh\hhhNhNubh)}(h``ETH_SS_PRIV_FLAGS``h]hETH_SS_PRIV_FLAGS}(hj~\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh\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.}(hjh\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMXhjZhhubeh}(h] privflags-getah ]h"] privflags_getah$]h&]uh1hhhhhhhhMGubh)}(hhh](h)}(h PRIVFLAGS_SETh]h PRIVFLAGS_SET}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hhhhhMaubh)}(hWSets or modifies values of device private flags like ``ETHTOOL_SPFLAGS`` ioctl request.h](h5Sets or modifies values of device private flags like }(hj\hhhNhNubh)}(h``ETHTOOL_SPFLAGS``h]hETHTOOL_SPFLAGS}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\ubh ioctl request.}(hj\hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMchj\hhubh)}(hRequest contents:h]hRequest contents:}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj\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&]uh1hhhhMihj ]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hnestedh]hnested}(hj.]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj+]ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjE]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjB]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)}(hjg]h]hETHTOOL_A_PRIVFLAGS_FLAGS}(hji]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje]ubah}(h]h ]h"]h$]h&]uh1hhhhMjhjb]ubah}(h]h ]h"]h$]h&]uh1jhj_]ubj)}(hhh]h)}(hbitseth]hbitset}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj]ubah}(h]h ]h"]h$]h&]uh1jhj_]ubj)}(hhh]h)}(h private flagsh]h private flags}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhj]ubah}(h]h ]h"]h$]h&]uh1jhj_]ubeh}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]colsKuh1jhj\ubah}(h]h ]h"]h$]h&]uh1jhj\ubah}(h]h ]h"]h$]h&]uh1jhhhMhhj\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&]uh1hhhhMmhj\hhubeh}(h] privflags-setah ]h"] privflags_setah$]h&]uh1hhhhhhhhMaubh)}(hhh](h)}(h RINGS_GETh]h RINGS_GET}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hhhhhMrubh)}(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&]uh1hhhhMthj]hhubh)}(hRequest contents:h]hRequest contents:}(hj$^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhj]hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_RINGS_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhj9^ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj9^ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj9^ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HEADER``h]h)}(hje^h]hETHTOOL_A_RINGS_HEADER}(hjg^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc^ubah}(h]h ]h"]h$]h&]uh1hhhhMyhj`^ubah}(h]h ]h"]h$]h&]uh1jhj]^ubj)}(hhh]h)}(hnestedh]hnested}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj^ubah}(h]h ]h"]h$]h&]uh1jhj]^ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMyhj^ubah}(h]h ]h"]h$]h&]uh1jhj]^ubeh}(h]h ]h"]h$]h&]uh1jhjZ^ubah}(h]h ]h"]h$]h&]uh1jhj9^ubeh}(h]h ]h"]h$]h&]colsKuh1jhj6^ubah}(h]h ]h"]h$]h&]uh1jhj2^ubah}(h]h ]h"]h$]h&]uh1jhhhMxhj]hhubh)}(hKernel response contents:h]hKernel response contents:}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hj]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}(hjC_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)}(hje_h]hETHTOOL_A_RINGS_RX_MAX}(hjg_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjc_ubah}(h]h ]h"]h$]h&]uh1hhhhMhj`_ubah}(h]h ]h"]h$]h&]uh1jhj]_ubj)}(hhh]h)}(hu32h]hu32}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj]_ubj)}(hhh]h)}(hmax size of RX ringh]hmax size of RX ring}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj]_ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI_MAX``h]h)}(hj_h]hETHTOOL_A_RINGS_RX_MINI_MAX}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubah}(h]h ]h"]h$]h&]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 mini ringh]hmax size of RX mini 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_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}(hj1`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}(hjH`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjE`ubah}(h]h ]h"]h$]h&]uh1jhj `ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX_MAX``h]h)}(hjj`h]hETHTOOL_A_RINGS_TX_MAX}(hjl`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh`ubah}(h]h ]h"]h$]h&]uh1hhhhMhje`ubah}(h]h ]h"]h$]h&]uh1jhjb`ubj)}(hhh]h)}(hu32h]hu32}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhjb`ubj)}(hhh]h)}(hmax size of TX ringh]hmax size of TX ring}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhjb`ubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX``h]h)}(hj`h]hETHTOOL_A_RINGS_RX}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hu32h]hu32}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hsize of RX ringh]hsize 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``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}(hj6ahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3aubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hsize of RX mini ringh]hsize of RX mini ring}(hjMahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJaubah}(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)}(hjoah]hETHTOOL_A_RINGS_RX_JUMBO}(hjqahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmaubah}(h]h ]h"]h$]h&]uh1hhhhMhjjaubah}(h]h ]h"]h$]h&]uh1jhjgaubj)}(hhh]h)}(hu32h]hu32}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjgaubj)}(hhh]h)}(hsize of RX jumbo ringh]hsize of RX jumbo ring}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjgaubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX``h]h)}(hjah]hETHTOOL_A_RINGS_TX}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hu32h]hu32}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hsize of TX ringh]hsize of TX 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_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}(hj;bhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8bubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(hsize of buffers on the ringh]hsize of buffers on the ring}(hjRbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjObubah}(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)}(hjtbh]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hjvbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrbubah}(h]h ]h"]h$]h&]uh1hhhhMhjobubah}(h]h ]h"]h$]h&]uh1jhjlbubj)}(hhh]h)}(hu8h]hu8}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjlbubj)}(hhh]h)}(hTCP header / data splith]hTCP header / data split}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhjlbubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]h)}(hjbh]hETHTOOL_A_RINGS_CQE_SIZE}(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/RX CQEh]hSize of TX/RX CQE}(hjchhhNhNubah}(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_TX_PUSH``h]h)}(hj"ch]hETHTOOL_A_RINGS_TX_PUSH}(hj$chhhNhNubah}(h]h ]h"]h$]h&]uh1hhj cubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hu8h]hu8}(hj@chhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=cubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hflag of TX Push modeh]hflag of TX Push mode}(hjWchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTcubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_PUSH``h]h)}(hjych]hETHTOOL_A_RINGS_RX_PUSH}(hj{chhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwcubah}(h]h ]h"]h$]h&]uh1hhhhMhjtcubah}(h]h ]h"]h$]h&]uh1jhjqcubj)}(hhh]h)}(hu8h]hu8}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjqcubj)}(hhh]h)}(hflag of RX Push modeh]hflag of RX Push mode}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjqcubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]h)}(hjch]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hu32h]hu32}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjcubah}(h]h ]h"]h$]h&]uh1jhjcubj)}(hhh]h)}(hsize of TX push bufferh]hsize of TX push buffer}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX``h]h)}(hj'dh]h#ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX}(hj)dhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%dubah}(h]h ]h"]h$]h&]uh1hhhhMhj"dubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hu32h]hu32}(hjEdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjBdubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hmax size of TX push bufferh]hmax size of TX push buffer}(hj\dhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjYdubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HDS_THRESH``h]h)}(hj~dh]hETHTOOL_A_RINGS_HDS_THRESH}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|dubah}(h]h ]h"]h$]h&]uh1hhhhMhjydubah}(h]h ]h"]h$]h&]uh1jhjvdubj)}(hhh]h)}(hu32h]hu32}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjvdubj)}(hhh]h)}(h threshold of header / data splith]h threshold of header / data split}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjvdubeh}(h]h ]h"]h$]h&]uh1jhj_ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_HDS_THRESH_MAX``h]h)}(hjdh]hETHTOOL_A_RINGS_HDS_THRESH_MAX}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(hu32h]hu32}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(h$max threshold of header / data splith]h$max threshold of header / data split}(hj ehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]colsKuh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]uh1jhhhM~hj]hhubh)}(hX``ETHTOOL_A_RINGS_TCP_DATA_SPLIT`` indicates whether the device is usable with page-flipping TCP zero-copy receive (``getsockopt(TCP_ZEROCOPY_RECEIVE)``). If enabled the device is configured to place frame headers and data into separate buffers. The device configuration must make it possible to receive full memory pages of data, for example because MTU is high enough or through HW-GRO.h](h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hjAehhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=eubhR indicates whether the device is usable with page-flipping TCP zero-copy receive (}(hj=ehhhNhNubh)}(h$``getsockopt(TCP_ZEROCOPY_RECEIVE)``h]h getsockopt(TCP_ZEROCOPY_RECEIVE)}(hjSehhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=eubh). If enabled the device is configured to place frame headers and data into separate buffers. The device configuration must make it possible to receive full memory pages of data, for example because MTU is high enough or through HW-GRO.}(hj=ehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubh)}(hX``ETHTOOL_A_RINGS_[RX|TX]_PUSH`` flag is used to enable descriptor fast path to send or receive packets. In ordinary path, driver fills descriptors in DRAM and notifies NIC hardware. In fast path, driver pushes descriptors to the device through MMIO writes, thus reducing the latency. However, enabling this feature may increase the CPU cost. Drivers may enforce additional per-packet eligibility checks (e.g. on packet size).h](h)}(h ``ETHTOOL_A_RINGS_[RX|TX]_PUSH``h]hETHTOOL_A_RINGS_[RX|TX]_PUSH}(hjoehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkeubhX flag is used to enable descriptor fast path to send or receive packets. In ordinary path, driver fills descriptors in DRAM and notifies NIC hardware. In fast path, driver pushes descriptors to the device through MMIO writes, thus reducing the latency. However, enabling this feature may increase the CPU cost. Drivers may enforce additional per-packet eligibility checks (e.g. on packet size).}(hjkehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubh)}(hX``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN`` specifies the maximum number of bytes of a transmitted packet a driver can push directly to the underlying device ('push' mode). Pushing some of the payload bytes to the device has the advantages of reducing latency for small packets by avoiding DMA mapping (same as ``ETHTOOL_A_RINGS_TX_PUSH`` parameter) as well as allowing the underlying device to process packet headers ahead of fetching its payload. This can help the device to make fast actions based on the packet's headers. This is similar to the "tx-copybreak" parameter, which copies the packet to a preallocated DMA memory area instead of mapping new memory. However, tx-push-buff parameter copies the packet directly to the device to allow the device to take faster actions on the packet.h](h)}(h#``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN``h]hETHTOOL_A_RINGS_TX_PUSH_BUF_LEN}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubhX specifies the maximum number of bytes of a transmitted packet a driver can push directly to the underlying device (‘push’ mode). Pushing some of the payload bytes to the device has the advantages of reducing latency for small packets by avoiding DMA mapping (same as }(hjehhhNhNubh)}(h``ETHTOOL_A_RINGS_TX_PUSH``h]hETHTOOL_A_RINGS_TX_PUSH}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubhX parameter) as well as allowing the underlying device to process packet headers ahead of fetching its payload. This can help the device to make fast actions based on the packet’s headers. This is similar to the “tx-copybreak” parameter, which copies the packet to a preallocated DMA memory area instead of mapping new memory. However, tx-push-buff parameter copies the packet directly to the device to allow the device to take faster actions on the packet.}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj]hhubeh}(h] rings-getah ]h"] rings_getah$]h&]uh1hhhhhhhhMrubh)}(hhh](h)}(h RINGS_SETh]h RINGS_SET}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjehhhhhMubh)}(h:Sets ring sizes like ``ETHTOOL_SRINGPARAM`` ioctl request.h](hSets ring sizes like }(hjehhhNhNubh)}(h``ETHTOOL_SRINGPARAM``h]hETHTOOL_SRINGPARAM}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubh ioctl request.}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjehhubh)}(hRequest contents:h]hRequest contents:}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjehhubj)}(hX==================================== ====== =========================== ``ETHTOOL_A_RINGS_HEADER`` nested reply header ``ETHTOOL_A_RINGS_RX`` u32 size of RX ring ``ETHTOOL_A_RINGS_RX_MINI`` u32 size of RX mini ring ``ETHTOOL_A_RINGS_RX_JUMBO`` u32 size of RX jumbo ring ``ETHTOOL_A_RINGS_TX`` u32 size of TX ring ``ETHTOOL_A_RINGS_RX_BUF_LEN`` u32 size of buffers on the ring ``ETHTOOL_A_RINGS_TCP_DATA_SPLIT`` u8 TCP header / data split ``ETHTOOL_A_RINGS_CQE_SIZE`` u32 Size of TX/RX CQE ``ETHTOOL_A_RINGS_TX_PUSH`` u8 flag of TX Push mode ``ETHTOOL_A_RINGS_RX_PUSH`` u8 flag of RX Push mode ``ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN`` u32 size of TX push buffer ``ETHTOOL_A_RINGS_HDS_THRESH`` u32 threshold of header / data split ==================================== ====== =========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjfubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjfubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjfubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_HEADER``h]h)}(hj/fh]hETHTOOL_A_RINGS_HEADER}(hj1fhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-fubah}(h]h ]h"]h$]h&]uh1hhhhMhj*fubah}(h]h ]h"]h$]h&]uh1jhj'fubj)}(hhh]h)}(hnestedh]hnested}(hjMfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJfubah}(h]h ]h"]h$]h&]uh1jhj'fubj)}(hhh]h)}(h reply headerh]h reply header}(hjdfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjafubah}(h]h ]h"]h$]h&]uh1jhj'fubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX``h]h)}(hjfh]hETHTOOL_A_RINGS_RX}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhj~fubj)}(hhh]h)}(hu32h]hu32}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhj~fubj)}(hhh]h)}(hsize of RX ringh]hsize of RX ring}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhj~fubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_MINI``h]h)}(hjfh]hETHTOOL_A_RINGS_RX_MINI}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hu32h]hu32}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hsize of RX mini ringh]hsize of RX mini ring}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_JUMBO``h]h)}(hj4gh]hETHTOOL_A_RINGS_RX_JUMBO}(hj6ghhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2gubah}(h]h ]h"]h$]h&]uh1hhhhMhj/gubah}(h]h ]h"]h$]h&]uh1jhj,gubj)}(hhh]h)}(hu32h]hu32}(hjRghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOgubah}(h]h ]h"]h$]h&]uh1jhj,gubj)}(hhh]h)}(hsize of RX jumbo ringh]hsize of RX jumbo ring}(hjighhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfgubah}(h]h ]h"]h$]h&]uh1jhj,gubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX``h]h)}(hjgh]hETHTOOL_A_RINGS_TX}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hu32h]hu32}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hsize of TX ringh]hsize of TX ring}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_BUF_LEN``h]h)}(hjgh]hETHTOOL_A_RINGS_RX_BUF_LEN}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hu32h]hu32}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hsize of buffers on the ringh]hsize of buffers on the ring}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_RINGS_TCP_DATA_SPLIT``h]h)}(hj9hh]hETHTOOL_A_RINGS_TCP_DATA_SPLIT}(hj;hhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7hubah}(h]h ]h"]h$]h&]uh1hhhhMhj4hubah}(h]h ]h"]h$]h&]uh1jhj1hubj)}(hhh]h)}(hu8h]hu8}(hjWhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjThubah}(h]h ]h"]h$]h&]uh1jhj1hubj)}(hhh]h)}(hTCP header / data splith]hTCP header / data split}(hjnhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkhubah}(h]h ]h"]h$]h&]uh1jhj1hubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_CQE_SIZE``h]h)}(hjhh]hETHTOOL_A_RINGS_CQE_SIZE}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu32h]hu32}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hSize of TX/RX CQEh]hSize of TX/RX CQE}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_TX_PUSH``h]h)}(hjhh]hETHTOOL_A_RINGS_TX_PUSH}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu8h]hu8}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hflag of TX Push modeh]hflag of TX Push mode}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(h]h ]h"]h$]h&]uh1jhj$fubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RINGS_RX_PUSH``h]h)}(hj>ih]hETHTOOL_A_RINGS_RX_PUSH}(hj@ihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;vubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_PKT_RATE_LOW``h]h)}(hj`vh]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(hjbvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^vubah}(h]h ]h"]h$]h&]uh1hhhhMhj[vubah}(h]h ]h"]h$]h&]uh1jhjXvubj)}(hhh]h)}(hu32h]hu32}(hj~vhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{vubah}(h]h ]h"]h$]h&]uh1jhjXvubj)}(hhh]h)}(hthreshold for low rateh]hthreshold for low rate}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjXvubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_LOW``h]h)}(hjvh]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjvubah}(h]h ]h"]h$]h&]uh1hhhhM hjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hu32h]hu32}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjvubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjvubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW``h]h)}(hjwh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj wubah}(h]h ]h"]h$]h&]uh1hhhhM!hj wubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hu32h]hu32}(hj,whhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hj)wubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hmax packets, low Rxh]hmax packets, low Rx}(hjCwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hj@wubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_LOW``h]h)}(hjewh]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hjgwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcwubah}(h]h ]h"]h$]h&]uh1hhhhM"hj`wubah}(h]h ]h"]h$]h&]uh1jhj]wubj)}(hhh]h)}(hu32h]hu32}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjwubah}(h]h ]h"]h$]h&]uh1jhj]wubj)}(hhh]h)}(hdelay (us), low Txh]hdelay (us), low Tx}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjwubah}(h]h ]h"]h$]h&]uh1jhj]wubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW``h]h)}(hjwh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhM#hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hu32h]hu32}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjwubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjwubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hjxh]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhM$hjxubah}(h]h ]h"]h$]h&]uh1jhj xubj)}(hhh]h)}(hu32h]hu32}(hj1xhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hj.xubah}(h]h ]h"]h$]h&]uh1jhj xubj)}(hhh]h)}(hthreshold for high rateh]hthreshold for high rate}(hjHxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjExubah}(h]h ]h"]h$]h&]uh1jhj xubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_RX_USECS_HIGH``h]h)}(hjjxh]h ETHTOOL_A_COALESCE_RX_USECS_HIGH}(hjlxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhxubah}(h]h ]h"]h$]h&]uh1hhhhM%hjexubah}(h]h ]h"]h$]h&]uh1jhjbxubj)}(hhh]h)}(hu32h]hu32}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjxubah}(h]h ]h"]h$]h&]uh1jhjbxubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hjxubah}(h]h ]h"]h$]h&]uh1jhjbxubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH``h]h)}(hjxh]h%ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhM&hjxubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hu32h]hu32}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjxubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(hmax packets, high Rxh]hmax packets, high Rx}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjxubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_USECS_HIGH``h]h)}(hjyh]h ETHTOOL_A_COALESCE_TX_USECS_HIGH}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyubah}(h]h ]h"]h$]h&]uh1hhhhM'hjyubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hu32h]hu32}(hj6yhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hj3yubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hdelay (us), high Txh]hdelay (us), high Tx}(hjMyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM'hjJyubah}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH``h]h)}(hjoyh]h%ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH}(hjqyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmyubah}(h]h ]h"]h$]h&]uh1hhhhM(hjjyubah}(h]h ]h"]h$]h&]uh1jhjgyubj)}(hhh]h)}(hu32h]hu32}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjyubah}(h]h ]h"]h$]h&]uh1jhjgyubj)}(hhh]h)}(hmax packets, high Txh]hmax packets, high Tx}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjyubah}(h]h ]h"]h$]h&]uh1jhjgyubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h+``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL``h]h)}(hjyh]h'ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyubah}(h]h ]h"]h$]h&]uh1hhhhM)hjyubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hu32h]hu32}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hjyubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM)hjyubah}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hjzh]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1hhhhM*hjzubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hboolh]hbool}(hj;zhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hj8zubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(hjRzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM*hjOzubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]h)}(hjtzh]hETHTOOL_A_COALESCE_USE_CQE_RX}(hjvzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrzubah}(h]h ]h"]h$]h&]uh1hhhhM+hjozubah}(h]h ]h"]h$]h&]uh1jhjlzubj)}(hhh]h)}(hboolh]hbool}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjzubah}(h]h ]h"]h$]h&]uh1jhjlzubj)}(hhh]h)}(htimer reset mode, Rxh]htimer reset mode, Rx}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjzubah}(h]h ]h"]h$]h&]uh1jhjlzubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h)}(hjzh]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1hhhhM,hjzubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hu32h]hu32}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjzubah}(h]h ]h"]h$]h&]uh1jhjzubj)}(hhh]h)}(hmax aggr size, Txh]hmax aggr size, Tx}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjzubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h)}(hj"{h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hj${hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj {ubah}(h]h ]h"]h$]h&]uh1hhhhM-hj{ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hu32h]hu32}(hj@{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hj={ubah}(h]h ]h"]h$]h&]uh1jhj{ubj)}(hhh]h)}(hmax aggr packets, Txh]hmax aggr packets, Tx}(hjW{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjT{ubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h)}(hjy{h]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj{{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw{ubah}(h]h ]h"]h$]h&]uh1hhhhM.hjt{ubah}(h]h ]h"]h$]h&]uh1jhjq{ubj)}(hhh]h)}(hu32h]hu32}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hj{ubah}(h]h ]h"]h$]h&]uh1jhjq{ubj)}(hhh]h)}(htime (us), aggr, Txh]htime (us), aggr, Tx}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hj{ubah}(h]h ]h"]h$]h&]uh1jhjq{ubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]h)}(hj{h]hETHTOOL_A_COALESCE_RX_PROFILE}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{ubah}(h]h ]h"]h$]h&]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)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hj|ubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhjArubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]h)}(hj'|h]hETHTOOL_A_COALESCE_TX_PROFILE}(hj)|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%|ubah}(h]h ]h"]h$]h&]uh1hhhhM0hj"|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hnestedh]hnested}(hjE|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjB|ubah}(h]h ]h"]h$]h&]uh1jhj|ubj)}(hhh]h)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(hj\|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjY|ubah}(h]h ]h"]h$]h&]uh1jhj|ubeh}(h]h ]h"]h$]h&]uh1jhjArubeh}(h]h ]h"]h$]h&]uh1jhj rubeh}(h]h ]h"]h$]h&]colsKuh1jhjrubah}(h]h ]h"]h$]h&]uh1jhjrubah}(h]h ]h"]h$]h&]uh1jhhhMhj1qhhubh)}(hAttributes are only included in reply if their value is not zero or the corresponding bit in ``ethtool_ops::supported_coalesce_params`` is set (i.e. they are declared as supported by driver).h](h]Attributes are only included in reply if their value is not zero or the corresponding bit in }(hj|hhhNhNubh)}(h*``ethtool_ops::supported_coalesce_params``h]hðtool_ops::supported_coalesce_params}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubh8 is set (i.e. they are declared as supported by driver).}(hj|hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM3hj1qhhubh)}(hXTimer reset mode (``ETHTOOL_A_COALESCE_USE_CQE_TX`` and ``ETHTOOL_A_COALESCE_USE_CQE_RX``) controls the interaction between packet arrival and the various time based delay parameters. By default timers are expected to limit the max delay between any packet arrival/departure and a corresponding interrupt. In this mode timer should be started by packet arrival (sometimes delivery of previous interrupt) and reset when interrupt is delivered. Setting the appropriate attribute to 1 will enable ``CQE`` mode, where each packet event resets the timer. In this mode timer is used to force the interrupt if queue goes idle, while busy queues depend on the packet limit to trigger interrupts.h](hTimer reset mode (}(hj|hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]hETHTOOL_A_COALESCE_USE_CQE_TX}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubh and }(hj|hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]hETHTOOL_A_COALESCE_USE_CQE_RX}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubhX) controls the interaction between packet arrival and the various time based delay parameters. By default timers are expected to limit the max delay between any packet arrival/departure and a corresponding interrupt. In this mode timer should be started by packet arrival (sometimes delivery of previous interrupt) and reset when interrupt is delivered. Setting the appropriate attribute to 1 will enable }(hj|hhhNhNubh)}(h``CQE``h]hCQE}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubh mode, where each packet event resets the timer. In this mode timer is used to force the interrupt if queue goes idle, while busy queues depend on the packet limit to trigger interrupts.}(hj|hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM7hj1qhhubh)}(hXTx aggregation consists of copying frames into a contiguous buffer so that they can be submitted as a single IO operation. ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES`` describes the maximum size in bytes for the submitted buffer. ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES`` describes the maximum number of frames that can be aggregated into a single buffer. ``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS`` describes the amount of time in usecs, counted since the first packet arrival in an aggregated block, after which the block should be sent. This feature is mainly of interest for specific USB devices which does not cope well with frequent small-sized URBs transmissions.h](h{Tx aggregation consists of copying frames into a contiguous buffer so that they can be submitted as a single IO operation. }(hj|hhhNhNubh)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubh? describes the maximum size in bytes for the submitted buffer. }(hj|hhhNhNubh)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hj }hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubhU describes the maximum number of frames that can be aggregated into a single buffer. }(hj|hhhNhNubh)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubhX describes the amount of time in usecs, counted since the first packet arrival in an aggregated block, after which the block should be sent. This feature is mainly of interest for specific USB devices which does not cope well with frequent small-sized URBs transmissions.}(hj|hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMChj1qhhubh)}(h``ETHTOOL_A_COALESCE_RX_PROFILE`` and ``ETHTOOL_A_COALESCE_TX_PROFILE`` refer to DIM parameters, see `Generic Network Dynamic Interrupt Moderation (Net DIM) `_.h](h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]hETHTOOL_A_COALESCE_RX_PROFILE}(hj;}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7}ubh and }(hj7}hhhNhNubh)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]hETHTOOL_A_COALESCE_TX_PROFILE}(hjM}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7}ubh refer to DIM parameters, see }(hj7}hhhNhNubh reference)}(h{`Generic Network Dynamic Interrupt Moderation (Net DIM) `_h]h6Generic Network Dynamic Interrupt Moderation (Net DIM)}(hja}hhhNhNubah}(h]h ]h"]h$]h&]name6Generic Network Dynamic Interrupt Moderation (Net DIM)refuri?https://www.kernel.org/doc/Documentation/networking/net_dim.rstuh1j_}hj7}ubhtarget)}(hB h]h}(h]4generic-network-dynamic-interrupt-moderation-net-dimah ]h"]6generic network dynamic interrupt moderation (net dim)ah$]h&]refurijr}uh1js} referencedKhj7}ubh.}(hj7}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMNhj1qhhubeh}(h] coalesce-getah ]h"] coalesce_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h COALESCE_SETh]h COALESCE_SET}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hhhhhMSubh)}(hDSets coalescing parameters like ``ETHTOOL_SCOALESCE`` ioctl request.h](h Sets coalescing parameters like }(hj}hhhNhNubh)}(h``ETHTOOL_SCOALESCE``h]hETHTOOL_SCOALESCE}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubh ioctl request.}(hj}hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMUhj}hhubh)}(hRequest contents:h]hRequest contents:}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj}hhubj)}(hXD =========================================== ====== ======================= ``ETHTOOL_A_COALESCE_HEADER`` nested request header ``ETHTOOL_A_COALESCE_RX_USECS`` u32 delay (us), normal Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES`` u32 max packets, normal Rx ``ETHTOOL_A_COALESCE_RX_USECS_IRQ`` u32 delay (us), Rx in IRQ ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ`` u32 max packets, Rx in IRQ ``ETHTOOL_A_COALESCE_TX_USECS`` u32 delay (us), normal Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES`` u32 max packets, normal Tx ``ETHTOOL_A_COALESCE_TX_USECS_IRQ`` u32 delay (us), Tx in IRQ ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ`` u32 IRQ packets, Tx in IRQ ``ETHTOOL_A_COALESCE_STATS_BLOCK_USECS`` u32 delay of stats update ``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX`` bool adaptive Rx coalesce ``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX`` bool adaptive Tx coalesce ``ETHTOOL_A_COALESCE_PKT_RATE_LOW`` u32 threshold for low rate ``ETHTOOL_A_COALESCE_RX_USECS_LOW`` u32 delay (us), low Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW`` u32 max packets, low Rx ``ETHTOOL_A_COALESCE_TX_USECS_LOW`` u32 delay (us), low Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW`` u32 max packets, low Tx ``ETHTOOL_A_COALESCE_PKT_RATE_HIGH`` u32 threshold for high rate ``ETHTOOL_A_COALESCE_RX_USECS_HIGH`` u32 delay (us), high Rx ``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH`` u32 max packets, high Rx ``ETHTOOL_A_COALESCE_TX_USECS_HIGH`` u32 delay (us), high Tx ``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH`` u32 max packets, high Tx ``ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL`` u32 rate sampling interval ``ETHTOOL_A_COALESCE_USE_CQE_TX`` bool timer reset mode, Tx ``ETHTOOL_A_COALESCE_USE_CQE_RX`` bool timer reset mode, Rx ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES`` u32 max aggr size, Tx ``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES`` u32 max aggr packets, Tx ``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS`` u32 time (us), aggr, Tx ``ETHTOOL_A_COALESCE_RX_PROFILE`` nested profile of DIM, Rx ``ETHTOOL_A_COALESCE_TX_PROFILE`` nested profile of DIM, Tx =========================================== ====== ======================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK+uh1jhj}ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj}ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_HEADER``h]h)}(hj~h]hETHTOOL_A_COALESCE_HEADER}(hj ~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhMZhj~ubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hnestedh]hnested}(hj%~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj"~ubah}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj<~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhj9~ubah}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_RX_USECS``h]h)}(hj^~h]hETHTOOL_A_COALESCE_RX_USECS}(hj`~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\~ubah}(h]h ]h"]h$]h&]uh1hhhhM[hjY~ubah}(h]h ]h"]h$]h&]uh1jhjV~ubj)}(hhh]h)}(hu32h]hu32}(hj|~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjy~ubah}(h]h ]h"]h$]h&]uh1jhjV~ubj)}(hhh]h)}(hdelay (us), normal Rxh]hdelay (us), normal Rx}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hj~ubah}(h]h ]h"]h$]h&]uh1jhjV~ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(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&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1hhhhM\hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hu32h]hu32}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hmax packets, normal Rxh]hmax packets, normal Rx}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj~ubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_IRQ``h]h)}(hj h]hETHTOOL_A_COALESCE_RX_USECS_IRQ}(hjhhhNhNubah}(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)}(hdelay (us), Rx in IRQh]hdelay (us), Rx in IRQ}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj>ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ``h]h)}(hjch]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(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^hj~ubah}(h]h ]h"]h$]h&]uh1jhj[ubj)}(hhh]h)}(hmax packets, Rx in IRQh]hmax packets, Rx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_COALESCE_TX_USECS``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_USECS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), normal Txh]hdelay (us), normal Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_MAX_FRAMES``h]h)}(hjh]h ETHTOOL_A_COALESCE_TX_MAX_FRAMES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM`hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hj,ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hmax packets, normal Txh]hmax packets, normal Tx}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjCubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_IRQ``h]h)}(hjhh]hETHTOOL_A_COALESCE_TX_USECS_IRQ}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1hhhhMahjcubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hdelay (us), Tx in IRQh]hdelay (us), Tx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahjubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ``h]h)}(hjh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj݀hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjڀubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIRQ packets, Tx in IRQh]hIRQ packets, Tx in IRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_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&]uh1hhhhMchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay of stats updateh]hdelay of stats update}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMchjHubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX``h]h)}(hjmh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1hhhhMdhjhubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hadaptive Rx coalesceh]hadaptive Rx coalesce}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX``h]h)}(hjāh]h"ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX}(hjƁhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMehj߁ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hadaptive Tx coalesceh]hadaptive Tx coalesce}(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_COALESCE_PKT_RATE_LOW``h]h)}(hjh]hETHTOOL_A_COALESCE_PKT_RATE_LOW}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hthreshold for low rateh]hthreshold for low rate}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_RX_USECS_LOW``h]h)}(hjrh]hETHTOOL_A_COALESCE_RX_USECS_LOW}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMghjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hdelay (us), low Rxh]hdelay (us), low Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW``h]h)}(hjɂh]h$ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW}(hj˂hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjǂubah}(h]h ]h"]h$]h&]uh1hhhhMhhjĂubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hmax packets, low Rxh]hmax packets, low Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_COALESCE_TX_USECS_LOW``h]h)}(hj h]hETHTOOL_A_COALESCE_TX_USECS_LOW}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj;ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), low Txh]hdelay (us), low Tx}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjRubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW``h]h)}(hjwh]h$ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMjhjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hmax packets, low Txh]hmax packets, low Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_PKT_RATE_HIGH``h]h)}(hj΃h]h ETHTOOL_A_COALESCE_PKT_RATE_HIGH}(hjЃhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj̃ubah}(h]h ]h"]h$]h&]uh1hhhhMkhjɃubah}(h]h ]h"]h$]h&]uh1jhjƃubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjƃubj)}(hhh]h)}(hthreshold for high rateh]hthreshold for high rate}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjƃubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(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&]uh1hhhhMlhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj@ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hdelay (us), high Rxh]hdelay (us), high Rx}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjWubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH``h]h)}(hj|h]h%ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1hhhhMmhjwubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hmax packets, high Rxh]hmax packets, high Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_COALESCE_TX_USECS_HIGH``h]h)}(hjӄh]h ETHTOOL_A_COALESCE_TX_USECS_HIGH}(hjՄhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjфubah}(h]h ]h"]h$]h&]uh1hhhhMnhj΄ubah}(h]h ]h"]h$]h&]uh1jhj˄ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhj˄ubj)}(hhh]h)}(hdelay (us), high Txh]hdelay (us), high Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMnhjubah}(h]h ]h"]h$]h&]uh1jhj˄ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_MAX_FRAMES_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&]uh1hhhhMohj%ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hu32h]hu32}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjEubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hmax packets, high Txh]hmax packets, high Tx}(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_COALESCE_RATE_SAMPLE_INTERVAL``h]h)}(hjh]h'ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMphj|ubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjyubj)}(hhh]h)}(hrate sampling intervalh]hrate sampling interval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMphjubah}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_TX``h]h)}(hj؅h]hETHTOOL_A_COALESCE_USE_CQE_TX}(hjڅhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjօubah}(h]h ]h"]h$]h&]uh1hhhhMqhjӅubah}(h]h ]h"]h$]h&]uh1jhjЅubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhjubah}(h]h ]h"]h$]h&]uh1jhjЅubj)}(hhh]h)}(htimer reset mode, Txh]htimer reset mode, Tx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj ubah}(h]h ]h"]h$]h&]uh1jhjЅubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_USE_CQE_RX``h]h)}(hj/h]hETHTOOL_A_COALESCE_USE_CQE_RX}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1hhhhMrhj*ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hboolh]hbool}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjJubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(htimer reset mode, Rxh]htimer reset mode, Rx}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjaubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES``h]h)}(hjh]h$ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hmax aggr size, Txh]hmax aggr size, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMshjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES``h]h)}(hj݆h]h%ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES}(hj߆hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjۆubah}(h]h ]h"]h$]h&]uh1hhhhMthj؆ubah}(h]h ]h"]h$]h&]uh1jhjՆubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjՆubj)}(hhh]h)}(hmax aggr packets, Txh]hmax aggr packets, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthjubah}(h]h ]h"]h$]h&]uh1jhjՆubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h)``ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS``h]h)}(hj4h]h%ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMuhj/ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hu32h]hu32}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjOubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(htime (us), aggr, Txh]htime (us), aggr, Tx}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMuhjfubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_RX_PROFILE``h]h)}(hjh]hETHTOOL_A_COALESCE_RX_PROFILE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hprofile of DIM, Rxh]hprofile of DIM, Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMvhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_COALESCE_TX_PROFILE``h]h)}(hjh]hETHTOOL_A_COALESCE_TX_PROFILE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMwhj݇ubah}(h]h ]h"]h$]h&]uh1jhjڇubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjڇubj)}(hhh]h)}(hprofile of DIM, Txh]hprofile of DIM, Tx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMwhjubah}(h]h ]h"]h$]h&]uh1jhjڇubeh}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]colsKuh1jhj}ubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1jhhhMYhj}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 }(hjJhhhNhNubh)}(h*``ethtool_ops::supported_coalesce_params``h]hðtool_ops::supported_coalesce_params}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubh} is not set), regardless of their values. Driver may impose additional constraints on coalescing parameters and their values.}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMzhj}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 }(hjjhhhNhNubh)}(h ``ioctl()``h]hioctl()}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubh 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.}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj}hhubeh}(h] coalesce-setah ]h"] coalesce_setah$]h&]uh1hhhhhhhhMSubh)}(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:}(hjÈhhhNhNubah}(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)}(hjh]hETHTOOL_A_PAUSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]h)}(hj[h]hETHTOOL_A_PAUSE_STATS_SRC}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hu32h]hu32}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj؈ubeh}(h]h ]h"]h$]h&]colsKuh1jhjՈubah}(h]h ]h"]h$]h&]uh1jhjшubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h@``ETHTOOL_A_PAUSE_STATS_SRC`` is optional. It takes values from:h](h)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]hETHTOOL_A_PAUSE_STATS_SRC}(hjljhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjÉubh# is optional. It takes values from:}(hjÉhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleethtool_mac_stats_src (C enum)c.ethtool_mac_stats_srchNtauh1j߉hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hethtool_mac_stats_srch]hdesc_signature_line)}(henum ethtool_mac_stats_srch](hdesc_sig_keyword)}(henumh]henum}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhjhKubh desc_name)}(hethtool_mac_stats_srch]h desc_sig_name)}(hjh]hethtool_mac_stats_src}(hj,hhhNhNubah}(h]h ]nah"]h$]h&]uh1j*hj&ubah}(h]h ](sig-namedescnameeh"]h$]h&] xml:spacepreserveuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjC add_permalinkuh1jsphinx_line_type declaratorhjhhhjhKubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhjhKhjhhubh desc_content)}(hhh]h)}(h source of ethtool MAC statisticsh]h source of ethtool MAC statistics}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhjZhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](cenumeh"]h$]h&]domainjuobjtypejvdesctypejvnoindex noindexentrynocontentsentryuh1jhhhjhNhNubh container)}(hX**Constants** ``ETHTOOL_MAC_STATS_SRC_AGGREGATE`` if device supports a MAC merge layer, this retrieves the aggregate statistics of the eMAC and pMAC. Otherwise, it retrieves just the statistics of the single (express) MAC. ``ETHTOOL_MAC_STATS_SRC_EMAC`` if device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC. ``ETHTOOL_MAC_STATS_SRC_PMAC`` if device supports a MM layer, this retrieves the pMAC statistics.h](h)}(h **Constants**h]hstrong)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhjubhdefinition_list)}(hhh](hdefinition_list_item)}(h``ETHTOOL_MAC_STATS_SRC_AGGREGATE`` if device supports a MAC merge layer, this retrieves the aggregate statistics of the eMAC and pMAC. Otherwise, it retrieves just the statistics of the single (express) MAC. h](hterm)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]h)}(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:1170: ./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.}(hjʊhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhjNJubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjĊhMhjubj)}(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)}(hjh]hETHTOOL_MAC_STATS_SRC_EMAC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hif device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC.h]hif device supports a MM layer, this retrieves the eMAC statistics. Otherwise, it retrieves the statistics of the single (express) MAC.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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)}(hj%h]hETHTOOL_MAC_STATS_SRC_PMAC}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(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.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1170: ./include/uapi/linux/ethtool.hhMhj;ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj:hMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(hIf absent from the request, stats will be provided with an ``ETHTOOL_A_PAUSE_STATS_SRC`` attribute in the response equal to ``ETHTOOL_MAC_STATS_SRC_AGGREGATE``.h](h;If absent from the request, stats will be provided with an }(hjfhhhNhNubh)}(h``ETHTOOL_A_PAUSE_STATS_SRC``h]hETHTOOL_A_PAUSE_STATS_SRC}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubh$ attribute in the response equal to }(hjfhhhNhNubh)}(h#``ETHTOOL_MAC_STATS_SRC_AGGREGATE``h]hETHTOOL_MAC_STATS_SRC_AGGREGATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubh.}(hjfhhhNhNubeh}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjыubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjыubeh}(h]h ]h"]h$]h&]uh1jhj΋ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_AUTONEG``h]h)}(hj0h]hETHTOOL_A_PAUSE_AUTONEG}(hj2hhhNhNubah}(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}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(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)}(hjh]hETHTOOL_A_PAUSE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(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_PAUSE_TX``h]h)}(hjތh]hETHTOOL_A_PAUSE_TX}(hjhhhNhNubah}(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)}(htransmit pause framesh]htransmit 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_STATS``h]h)}(hj5h]hETHTOOL_A_PAUSE_STATS}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhMhj0ubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hnestedh]hnested}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhj-ubj)}(hhh]h)}(hpause statisticsh]hpause statistics}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhj΋ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]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}(hjōhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhv. It will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_pause_stats (C struct)c.ethtool_pause_statshNtauh1j߉hjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhNubj)}(hhh](j)}(hethtool_pause_statsh]j)}(hstruct ethtool_pause_statsh](j)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_pause_statsh]j+)}(hjh]hethtool_pause_stats}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(hhh]h)}(h'statistics for IEEE 802.3x pause framesh]h'statistics for IEEE 802.3x pause frames}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhj7hhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](justructeh"]h$]h&]jzjuj{jRj|jRj}j~juh1jhhhjhjhNubj)}(hX'**Definition**:: struct ethtool_pause_stats { enum ethtool_mac_stats_src src; u64 tx_pause_frames; u64 rx_pause_frames; }; **Members** ``src`` input field denoting whether stats should be queried from the eMAC or pMAC (if the MM layer is supported). To be ignored otherwise. ``tx_pause_frames`` transmitted pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_TX_FRAMES``. ``rx_pause_frames`` received pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to:h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh:}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjVubh literal_block)}(hustruct ethtool_pause_stats { enum ethtool_mac_stats_src src; u64 tx_pause_frames; u64 rx_pause_frames; };h]hustruct ethtool_pause_stats { enum ethtool_mac_stats_src src; u64 tx_pause_frames; u64 rx_pause_frames; };}hjysbah}(h]h ]h"]h$]h&]jBjCuh1jwhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjVubh)}(h **Members**h]j)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjVubj)}(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:1192: ./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.}(hjŽhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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)}(hjh]htx_pause_frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjݎubjƊ)}(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:1192: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjݎubeh}(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)}(hj/h]hrx_pause_frames}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhj)ubjƊ)}(hhh]h)}(hhreceived pause frame count. Reported to user space as ``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``. Equivalent to:h](h6received pause frame count. Reported to user space as }(hjHhhhNhNubh)}(h"``ETHTOOL_A_PAUSE_STAT_RX_FRAMES``h]hETHTOOL_A_PAUSE_STAT_RX_FRAMES}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubh. Equivalent to:}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjDhMhjEubah}(h]h ]h"]h$]h&]uh1jŊhj)ubeh}(h]h ]h"]h$]h&]uh1jhjDhMhjubeh}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhjhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjhhubj)}(hEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard. Equivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard. h](h)}(hJEquivalent to `30.3.4.2 aPAUSEMACCtrlFramesTransmitted` from the standard.h](hEquivalent to }(hjhhhNhNubhtitle_reference)}(h)`30.3.4.2 aPAUSEMACCtrlFramesTransmitted`h]h'30.3.4.2 aPAUSEMACCtrlFramesTransmitted}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjubh)}(hGEquivalent to `30.3.4.3 aPAUSEMACCtrlFramesReceived` from the standard.h](hEquivalent to }(hjhhhNhNubj)}(h&`30.3.4.3 aPAUSEMACCtrlFramesReceived`h]h$30.3.4.3 aPAUSEMACCtrlFramesReceived}(hjȏhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1192: ./include/linux/ethtool.hhMhjubeh}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hASets pause parameters like ``ETHTOOL_GPAUSEPARAM`` ioctl request.h](hSets pause parameters like }(hjhhhNhNubh)}(h``ETHTOOL_GPAUSEPARAM``h]hETHTOOL_GPAUSEPARAM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hX===================================== ====== ========================== ``ETHTOOL_A_PAUSE_HEADER`` nested request header ``ETHTOOL_A_PAUSE_AUTONEG`` bool pause autonegotiation ``ETHTOOL_A_PAUSE_RX`` bool receive pause frames ``ETHTOOL_A_PAUSE_TX`` bool transmit pause frames ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%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_PAUSE_HEADER``h]h)}(hjoh]hETHTOOL_A_PAUSE_HEADER}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjgubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjgubeh}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_AUTONEG``h]h)}(hjƐh]hETHTOOL_A_PAUSE_AUTONEG}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpause autonegotiationh]hpause autonegotiation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_RX``h]h)}(hjh]hETHTOOL_A_PAUSE_RX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hreceive pause framesh]hreceive pause frames}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PAUSE_TX``h]h)}(hjth]hETHTOOL_A_PAUSE_TX}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(htransmit pause framesh]htransmit pause frames}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhjCubeh}(h]h ]h"]h$]h&]colsKuh1jhj@ubah}(h]h ]h"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h] pause-setah ]h"] pause_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hEEE_GETh]hEEE_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hLGets Energy Efficient Ethernet settings like ``ETHTOOL_GEEE`` ioctl request.h](h-Gets Energy Efficient Ethernet settings like }(hjhhhNhNubh)}(h``ETHTOOL_GEEE``h]h ETHTOOL_GEEE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_EEE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj*ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj*ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj*ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_HEADER``h]h)}(hjVh]hETHTOOL_A_EEE_HEADER}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hnestedh]hnested}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjKubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]colsKuh1jhj'ubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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%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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_OURS``h]h)}(hjVh]hETHTOOL_A_EEE_MODES_OURS}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1hhhhMhjQubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hboolh]hbool}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjqubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hsupported/advertised modesh]hsupported/advertised modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_PEER``h]h)}(hjh]hETHTOOL_A_EEE_MODES_PEER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj˓hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjȓubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hpeer advertised link modesh]hpeer advertised link modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjߓubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ACTIVE``h]h)}(hjh]hETHTOOL_A_EEE_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEEE is actively usedh]hEEE is actively used}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_ENABLED``h]h)}(hj[h]hETHTOOL_A_EEE_ENABLED}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hboolh]hbool}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hEEE is enabledh]hEEE is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_EEE_TX_LPI_ENABLED``h]h)}(hjh]hETHTOOL_A_EEE_TX_LPI_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjДhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj͔ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTx lpi enabledh]hTx lpi enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_TX_LPI_TIMER``h]h)}(hj h]hETHTOOL_A_EEE_TX_LPI_TIMER}(hj hhhNhNubah}(h]h ]h"]h$]h&]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)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjӒubeh}(h]h ]h"]h$]h&]colsKuh1jhjВubah}(h]h ]h"]h$]h&]uh1jhj̒ubah}(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 }(hjqhhhNhNubh)}(h``ETHTOOL_A_EEE_MODES_OURS``h]hETHTOOL_A_EEE_MODES_OURS}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubh, 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 }(hjqhhhNhNubh)}(h``ETHTOOL_A_EEE_MODES_PEER``h]hETHTOOL_A_EEE_MODES_PEER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubhw (no mask). The netlink interface allows reporting EEE status for all link modes but only first 32 are provided by the }(hjqhhhNhNubh)}(h``ethtool_ops``h]h ethtool_ops}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubh callback.}(hjqhhhNhNubeh}(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 }(hjΕhhhNhNubh)}(h``ETHTOOL_SEEE``h]h ETHTOOL_SEEE}(hj֕hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjΕubh ioctl request.}(hjΕhhhNhNubeh}(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%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}(hj1hhhNhNubah}(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}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_MODES_OURS``h]h)}(hjh]hETHTOOL_A_EEE_MODES_OURS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(hadvertised modesh]hadvertised modes}(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_EEE_ENABLED``h]h)}(hjݖh]hETHTOOL_A_EEE_ENABLED}(hjߖhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjۖubah}(h]h ]h"]h$]h&]uh1hhhhMhjؖubah}(h]h ]h"]h$]h&]uh1jhjՖubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjՖubj)}(hhh]h)}(hEEE is enabledh]hEEE is enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjՖubeh}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_EEE_TX_LPI_ENABLED``h]h)}(hj4h]hETHTOOL_A_EEE_TX_LPI_ENABLED}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hboolh]hbool}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhj,ubj)}(hhh]h)}(hTx lpi enabledh]hTx lpi enabled}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhj,ubeh}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_EEE_TX_LPI_TIMER``h]h)}(hjh]hETHTOOL_A_EEE_TX_LPI_TIMER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTx lpi timeout (in us)h]hTx lpi timeout (in us)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]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}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hhhhhMubh)}(hIGets timestamping information like ``ETHTOOL_GET_TS_INFO`` ioctl request.h](h#Gets timestamping information like }(hj:hhhNhNubh)}(h``ETHTOOL_GET_TS_INFO``h]hETHTOOL_GET_TS_INFO}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubh ioctl request.}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubh)}(hRequest contents:h]hRequest contents:}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubj)}(hX'======================================== ====== ============================ ``ETHTOOL_A_TSINFO_HEADER`` nested request header ``ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER`` nested PTP hw clock provider ======================================== ====== ============================ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjoubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_HEADER``h]h)}(hjh]hETHTOOL_A_TSINFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(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_TSINFO_HWTSTAMP_PROVIDER``h]h)}(hjh]h"ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(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&]uh1jhjoubeh}(h]h ]h"]h$]h&]colsKuh1jhjlubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jhhhMhj)hhubh)}(hKernel response contents:h]hKernel response contents:}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubj)}(hX)===================================== ====== ========================== ``ETHTOOL_A_TSINFO_HEADER`` nested request header ``ETHTOOL_A_TSINFO_TIMESTAMPING`` bitset SO_TIMESTAMPING flags ``ETHTOOL_A_TSINFO_TX_TYPES`` bitset supported Tx types ``ETHTOOL_A_TSINFO_RX_FILTERS`` bitset supported Rx filters ``ETHTOOL_A_TSINFO_PHC_INDEX`` u32 PTP hw clock index ``ETHTOOL_A_TSINFO_STATS`` nested HW timestamping statistics ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjoubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjoubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_HEADER``h]h)}(hjh]hETHTOOL_A_TSINFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(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_TSINFO_TIMESTAMPING``h]h)}(hjh]hETHTOOL_A_TSINFO_TIMESTAMPING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hSO_TIMESTAMPING flagsh]hSO_TIMESTAMPING flags}(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_TSINFO_TX_TYPES``h]h)}(hjIh]hETHTOOL_A_TSINFO_TX_TYPES}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hbitseth]hbitset}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hsupported Tx typesh]hsupported Tx types}(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_TSINFO_RX_FILTERS``h]h)}(hjh]hETHTOOL_A_TSINFO_RX_FILTERS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsupported Rx filtersh]hsupported Rx filters}(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_TSINFO_PHC_INDEX``h]h)}(hjh]hETHTOOL_A_TSINFO_PHC_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPTP hw clock indexh]hPTP hw clock index}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSINFO_STATS``h]h)}(hjNh]hETHTOOL_A_TSINFO_STATS}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hnestedh]hnested}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hHW timestamping statisticsh]hHW timestamping statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]colsKuh1jhjlubah}(h]h ]h"]h$]h&]uh1jhjhubah}(h]h ]h"]h$]h&]uh1jhhhMhj)hhubh)}(h``ETHTOOL_A_TSINFO_PHC_INDEX`` is absent if there is no associated PHC (there is no special value for this case). The bitset attributes are omitted if they would be empty (no bit set).h](h)}(h``ETHTOOL_A_TSINFO_PHC_INDEX``h]hETHTOOL_A_TSINFO_PHC_INDEX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 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).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj)hhubh)}(h>Additional hardware timestamping statistics response contents:h]h>Additional hardware timestamping statistics response contents:}(hjқhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj)hhubj)}(hXe================================================== ====== ===================== ``ETHTOOL_A_TS_STAT_TX_PKTS`` uint Packets with Tx HW timestamps ``ETHTOOL_A_TS_STAT_TX_LOST`` uint Tx HW timestamp not arrived count ``ETHTOOL_A_TS_STAT_TX_ERR`` uint HW error request Tx timestamp count ``ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED`` uint Packets with one-step HW TX timestamps with unconfirmed delivery ================================================== ====== ===================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TS_STAT_TX_PKTS``h]h)}(hjh]hETHTOOL_A_TS_STAT_TX_PKTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(huinth]huint}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hPackets with Tx HW timestampsh]hPackets with Tx HW timestamps}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TS_STAT_TX_LOST``h]h)}(hjjh]hETHTOOL_A_TS_STAT_TX_LOST}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(huinth]huint}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjbubj)}(hhh]h)}(h!Tx HW timestamp not arrived counth]h!Tx HW timestamp not arrived count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TS_STAT_TX_ERR``h]h)}(hjh]hETHTOOL_A_TS_STAT_TX_ERR}(hjÜhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hjߜhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjܜubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#HW error request Tx timestamp counth]h#HW error request Tx timestamp count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h1``ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED``h]h)}(hjh]h-ETHTOOL_A_TS_STAT_TX_ONESTEP_PKTS_UNCONFIRMED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(huinth]huint}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h@Packets with one-step HW TX timestamps with unconfirmed deliveryh]h@Packets with one-step HW TX timestamps with unconfirmed delivery}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM hj)hhubeh}(h] tsinfo-getah ]h"] tsinfo_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h CABLE_TESTh]h CABLE_TEST}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(hStart a cable test.h]hStart a cable test.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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&]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&]uh1jhjݝubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM hjhhubh)}(hNotification contents:h]hNotification contents:}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM$hjhhubh)}(hXAn Ethernet cable typically contains 1, 2 or 4 pairs. The length of the pair can only be measured when there is a fault in the pair and hence a reflection. Information about the fault may not be available, depending on the specific hardware. Hence the contents of the notify message are mostly optional. The attributes can be repeated an arbitrary number of times, in an arbitrary order, for an arbitrary number of pairs.h]hXAn Ethernet cable typically contains 1, 2 or 4 pairs. The length of the pair can only be measured when there is a fault in the pair and hence a reflection. Information about the fault may not be available, depending on the specific hardware. Hence the contents of the notify message are mostly optional. The attributes can be repeated an arbitrary number of times, in an arbitrary order, for an arbitrary number of pairs.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjhhubh)}(hThe example shows the notification sent when the test is completed for a T2 cable, i.e. two pairs. One pair is OK and hence has no length information. The second pair has a fault and does have length information.h]hThe example shows the notification sent when the test is completed for a T2 cable, i.e. two pairs. One pair is OK and hence has no length information. The second pair has a fault and does have length information.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjhhubj)}(hX+---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_CABLE_TEST_HEADER`` | nested | reply header | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_CABLE_TEST_STATUS`` | u8 | completed | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_CABLE_TEST_NTF_NEST`` | nested | all the results | +-+-------------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_CABLE_NEST_RESULT`` | nested | cable test result | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_CODE`` | u8 | result code | +-+-+-----------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_CABLE_NEST_RESULT`` | nested | cable test results | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULTS_CODE`` | u8 | result code | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_RESULT_SRC`` | u32 | information source | +-+-+-----------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_CABLE_NEST_FAULT_LENGTH`` | nested | cable length | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR`` | u8 | pair number | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_FAULT_LENGTH_CM`` | u32 | length in cm | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_CABLE_FAULT_LENGTH_SRC`` | u32 | information source | +-+-+-----------------------------------------+--------+---------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK)uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_HEADER}(hjÞhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjݞubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM4hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_CABLE_TEST_STATUS``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM6hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj5ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h completedh]h completed}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hjLubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_CABLE_TEST_NTF_NEST``h]h)}(hjqh]hETHTOOL_A_CABLE_TEST_NTF_NEST}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1hhhhM8hjlubah}(h]h ]h"]h$]h&]morecolsKuh1jhjiubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hall the resultsh]hall the results}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``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&]uh1hhhhM:hj͟ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcable test resulth]hcable test result}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hj<h]hETHTOOL_A_CABLE_RESULTS_PAIR}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM<hj7ubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(hu8h]hu8}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjWubah}(h]h ]h"]h$]h&]uh1jhj"ubj)}(hhh]h)}(h pair numberh]h pair number}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM<hjnubah}(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_CABLE_RESULTS_CODE``h]h)}(hjh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjàhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM>hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h result codeh]h result code}(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]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&]uh1hhhhM@hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj!ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcable test resultsh]hcable test results}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM@hj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_RESULTS_PAIR``h]h)}(hjoh]hETHTOOL_A_CABLE_RESULTS_PAIR}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmubah}(h]h ]h"]h$]h&]uh1hhhhMBhjjubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjUubj)}(hhh]h)}(h pair numberh]h pair number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMBhjubah}(h]h ]h"]h$]h&]uh1jhjUubeh}(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_CABLE_RESULTS_CODE``h]h)}(hjءh]hETHTOOL_A_CABLE_RESULTS_CODE}(hjڡhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj֡ubah}(h]h ]h"]h$]h&]uh1hhhhMDhjӡubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h result codeh]h result code}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMDhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_RESULT_SRC``h]h)}(hjAh]hETHTOOL_A_CABLE_RESULT_SRC}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhMFhj<ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hu32h]hu32}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhj\ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMFhjsubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_NEST_FAULT_LENGTH``h]h)}(hjh]h!ETHTOOL_A_CABLE_NEST_FAULT_LENGTH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMHhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h cable lengthh]h cable length}(hjעhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjԢubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%``ETHTOOL_A_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&]uh1hhhhMJhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj&ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMJhj=ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h#``ETHTOOL_A_CABLE_FAULT_LENGTH_CM``h]h)}(hjth]hETHTOOL_A_CABLE_FAULT_LENGTH_CM}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMLhjoubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh]h)}(h length in cmh]h length in cm}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjZubeh}(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_CABLE_FAULT_LENGTH_SRC``h]h)}(hjݣh]h ETHTOOL_A_CABLE_FAULT_LENGTH_SRC}(hjߣhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjۣubah}(h]h ]h"]h$]h&]uh1hhhhMNhjأubah}(h]h ]h"]h$]h&]uh1jhjãubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjubah}(h]h ]h"]h$]h&]uh1jhjãubj)}(hhh]h)}(hinformation sourceh]hinformation source}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMNhjubah}(h]h ]h"]h$]h&]uh1jhjãubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jhhhM3hjhhubeh}(h] cable-testah ]h"] cable_testah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hCABLE_TEST TDRh]hCABLE_TEST TDR}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhhhhhMSubh)}(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&]uh1hhhhMUhjMhhubh)}(hRequest contents:h]hRequest contents:}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjMhhubj)}(hX+--------------------------------------------+--------+-----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_HEADER`` | nested | reply header | +--------------------------------------------+--------+-----------------------+ | ``ETHTOOL_A_CABLE_TEST_TDR_CFG`` | nested | test configuration | +-+------------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE`` | u32 | first data distance | +-+-+----------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE`` | u32 | last data distance | +-+-+----------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE`` | u32 | distance of each step | +-+-+----------------------------------------+--------+-----------------------+ | | ``ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR`` | u8 | pair to test | +-+-+----------------------------------------+--------+-----------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK(uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_CABLE_TEST_TDR_HEADER``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_HEADER}(hjähhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMZhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjݤubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMZhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_CABLE_TEST_TDR_CFG``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_CFG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM\hjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hj5ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(htest configurationh]htest configuration}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM\hjLubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(h'``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE``h]h)}(hjzh]h#ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhM^hjuubah}(h]h ]h"]h$]h&]morecolsKuh1jhjiubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hfirst data distanceh]hfirst data distance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^hjubah}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjʥubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE``h]h)}(hjۥh]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(hjݥhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj٥ubah}(h]h ]h"]h$]h&]uh1hhhhM`hj֥ubah}(h]h ]h"]h$]h&]morecolsKuh1jhjʥubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM`hjubah}(h]h ]h"]h$]h&]uh1jhjʥubj)}(hhh]h)}(hlast data distanceh]hlast data distance}(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]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_STEP_DISTANCE``h]h)}(hj<h]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhMbhj7ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj+ubj)}(hhh]h)}(hu32h]hu32}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjXubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hdistance of each steph]hdistance of each step}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhjoubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR``h]h)}(hjh]h!ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair to testh]h pair to test}(hjӦhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjЦubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jhhhMYhjMhhubh)}(hX6The ETHTOOL_A_CABLE_TEST_TDR_CFG is optional, as well as all members of the nest. All distances are expressed in centimeters. The PHY takes the distances as a guide, and rounds to the nearest distance it actually supports. If a pair is passed, only that one pair will be tested. Otherwise all pairs are tested.h]hX6The ETHTOOL_A_CABLE_TEST_TDR_CFG is optional, as well as all members of the nest. All distances are expressed in centimeters. The PHY takes the distances as a guide, and rounds to the nearest distance it actually supports. If a pair is passed, only that one pair will be tested. Otherwise all pairs are tested.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjMhhubh)}(hNotification contents:h]hNotification contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMmhjMhhubh)}(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.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohjMhhubh)}(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.}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMrhjMhhubh)}(hWhen the test has completed a second notification will be sent containing ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED and the TDR data.h]hWhen the test has completed a second notification will be sent containing ETHTOOL_A_CABLE_TEST_TDR_STATUS with the value ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED and the TDR data.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMxhjMhhubh)}(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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM|hjMhhubh)}(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.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubh)}(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.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMhhubj)}(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&]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_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&]morecolsKuh1jhjubj)}(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}(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_CABLE_TEST_TDR_STATUS``h]h)}(hjh]hETHTOOL_A_CABLE_TEST_TDR_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj1ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h completedh]h completed}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjHubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST``h]h)}(hjmh]h!ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]morecolsKuh1jhjeubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hall the resultsh]hall the results}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h"``ETHTOOL_A_CABLE_TDR_NEST_PULSE``h]h)}(hjΨh]hETHTOOL_A_CABLE_TDR_NEST_PULSE}(hjШhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj̨ubah}(h]h ]h"]h$]h&]uh1hhhhMhjɨubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hTX Pulse amplitudeh]hTX Pulse amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_PULSE_mV``h]h)}(hj8h]hETHTOOL_A_CABLE_PULSE_mV}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhMhj3ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjSubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPulse amplitudeh]hPulse amplitude}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``ETHTOOL_A_CABLE_NEST_STEP``h]h)}(hjh]hETHTOOL_A_CABLE_NEST_STEP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h TDR step infoh]h TDR step info}(hjΩhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj˩ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h'``ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE``h]h)}(hjh]h#ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFirst data distanceh]hFirst data distance}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_STEP_LAST_DISTANCE``h]h)}(hjkh]h"ETHTOOL_A_CABLE_STEP_LAST_DISTANCE}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(hLast data distanceh]hLast data distance}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(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_CABLE_STEP_STEP_DISTANCE``h]h)}(hjԪh]h"ETHTOOL_A_CABLE_STEP_STEP_DISTANCE}(hj֪hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjҪubah}(h]h ]h"]h$]h&]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)}(hdistance of each steph]hdistance of each step}(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]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hj4h]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj#ubj)}(hhh]h)}(hnestedh]hnested}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjPubah}(h]h ]h"]h$]h&]uh1jhj#ubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]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&]uh1jhjubj)}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hs16h]hs16}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h&``ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE``h]h)}(hjgh]h"ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]morecolsKuh1jhjVubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(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_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&]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_CABLE_AMPLITUDE_mV``h]h)}(hj:h]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhMhj5ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hs16h]hs16}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h&``ETHTOOL_A_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}(hjЭhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjͭubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]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}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h pair numberh]h pair number}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h ``ETHTOOL_A_CABLE_AMPLITUDE_mV``h]h)}(hjmh]hETHTOOL_A_CABLE_AMPLITUDE_mV}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hs16h]hs16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hReflection amplitudeh]hReflection amplitude}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj}ubeh}(h]h ]h"]h$]h&]colsKuh1jhjzubah}(h]h ]h"]h$]h&]uh1jhjvubah}(h]h ]h"]h$]h&]uh1jhhhMhjMhhubeh}(h]cable-test-tdrah ]h"]cable_test tdrah$]h&]uh1hhhhhhhhMSubh)}(hhh](h)}(h TUNNEL_INFOh]h TUNNEL_INFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjݮhhhhhMubh)}(h8Gets information about the tunnel state NIC is aware of.h]h8Gets information about the tunnel state NIC is aware of.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjݮhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjݮhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_TUNNEL_INFO_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_TUNNEL_INFO_HEADER``h]h)}(hj=h]hETHTOOL_A_TUNNEL_INFO_HEADER}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhMhj8ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hnestedh]hnested}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjXubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhjݮhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjݮhhubj)}(hX+---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_TUNNEL_INFO_HEADER`` | nested | reply header | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_TUNNEL_INFO_UDP_PORTS`` | nested | all UDP port tables | +-+-------------------------------------------+--------+---------------------+ | | ``ETHTOOL_A_TUNNEL_UDP_TABLE`` | nested | one UDP port table | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE`` | u32 | max size of the | | | | | | table | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES`` | bitset | tunnel types which | | | | | | table can hold | +-+-+-----------------------------------------+--------+---------------------+ | | | ``ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY`` | nested | offloaded UDP port | +-+-+-+---------------------------------------+--------+---------------------+ | | | | ``ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT`` | be16 | UDP port | +-+-+-+---------------------------------------+--------+---------------------+ | | | | ``ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE`` | u32 | tunnel type | +-+-+-+---------------------------------------+--------+---------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]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)}(hjh]hETHTOOL_A_TUNNEL_INFO_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_INFO_UDP_PORTS``h]h)}(hj\h]hETHTOOL_A_TUNNEL_INFO_UDP_PORTS}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]morecolsKuh1jhjTubj)}(hhh]h)}(hnestedh]hnested}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjxubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hall UDP port tablesh]hall UDP port tables}(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&]uh1jhjubj)}(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&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjܰhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjٰubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hone UDP port tableh]hone UDP port table}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE``h]h)}(hj'h]hETHTOOL_A_TUNNEL_UDP_TABLE_SIZE}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhMhj"ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(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&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES``h]h)}(hjh]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjwubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(h!tunnel types which table can holdh]h!tunnel types which table can hold}(hjDZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjıubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(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)}(hjh]h ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hoffloaded UDP porth]hoffloaded UDP port}(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]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h#``ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT``h]h)}(hjnh]hETHTOOL_A_TUNNEL_UDP_ENTRY_PORT}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hbe16h]hbe16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(hUDP porth]hUDP port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(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&]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)}(h tunnel typeh]h tunnel type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjݮhhubh)}(hFor UDP tunnel table empty ``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES`` indicates that the table contains static entries, hard-coded by the NIC.h](hFor UDP tunnel table empty }(hjHhhhNhNubh)}(h$``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES``h]h ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubhI indicates that the table contains static entries, hard-coded by the NIC.}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjݮhhubeh}(h] tunnel-infoah ]h"] tunnel_infoah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_GETh]hFEC_GET}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjphhhhhMubh)}(hJGets FEC configuration and state like ``ETHTOOL_GFECPARAM`` ioctl request.h](h&Gets FEC configuration and state like }(hjhhhNhNubh)}(h``ETHTOOL_GFECPARAM``h]hETHTOOL_GFECPARAM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh ioctl request.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjphhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjphhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_FEC_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_FEC_HEADER``h]h)}(hjh]hETHTOOL_A_FEC_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjphhubh)}(hKernel response contents:h]hKernel response contents:}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjphhubj)}(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)}(hjh]hETHTOOL_A_FEC_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_MODES``h]h)}(hjh]hETHTOOL_A_FEC_MODES}(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)}(hconfigured modesh]hconfigured modes}(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_FEC_AUTO``h]h)}(hj9h]hETHTOOL_A_FEC_AUTO}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hboolh]hbool}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hFEC mode auto selectionh]hFEC mode auto selection}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_ACTIVE``h]h)}(hjh]hETHTOOL_A_FEC_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]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 active FEC modeh]hindex of active FEC mode}(hjŵhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjµubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_STATS``h]h)}(hjh]hETHTOOL_A_FEC_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjߵubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjߵubj)}(hhh]h)}(hFEC statisticsh]hFEC statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjߵubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj_ubeh}(h]h ]h"]h$]h&]colsKuh1jhj\ubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]uh1jhhhMhjphhubh)}(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}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjOubh 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.}(hjOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjphhubh)}(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}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubh and }(hjkhhhNhNubh)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubh: are only meaningful when autonegotiation is disabled. If }(hjkhhhNhNubh)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubh is non-zero driver will select the FEC mode automatically based on the parameters of the SFP module. This is equivalent to the }(hjkhhhNhNubh)}(h``ETHTOOL_FEC_AUTO``h]hETHTOOL_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubh bit of the ioctl interface. }(hjkhhhNhNubh)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubhK carry the current FEC configuration using link mode bits (rather than old }(hjkhhhNhNubh)}(h``ETHTOOL_FEC_*``h]h ETHTOOL_FEC_*}(hjɶhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubh bits).}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjphhubh)}(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&]uh1hhhhMhjphhubj)}(hhh]j)}(hhh](j)}(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`0`h]j)}(hjFh]h0}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h&device does not support FEC statisticsh]h&device does not support FEC statistics}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjaubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h`1`h]j)}(hjh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubj)}(hhh]h)}(h+device does not support per-lane break downh]h+device does not support per-lane break down}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh](j)}(hhh]h)}(h `1 + #lanes`h]j)}(hjƷh]h 1 + #lanes}(hjȷhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjķubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%device 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&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]colsKuh1jhj!ubah}(h]h ]h"]h$]h&]uh1jhjphhhhhNubh)}(h:Drivers fill in the statistics in the following structure:h]h:Drivers fill in the statistics in the following structure:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjphhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_fec_stats (C struct)c.ethtool_fec_statshNtauh1j߉hjphhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhNubj)}(hhh](j)}(hethtool_fec_statsh]j)}(hstruct ethtool_fec_statsh](j)}(hjh]hstruct}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5hhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhKubj)}(h h]h }(hjGhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhj5hhhjFhKubj%)}(hethtool_fec_statsh]j+)}(hj3h]hethtool_fec_stats}(hjYhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjUubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hj5hhhjFhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj1hhhjFhKubah}(h]j+ah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjFhKhj.hhubjY)}(hhh]h)}(hstatistics for IEEE 802.3 FECh]hstatistics for IEEE 802.3 FEC}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjxhhubah}(h]h ]h"]h$]h&]uh1jXhj.hhhjFhKubeh}(h]h ](justructeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhjphj-hNubj)}(hX**Definition**:: struct ethtool_fec_stats { struct ethtool_fec_stat { u64 total; u64 lanes[ETHTOOL_MAX_LANES]; } corrected_blocks, uncorrectable_blocks, corrected_bits; }; **Members** ``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. ``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. ``corrected_bits`` number of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubjx)}(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&]jBjCuh1jwhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]j)}(hjɸh]hMembers}(hj˸hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjǸubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubj)}(hhh](j)}(h|``corrected_blocks`` number of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``. h](j)}(h``corrected_blocks``h]h)}(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:1541: ./include/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hfnumber of received blocks corrected by FEC Reported to user space as ``ETHTOOL_A_FEC_STAT_CORRECTED``.h](hEnumber of received blocks corrected by FEC Reported to user space as }(hjhhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORRECTED``h]hETHTOOL_A_FEC_STAT_CORRECTED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj߸ubj)}(h``uncorrectable_blocks`` number of received blocks FEC was not able to correct Reported to user space as ``ETHTOOL_A_FEC_STAT_UNCORR``. h](j)}(h``uncorrectable_blocks``h]h)}(hj4h]huncorrectable_blocks}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhj.ubjƊ)}(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 }(hjMhhhNhNubh)}(h``ETHTOOL_A_FEC_STAT_UNCORR``h]hETHTOOL_A_FEC_STAT_UNCORR}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubh.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjJubah}(h]h ]h"]h$]h&]uh1jŊhj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhMhj߸ubj)}(h``corrected_bits`` number of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](j)}(h``corrected_bits``h]h)}(hjh]hcorrected_bits}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjzubjƊ)}(hhh]h)}(hnumber of bits corrected by FEC Similar to **corrected_blocks** but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as ``ETHTOOL_A_FEC_STAT_CORR_BITS``.h](h+number of bits corrected by FEC Similar to }(hjhhhNhNubj)}(h**corrected_blocks**h]hcorrected_blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh| but counts individual bit changes, not entire FEC data blocks. This is a non-standard statistic. Reported to user space as }(hjhhhNhNubh)}(h ``ETHTOOL_A_FEC_STAT_CORR_BITS``h]hETHTOOL_A_FEC_STAT_CORR_BITS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjzubeh}(h]h ]h"]h$]h&]uh1jhjhMhj߸ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjphhhj-hNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjphhubj)}(hEquivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard. Equivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard. h](h)}(hBEquivalent to `30.5.1.1.17 aFECCorrectedBlocks` from the standard.h](hEquivalent to }(hjhhhNhNubj)}(h!`30.5.1.1.17 aFECCorrectedBlocks`h]h30.5.1.1.17 aFECCorrectedBlocks}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh from the standard.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubh)}(hFEquivalent to `30.5.1.1.18 aFECUncorrectableBlocks` from the standard.h](hEquivalent to }(hj"hhhNhNubj)}(h%`30.5.1.1.18 aFECUncorrectableBlocks`h]h#30.5.1.1.18 aFECUncorrectableBlocks}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh from the standard.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubeh}(h]h ]h"]h$]h&]uh1jhj!hMhjphhubh)}(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:}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjphhubj0)}(hhh](j 0)}(hB**lanes**: per-lane/PCS-instance counts as defined by the standardh]h)}(hj]h](j)}(h **lanes**h]hlanes}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_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:1541: ./include/linux/ethtool.hhMhj[ubah}(h]h ]h"]h$]h&]uh1j0hjXubj 0)}(hb**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h]j)}(hhh]j)}(h_**total**: error counts for the entire port, for drivers incapable of reporting per-lane stats h](j)}(hO**total**: error counts for the entire port, for drivers incapable of reportingh](j)}(h **total**h]htotal}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhF: error counts for the entire port, for drivers incapable of reporting}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hper-lane statsh]hper-lane stats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j0hjXubeh}(h]h ]h"]h$]h&]j0j0uh1j0hjzhMhjphhubh)}(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.}(hjغhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1541: ./include/linux/ethtool.hhMhjphhubeh}(h]fec-getah ]h"]fec_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hFEC_SETh]hFEC_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhM ubh)}(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 hjhhubh)}(hRequest contents:h]hRequest contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjhhubj)}(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%uh1jhj5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj5ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj5ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_HEADER``h]h)}(hjah]hETHTOOL_A_FEC_HEADER}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj|ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_FEC_AUTO``h]h)}(hjh]hETHTOOL_A_FEC_AUTO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hFEC mode auto selectionh]hFEC mode auto selection}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]colsKuh1jhj2ubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h{``FEC_SET`` is only meaningful when autonegotiation is disabled. Otherwise FEC mode is selected as part of autonegotiation.h](h)}(h ``FEC_SET``h]hFEC_SET}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubhp is only meaningful when autonegotiation is disabled. Otherwise FEC mode is selected as part of autonegotiation.}(hjwhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h``ETHTOOL_A_FEC_MODES`` selects which FEC mode should be used. It's recommended to set only one bit, if multiple bits are set driver may choose between them in an implementation specific way.h](h)}(h``ETHTOOL_A_FEC_MODES``h]hETHTOOL_A_FEC_MODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 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.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(h``ETHTOOL_A_FEC_AUTO`` requests the driver to choose FEC mode based on SFP module parameters. This does not mean autonegotiation.h](h)}(h``ETHTOOL_A_FEC_AUTO``h]hETHTOOL_A_FEC_AUTO}(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&]uh1hhhhMhjhhubeh}(h]fec-setah ]h"]fec_setah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(hMODULE_EEPROM_GETh]hMODULE_EEPROM_GET}(hjּhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjӼhhhhhM ubh)}(hXFetch module EEPROM data dump. This interface is designed to allow dumps of at most 1/2 page at once. This means only dumps of 128 (or less) bytes are allowed, without crossing half page boundary located at offset 128. For pages other than 0 only high 128 bytes are accessible.h]hXFetch module EEPROM data dump. This interface is designed to allow dumps of at most 1/2 page at once. This means only dumps of 128 (or less) bytes are allowed, without crossing half page boundary located at offset 128. For pages other than 0 only high 128 bytes are accessible.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM"hjӼhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM(hjӼhhubj)}(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)}(hj3h]hETHTOOL_A_MODULE_EEPROM_HEADER}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhM+hj.ubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hnestedh]hnested}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjNubah}(h]h ]h"]h$]h&]uh1jhj+ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hjeubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_OFFSET``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_OFFSET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hoffset within a pageh]hoffset within a page}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM,hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_LENGTH``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_LENGTH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj߽ubah}(h]h ]h"]h$]h&]uh1hhhhM-hjܽubah}(h]h ]h"]h$]h&]uh1jhjٽubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM-hjubah}(h]h ]h"]h$]h&]uh1jhjٽubj)}(hhh]h)}(hamount of bytes to readh]hamount of bytes to read}(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_MODULE_EEPROM_PAGE``h]h)}(hj8h]hETHTOOL_A_MODULE_EEPROM_PAGE}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhM.hj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hu8h]hu8}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjSubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(h page numberh]h page number}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM.hjjubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_BANK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM/hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h bank numberh]h bank number}(hjľhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM/hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_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&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhj޾ubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhj޾ubj)}(hhh]h)}(hpage I2C addressh]hpage I2C address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM0hjubah}(h]h ]h"]h$]h&]uh1jhj޾ubeh}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhM*hjӼhhubh)}(hHIf ``ETHTOOL_A_MODULE_EEPROM_BANK`` is not specified, bank 0 is assumed.h](hIf }(hjNhhhNhNubh)}(h ``ETHTOOL_A_MODULE_EEPROM_BANK``h]hETHTOOL_A_MODULE_EEPROM_BANK}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNubh% is not specified, bank 0 is assumed.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM3hjӼhhubh)}(hKernel response contents:h]hKernel response contents:}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM5hjӼhhubj)}(hX+---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_MODULE_EEPROM_HEADER`` | nested | reply header | +---------------------------------------------+--------+---------------------+ | ``ETHTOOL_A_MODULE_EEPROM_DATA`` | binary | array of bytes from | | | | module EEPROM | +---------------------------------------------+--------+---------------------+ h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK-uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_EEPROM_HEADER``h]h)}(hjh]hETHTOOL_A_MODULE_EEPROM_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjͿhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjʿubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM8hjubah}(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&]uh1hhhhM:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM:hj!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&]uh1hhhhM:hj8ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhhhM7hjӼhhubh)}(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}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnubhK has an attribute length equal to the amount of bytes driver actually read.}(hjnhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM>hjӼhhubeh}(h]module-eeprom-getah ]h"]module_eeprom_getah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(h STATS_GETh]h STATS_GET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMBubh)}(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&]uh1hhhhMDhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMHhjhhubj)}(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&]uh1hhhhMKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMKhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_SRC``h]h)}(hj[h]hETHTOOL_A_STATS_SRC}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMLhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hu32h]hu32}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjvubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMLhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(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&]uh1hhhhMMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequested groups of statsh]hrequested groups of stats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMJhjhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMPhjhhubj)}(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&]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&]colwidthK uh1jhj/ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_STATS_HEADER``h]h)}(hjeh]hETHTOOL_A_STATS_HEADER}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhjcubah}(h]h ]h"]h$]h&]uh1hhhhMShj`ubah}(h]h ]h"]h$]h&]morecolsKuh1jhj]ubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMShjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(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&]uh1hhhhMUhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjubah}(h]h n]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hsource of statisticsh]hsource of statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMUhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(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&]uh1hhhhMWhjubah}(h]h ]h"]h$]h&]morecolsKuh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhj1ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hone or more group of statsh]hone or more group of stats}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMWhjHubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_ID``h]h)}(hjvh]hETHTOOL_A_STATS_GRP_ID}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtubah}(h]h ]h"]h$]h&]uh1hhhhMYhjqubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMYhjubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(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&]uh1hhhhMYhjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(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&]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)}(hstring set ID for namesh]hstring set ID for names}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h``ETHTOOL_A_STATS_GRP_STAT``h]h)}(hjDh]hETHTOOL_A_STATS_GRP_STAT}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM]hj?ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hnestedh]hnested}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hj_ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hnest containing a statistich]hnest containing a statistic}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM]hjvubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjZubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]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)}(hhistogram statistic (Rx)h]hhistogram statistic (Rx)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM_hjubah}(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_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&]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)}(hhistogram statistic (Tx)h]hhistogram statistic (Tx)}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMahj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjZubeh}(h]h ]h"]h$]h&]uh1jhj/ubeh}(h]h ]h"]h$]h&]colsKuh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhhhMRhjhhubh)}(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 }(hjlhhhNhNubh)}(h``ETHTOOL_A_STATS_GROUPS``h]hETHTOOL_A_STATS_GROUPS}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubh& bitset. Currently defined values are:}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMdhjhhubj)}(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&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK/uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_MACh]hETHTOOL_STATS_ETH_MAC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-mach]heth-mac}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjubah}(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&]uh1hhhhMhhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_PHYh]hETHTOOL_STATS_ETH_PHY}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(heth-phyh]heth-phy}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(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.*)}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_ETH_CTRLh]hETHTOOL_STATS_ETH_CTRL}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(heth-ctrlh]heth-ctrl}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjmubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(h/Basic IEEE 802.3 MAC Ctrl statistics (30.3.3.*)h]h/Basic IEEE 802.3 MAC Ctrl statistics (30.3.3.*)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hETHTOOL_STATS_RMONh]hETHTOOL_STATS_RMON}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrmonh]hrmon}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hRMON (RFC 2819) statisticsh]hRMON (RFC 2819) statistics}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(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&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hphyh]hphy}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj ubah}(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&]uh1hhhhMlhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMghjhhubh)}(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 }(hjVhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP``h]hETHTOOL_A_STATS_GRP}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubh in the reply. }(hjVhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_ID``h]hETHTOOL_A_STATS_GRP_ID}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubh6 identifies which group’s statistics nest contains. }(hjVhhhNhNubh)}(h``ETHTOOL_A_STATS_GRP_SS_ID``h]hETHTOOL_A_STATS_GRP_SS_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVubhY identifies the string set ID for the names of the statistics in the group, if available.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMohjhhubh)}(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&]uh1hhhhMthjhhubh)}(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&]uh1hhhhM~hjhhubh)}(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}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh( nests contain the following attributes:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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!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_STATS_RMON_HIST_BKT_LOWh]h!ETHTOOL_A_STATS_RMON_HIST_BKT_LOW}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjlubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjiubj)}(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&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjfubj)}(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&]uh1jhjfubj)}(hhh](j)}(hhh]h)}(hETHTOOL_A_STATS_RMON_HIST_VALh]hETHTOOL_A_STATS_RMON_HIST_VAL}(hj hhhNhNubah}(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}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]colsKuh1jhjBubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h/Low and high bounds are inclusive, for example:h]h/Low and high bounds are inclusive, for example:}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(h============================= ==== ==== RFC statistic low high ============================= ==== ==== etherStatsPkts64Octets 0 64 etherStatsPkts512to1023Octets 512 1023 ============================= ==== ==== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhthead)}(hhh]j)}(hhh](j)}(hhh]h)}(h RFC statistich]h RFC statistic}(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&]uh1jhjubj)}(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}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hetherStatsPkts512to1023Octetsh]hetherStatsPkts512to1023Octets}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h512h]h512}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjfubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h1023h]h1023}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj}ubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj~ubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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&]uh1hhhhMhjhhubeh}(h] stats-getah ]h"] stats_getah$]h&]uh1hhhhhhhhMBubh)}(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.}(hj0hhhNhNubah}(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$uh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjSubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjSubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ``ETHTOOL_A_PHC_VCLOCKS_HEADER``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubeh}(h]h ]h"]h$]h&]uh1jhjtubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]colsKuh1jhjPubah}(h]h ]h"]h$]h&]uh1jhjLubah}(h]h ]h"]h$]h&]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)}(hj(h]hETHTOOL_A_PHC_VCLOCKS_HEADER}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubah}(h]h ]h"]h$]h&]uh1hhhhMhj#ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjCubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h reply headerh]h reply header}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjZubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHC_VCLOCKS_NUM``h]h)}(hjh]hETHTOOL_A_PHC_VCLOCKS_NUM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}ubah}(h]h ]h"]h$]h&]uh1hhhhMhjzubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjwubj)}(hhh]h)}(hPHC virtual clocks numberh]hPHC virtual clocks number}(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_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}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubeh}(h]phc-vclocks-getah ]h"]phc_vclocks_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h MODULE_GETh]h MODULE_GET}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFhhhhhMubh)}(h#Gets transceiver module parameters.h]h#Gets transceiver module parameters.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hRequest contents:h]hRequest contents:}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj)}(h===================================== ====== ========================== ``ETHTOOL_A_MODULE_HEADER`` nested request header ===================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjzubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjzubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjzubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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&]uh1jhjzubeh}(h]h ]h"]h$]h&]colsKuh1jhjwubah}(h]h ]h"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]uh1jhhhMhjFhhubh)}(hKernel response contents:h]hKernel response contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj)}(hX\====================================== ====== ========================== ``ETHTOOL_A_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)}(hjOh]hETHTOOL_A_MODULE_HEADER}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hnestedh]hnested}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_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&]uh1jhjDubj)}(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}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhj#ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjFhhubh)}(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 }(hjehhhNhNubh)}(h&``ETHTOOL_A_MODULE_POWER_MODE_POLICY``h]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjeubhX 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.}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubh)}(hThe optional ``ETHTHOOL_A_MODULE_POWER_MODE`` attribute encodes the operational power mode policy of the transceiver module. It is only reported when a module is plugged-in. Possible values are:h](h The optional }(hjhhhNhNubh)}(h ``ETHTHOOL_A_MODULE_POWER_MODE``h]hETHTHOOL_A_MODULE_POWER_MODE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute encodes the operational power mode policy of the transceiver module. It is only reported when a module is plugged-in. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjFhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"ethtool_module_power_mode (C enum)c.ethtool_module_power_modehNtauh1j߉hjFhhhNhNubj)}(hhh](j)}(hethtool_module_power_modeh]j)}(henum ethtool_module_power_modeh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1738: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_module_power_modeh]j+)}(hjh]hethtool_module_power_mode}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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:1738: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhjFhNhNubj)}(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&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1738: ./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)}(hjAh]hETHTOOL_MODULE_POWER_MODE_LOW}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1738: ./include/uapi/linux/ethtool.hhMhj;ubjƊ)}(hhh]h)}(hModule is in low power mode.h]hModule is in low power mode.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjVhMhjWubah}(h]h ]h"]h$]h&]uh1jŊhj;ubeh}(h]h ]h"]h$]h&]uh1jhjVhMhj8ubj)}(h@``ETHTOOL_MODULE_POWER_MODE_HIGH`` Module is in high power mode.h](j)}(h"``ETHTOOL_MODULE_POWER_MODE_HIGH``h]h)}(hjzh]hETHTOOL_MODULE_POWER_MODE_HIGH}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1738: ./include/uapi/linux/ethtool.hhMhjtubjƊ)}(hhh]h)}(hModule is in high power mode.h]hModule is in high power mode.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1738: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjtubeh}(h]h ]h"]h$]h&]uh1jhjhMhj8ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjFhhhNhNubeh}(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}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj>ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(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_MODULE_POWER_MODE_POLICY``h]h)}(hjzh]h"ETHTOOL_A_MODULE_POWER_MODE_POLICY}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1hhhhMhjuubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hpower mode policyh]hpower mode policy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j)ethtool_module_power_mode_policy (C enum)"c.ethtool_module_power_mode_policyhNtauh1j߉hjhhhNhNubj)}(hhh](j)}(h ethtool_module_power_mode_policyh]j)}(h%enum ethtool_module_power_mode_policyh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1757: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hj)hhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhj(hKubj%)}(h ethtool_module_power_mode_policyh]j+)}(hjh]h ethtool_module_power_mode_policy}(hj;hhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hj7ubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhj(hKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhj(hKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhj(hKhjhhubjY)}(hhh]h)}(h plug-in module power mode policyh]h plug-in module power mode policy}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1757: ./include/uapi/linux/ethtool.hhMhjZhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhj(hKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{juj|juj}j~juh1jhhhjhNhNubj)}(hXP**Constants** ``ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH`` Module is always in high power mode. ``ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO`` Module is transitioned by the host to high power mode when the first port using it is put administratively up and to low power mode when the last port using it is put administratively down.h](h)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj}ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1757: ./include/uapi/linux/ethtool.hhMhjyubj)}(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:1757: ./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&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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:1757: ./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:1757: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjyubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(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.}(hj&hhhNhNubah}(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.}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubh)}(hRequest contents:h]hRequest contents:}(hj[hhhNhNubah}(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%uh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(hjh]hETHTOOL_A_PSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]colsKuh1jhjmubah}(h]h ]h"]h$]h&]uh1jhjiubah}(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)}(hjEh]hETHTOOL_A_PSE_HEADER}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(hnestedh]hnested}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h reply headerh]h reply header}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwubah}(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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h+Operational state of the PoDL PSE functionsh]h+Operational state of the PoDL PSE functions}(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_PODL_PSE_PW_D_STATUS``h]h)}(hjh]hETHTOOL_A_PODL_PSE_PW_D_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h'power detection status of the PoDL PSE.h]h'power detection status of the PoDL PSE.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_C33_PSE_ADMIN_STATE``h]h)}(hjJh]hETHTOOL_A_C33_PSE_ADMIN_STATE}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHubah}(h]h ]h"]h$]h&]uh1hhhhMhjEubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(hu32h]hu32}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjeubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(h+Operational state of the PoE PSE functions.h]h+Operational state of the PoE PSE functions.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj|ubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(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.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj*ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_C33_PSE_ACTUAL_PW``h]h)}(hjOh]hETHTOOL_A_C33_PSE_ACTUAL_PW}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMubah}(h]h ]h"]h$]h&]uh1hhhhMhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(hu32h]hu32}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjjubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h)}(h"actual power drawn on the PoE PSE.h]h"actual power drawn on the PoE PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(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.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj/ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT``h]h)}(hjTh]h ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]uh1hhhhMhjOubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(hu32h]hu32}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjLubj)}(hhh]h)}(h0currently configured power limit of the PoE PSE.h]h0currently configured power limit of the PoE PSE.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(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}(hj hhhNhNubah}(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}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(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)}(hjYh]hETHTOOL_A_PSE_PRIO_MAX}(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}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjtubah}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh]h)}(h,Priority maximum configurable on the PoE PSEh]h,Priority maximum configurable on the PoE PSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jhj:ubj)}(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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj<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}(hj hhhNhNubah}(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}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh' action. This attribute corresponds to }(hjhhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh5 30.15.1.1.2 aPoDLPSEAdminState. Possible values are:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%ethtool_podl_pse_admin_state (C enum)c.ethtool_podl_pse_admin_statehNtauh1j߉hj<hhhNhNubj)}(hhh](j)}(hethtool_podl_pse_admin_stateh]j)}(h!enum ethtool_podl_pse_admin_stateh](j)}(hjh]henum}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjqhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1813: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjqhhhjhKubj%)}(hethtool_podl_pse_admin_stateh]j+)}(hjoh]hethtool_podl_pse_admin_state}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjqhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjmhhhjhKubah}(h]jhah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjjhhubjY)}(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:1813: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjjhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1813: ./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:1813: ./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:1813: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj hMhjubj)}(hJ``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED`` PoDL PSE functions are disabled h](j)}(h)``ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED``h]h)}(hj2h]h%ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1813: ./include/uapi/linux/ethtool.hhMhj,ubjƊ)}(hhh]h)}(hPoDL PSE functions are disabledh]hPoDL PSE functions are disabled}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGhMhjHubah}(h]h ]h"]h$]h&]uh1jŊhj,ubeh}(h]h ]h"]h$]h&]uh1jhjGhMhjubj)}(hG``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED`` PoDL PSE functions are enabledh](j)}(h(``ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED``h]h)}(hjkh]h$ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1813: ./include/uapi/linux/ethtool.hhMhjeubjƊ)}(hhh]h)}(hPoDL PSE functions are enabledh]hPoDL PSE functions are enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1813: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjeubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhNhNubh)}(hoThe same goes for ``ETHTOOL_A_C33_PSE_ADMIN_STATE`` implementing ``IEEE 802.3-2022`` 30.9.1.1.2 aPSEAdminState.9h](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&]uh1hhhhMhj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$ethtool_c33_pse_admin_state (C enum)c.ethtool_c33_pse_admin_statehNtauh1j߉hj<hhhNhNubj)}(hhh](j)}(hethtool_c33_pse_admin_stateh]j)}(h enum ethtool_c33_pse_admin_stateh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1819: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_c33_pse_admin_stateh]j+)}(hjh]hethtool_c33_pse_admin_state}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1819: ./include/uapi/linux/ethtool.hhMhj6hhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jQj|jQj}j~juh1jhhhj<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)}(hj[h]h Constants}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1819: ./include/uapi/linux/ethtool.hhMhjUubj)}(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)}(hjzh]h#ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1819: ./include/uapi/linux/ethtool.hhMhjtubjƊ)}(hhh]h)}(h!state of PSE functions is unknownh]h!state of PSE functions is unknown}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjtubeh}(h]h ]h"]h$]h&]uh1jhjhMhjqubj)}(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:1819: ./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&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjqubj)}(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:1819: ./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:1819: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjqubeh}(h]h ]h"]h$]h&]uh1jhjUubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<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 }(hj-hhhNhNubh)}(h"``ETHTOOL_A_PODL_PSE_PW_D_STATUS``h]hETHTOOL_A_PODL_PSE_PW_D_STATUS}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubh 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 }(hj-hhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubh? 30.15.1.1.3 aPoDLPSEPowerDetectionStatus. Possible values are:}(hj-hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%ethtool_podl_pse_pw_d_status (C enum)c.ethtool_podl_pse_pw_d_statushNtauh1j߉hj<hhhNhNubj)}(hhh](j)}(hethtool_podl_pse_pw_d_statush]j)}(h!enum ethtool_podl_pse_pw_d_statush](j)}(hjh]henum}(hjxhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjthhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjthhhjhKubj%)}(hethtool_podl_pse_pw_d_statush]j+)}(hjrh]hethtool_podl_pse_pw_d_status}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjthhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjphhhjhKubah}(h]jkah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjmhhubjY)}(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:1828: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjmhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./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:1828: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hPoDL PSEh]hPoDL PSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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)}(hj4h]h%ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhMhj.ubjƊ)}(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”}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhMhjJubah}(h]h ]h"]h$]h&]uh1jŊhj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhMhjubj)}(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)}(hjnh]hÐTOOL_PODL_PSE_PW_D_STATUS_SEARCHING}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhM hjhubjƊ)}(hhh]h)}(h"The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true."h]h“The enumeration “searching” is asserted true when either of the PSE state diagram variables pi_detecting or pi_classifying is true.”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhM hjubah}(h]h ]h"]h$]h&]uh1jŊhjhubeh}(h]h ]h"]h$]h&]uh1jhjhM 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:1828: ./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:1828: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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:1828: ./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:1828: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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:1828: ./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.”}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhMhj2ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj1hMhjubj)}(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)}(hjVh]h"ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjTubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1828: ./include/uapi/linux/ethtool.hhMhjPubjƊ)}(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.”}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhMhjlubah}(h]h ]h"]h$]h&]uh1jŊhjPubeh}(h]h ]h"]h$]h&]uh1jhjkhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<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 }(hjhhhNhNubh)}(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&]uh1hhjubh implementing }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh% 30.9.1.1.5 aPSEPowerDetectionStatus.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM'hj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$ethtool_c33_pse_pw_d_status (C enum)c.ethtool_c33_pse_pw_d_statushNtauh1j߉hj<hhhNhNubj)}(hhh](j)}(hethtool_c33_pse_pw_d_statush]j)}(h enum ethtool_c33_pse_pw_d_statush](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_c33_pse_pw_d_statush]j+)}(hjh]hethtool_c33_pse_pw_d_status}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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:1834: ./include/uapi/linux/ethtool.hhMhj hhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{j;j|j;j}j~juh1jhhhj<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)}(hjEh]h Constants}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./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)}(hjdh]h#ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./include/uapi/linux/ethtool.hhMhj^ubjƊ)}(hhh]h)}(hPSE status is unknownh]hPSE status is unknown}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyhMhjzubah}(h]h ]h"]h$]h&]uh1jŊhj^ubeh}(h]h ]h"]h$]h&]uh1jhjyhMhj[ubj)}(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:1834: ./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:1834: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj[ubj)}(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:1834: ./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:1834: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj[ubj)}(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:1834: ./include/uapi/linux/ethtool.hhMhj ubjƊ)}(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.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./include/uapi/linux/ethtool.hhMhj'ubah}(h]h ]h"]h$]h&]uh1jŊhj ubeh}(h]h ]h"]h$]h&]uh1jhj&hMhj[ubj)}(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)}(hjKh]h ETHTOOL_C33_PSE_PW_D_STATUS_TEST}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./include/uapi/linux/ethtool.hhMhjEubjƊ)}(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.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./include/uapi/linux/ethtool.hhMhjaubah}(h]h ]h"]h$]h&]uh1jŊhjEubeh}(h]h ]h"]h$]h&]uh1jhj`hMhj[ubj)}(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)}(hjh]h!ETHTOOL_C33_PSE_PW_D_STATUS_FAULT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1834: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(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:1834: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj[ubj)}(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:1834: ./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:1834: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj[ubeh}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<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&]uh1hhhhM-hj<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 }(hj2hhhNhNubh)}(h``ETHTOOL_A_C33_PSE_ACTUAL_PW``h]hETHTOOL_A_C33_PSE_ACTUAL_PW}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubh[ attribute identifies the actual power drawn by the C33 PSE. This attribute corresponds to }(hj2hhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubh= 30.9.1.1.23 aPSEActualPower. Actual power is reported in mW.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hj<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 }(hjdhhhNhNubh)}(h``ETHTOOL_A_C33_PSE_EXT_STATE``h]hETHTOOL_A_C33_PSE_EXT_STATE}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjdubhS attribute identifies the extended error state of the C33 PSE. Possible values are:}(hjdhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM7hj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"ethtool_c33_pse_ext_state (C enum)c.ethtool_c33_pse_ext_statehNtauh1j߉hj<hhhNhNubj)}(hhh](j)}(hethtool_c33_pse_ext_stateh]j)}(henum ethtool_c33_pse_ext_stateh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_c33_pse_ext_stateh]j+)}(hjh]hethtool_c33_pse_ext_state}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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:1850: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./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)}(hj h]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:1850: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hGroup of error_condition statesh]hGroup of error_condition states}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5hMhj6ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj5hMhjubj)}(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)}(hjYh]hÐTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjWubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjSubjƊ)}(hhh]h)}(hGroup of mr_mps_valid statesh]hGroup of mr_mps_valid states}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnhMhjoubah}(h]h ]h"]h$]h&]uh1jŊhjSubeh}(h]h ]h"]h$]h&]uh1jhjnhMhjubj)}(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)}(hjh]h'ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE}(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)}(hGroup of mr_pse_enable statesh]hGroup of mr_pse_enable states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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:1850: ./include/uapi/linux/ethtool.hhM hjubjƊ)}(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:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhM hjubj)}(hP``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM`` Group of option_vport_lim states h](j)}(h.``ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM``h]h)}(hjh]h*ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./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&]uh1jŊhjubeh}(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:1850: ./include/uapi/linux/ethtool.hhMhj8ubjƊ)}(hhh]h)}(hGroup of ovld_detected statesh]hGroup of ovld_detected states}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjShMhjTubah}(h]h ]h"]h$]h&]uh1jŊhj8ubeh}(h]h ]h"]h$]h&]uh1jhjShMhjubj)}(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)}(hjwh]h+ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjqubjƊ)}(hhh]h)}(h!Group of pd_dll_power_type statesh]h!Group of pd_dll_power_type states}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjqubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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:1850: ./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:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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:1850: ./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:1850: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<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 }(hj,hhhNhNubh)}(h"``ETHTOOL_A_C33_PSE_EXT_SUBSTATE``h]hETHTOOL_A_C33_PSE_EXT_SUBSTATE}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,ubhh attribute identifies the extended error state of the C33 PSE. Possible values are: Possible values are:}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM=hj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j5ethtool_c33_pse_ext_substate_error_condition (C enum).c.ethtool_c33_pse_ext_substate_error_conditionhNtauh1j߉hj<hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhNubj)}(hhh](j)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j)}(h1enum ethtool_c33_pse_ext_substate_error_conditionh](j)}(hjh]henum}(hjfhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjbhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjthhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjbhhhjshKubj%)}(h,ethtool_c33_pse_ext_substate_error_conditionh]j+)}(hj`h]h,ethtool_c33_pse_ext_substate_error_condition}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjbhhhjshKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj^hhhjshKubah}(h]jXah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjshKhj[hhubjY)}(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:1857: ./include/uapi/linux/ethtool.hhM'hjhhubah}(h]h ]h"]h$]h&]uh1jXhj[hhhjshKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<hjZhNubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./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:1857: ./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:1857: ./include/uapi/linux/ethtool.hhM.hjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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:1857: ./include/uapi/linux/ethtool.hhM2hjubjƊ)}(hhh]h)}(hUndefined porth]hUndefined port}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hM2hj9ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj8hM2hjubj)}(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)}(hj\h]h>ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM6hjVubjƊ)}(hhh]h)}(hInternal hardware faulth]hInternal hardware fault}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM5hjrubah}(h]h ]h"]h$]h&]uh1jŊhjVubeh}(h]h ]h"]h$]h&]uh1jhjqhM6hjubj)}(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)}(hjh]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM9hjubjƊ)}(hhh]h)}(h"Communication error after force onh]h"Communication error after force on}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM9hjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhM9hjubj)}(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:1857: ./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:1857: ./include/uapi/linux/ethtool.hhM<hjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(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)}(hj h]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMAhjubjƊ)}(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:1857: ./include/uapi/linux/ethtool.hhM@hjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMAhjubj)}(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)}(hjCh]hFETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMDhj=ubjƊ)}(hhh]h)}(hHost crash force shutdownh]hHost crash force shutdown}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXhMDhjYubah}(h]h ]h"]h$]h&]uh1jŊhj=ubeh}(h]h ]h"]h$]h&]uh1jhjXhMDhjubj)}(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)}(hj|h]h:ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMHhjvubjƊ)}(hhh]h)}(hConfiguration changeh]hConfiguration change}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMGhjubah}(h]h ]h"]h$]h&]uh1jŊhjvubeh}(h]h ]h"]h$]h&]uh1jhjhMHhjubj)}(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:1857: ./include/uapi/linux/ethtool.hhMKhjubjƊ)}(hhh]h)}(hOver temperature detectedh]hOver temperature detected}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMKhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhjZhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMNhj<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:1857: ./include/uapi/linux/ethtool.hhM;hj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j3ethtool_c33_pse_ext_substate_mr_pse_enable (C enum),c.ethtool_c33_pse_ext_substate_mr_pse_enablehNtauh1j߉hj<hhhjZhNubj)}(hhh](j)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]j)}(h/enum ethtool_c33_pse_ext_substate_mr_pse_enableh](j)}(hjh]henum}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMDubj)}(h h]h }(hjDhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhj2hhhjChMDubj%)}(h*ethtool_c33_pse_ext_substate_mr_pse_enableh]j+)}(hj0h]h*ethtool_c33_pse_ext_substate_mr_pse_enable}(hjVhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjRubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hj2hhhjChMDubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj.hhhjChMDubah}(h]j)ah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjChMDhj+hhubjY)}(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}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMOhjuhhubah}(h]h ]h"]h$]h&]uh1jXhj+hhhjChMDubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<hjZhNubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMShjubj)}(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:1857: ./include/uapi/linux/ethtool.hhMVhjubjƊ)}(hhh]h)}(hDisable pin activeh]hDisable pin active}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMVhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMVhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhjZhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMYhj<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:1857: ./include/uapi/linux/ethtool.hhMThj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j7ethtool_c33_pse_ext_substate_option_detect_ted (C enum)0c.ethtool_c33_pse_ext_substate_option_detect_tedhNtauh1j߉hj<hhhjZhNubj)}(hhh](j)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]j)}(h3enum ethtool_c33_pse_ext_substate_option_detect_tedh](j)}(hjh]henum}(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5hhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMZubj)}(h h]h }(hjGhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhj5hhhjFhMZubj%)}(h.ethtool_c33_pse_ext_substate_option_detect_tedh]j+)}(hj3h]h.ethtool_c33_pse_ext_substate_option_detect_ted}(hjYhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjUubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hj5hhhjFhMZubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj1hhhjFhMZubah}(h]j,ah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjFhMZhj.hhubjY)}(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}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM]hjxhhubah}(h]h ]h"]h$]h&]uh1jXhj.hhhjFhMZubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<hjZhNubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMahjubj)}(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:1857: ./include/uapi/linux/ethtool.hhMehjubjƊ)}(hhh]h)}(hDetection in processh]hDetection in process}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMdhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMehjubj)}(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:1857: ./include/uapi/linux/ethtool.hhMghjubjƊ)}(hhh]h)}(hConnection check errorh]hConnection check error}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhhj ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj hMghjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhjZhNubh)}(h**Description**h]j)}(hj9h]h Description}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMjhj<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.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMdhj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j6ethtool_c33_pse_ext_substate_option_vport_lim (C enum)/c.ethtool_c33_pse_ext_substate_option_vport_limhNtauh1j߉hj<hhhjZhNubj)}(hhh](j)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j)}(h2enum ethtool_c33_pse_ext_substate_option_vport_limh](j)}(hjh]henum}(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjshhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMjubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjshhhjhMjubj%)}(h-ethtool_c33_pse_ext_substate_option_vport_limh]j+)}(hjqh]h-ethtool_c33_pse_ext_substate_option_vport_lim}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjshhhjhMjubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjohhhjhMjubah}(h]jjah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhMjhjlhhubjY)}(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:1857: ./include/uapi/linux/ethtool.hhMnhjhhubah}(h]h ]h"]h$]h&]uh1jXhjlhhhjhMjubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<hjZhNubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMrhjubj)}(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:1857: ./include/uapi/linux/ethtool.hhMvhjubjƊ)}(hhh]h)}(hMain supply voltage is highh]hMain supply voltage is high}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMuhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMvhjubj)}(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)}(hj4h]h9ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMzhj.ubjƊ)}(hhh]h)}(hMain supply voltage is lowh]hMain supply voltage is low}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMyhjJubah}(h]h ]h"]h$]h&]uh1jŊhj.ubeh}(h]h ]h"]h$]h&]uh1jhjIhMzhjubj)}(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)}(hjnh]h?ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM}hjhubjƊ)}(hhh]h)}(hVoltage injection into the porth]hVoltage injection into the port}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM}hjubah}(h]h ]h"]h$]h&]uh1jŊhjhubeh}(h]h ]h"]h$]h&]uh1jhjhM}hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhjZhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./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:1857: ./include/uapi/linux/ethtool.hhMwhj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j3ethtool_c33_pse_ext_substate_ovld_detected (C enum),c.ethtool_c33_pse_ext_substate_ovld_detectedhNtauh1j߉hj<hhhjZhNubj)}(hhh](j)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j)}(h/enum ethtool_c33_pse_ext_substate_ovld_detectedh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhM}ubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhM}ubj%)}(h*ethtool_c33_pse_ext_substate_ovld_detectedh]j+)}(hjh]h*ethtool_c33_pse_ext_substate_ovld_detected}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hj ubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhM}ubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhM}ubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhM}hjhhubjY)}(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}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj-hhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhM}ubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jHj|jHj}j~juh1jhhhj<hjZhNubj)}(hW**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD`` Overload stateh](h)}(h **Constants**h]j)}(hjRh]h Constants}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjLubj)}(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)}(hjqh]h3ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjkubjƊ)}(hhh]h)}(hOverload stateh]hOverload state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjkubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhubah}(h]h ]h"]h$]h&]uh1jhjLubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhjZhNubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./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:1857: ./include/uapi/linux/ethtool.hhMhj<hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j9ethtool_c33_pse_ext_substate_power_not_available (C enum)2c.ethtool_c33_pse_ext_substate_power_not_availablehNtauh1j߉hj<hhhjZhNubj)}(hhh](j)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j)}(h5enum ethtool_c33_pse_ext_substate_power_not_availableh](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhMubj%)}(h0ethtool_c33_pse_ext_substate_power_not_availableh]j+)}(hjh]h0ethtool_c33_pse_ext_substate_power_not_available}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhMubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhMubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhMhjhhubjY)}(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}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj1hhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhMubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jLj|jLj}j~juh1jhhhj<hjZhNubj)}(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)}(hjVh]h Constants}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjPubj)}(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)}(hjuh]h@ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjoubjƊ)}(hhh]h)}(h(Power budget exceeded for the controllerh]h(Power budget exceeded for the controller}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjoubeh}(h]h ]h"]h$]h&]uh1jhjhMhjlubj)}(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:1857: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(heh"]h$]h&]jBjCuh1j$hjhhhjhMubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhMubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhMhjhhubjY)}(hhh]h)}(hCshort_detected states functions. IEEE 802.3-2022 33.2.4.4 Variablesh]hCshort_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:1857: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhMubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj<hjZhNubj)}(ho**Constants** ``ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION`` Short condition was detectedh](h)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubj)}(hhh]j)}(h\``ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION`` Short condition was detectedh](j)}(h?``ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION``h]h)}(hj$h]h;ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hShort condition was detectedh]hShort condition was detected}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hMhj:ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj9hMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj<hhhjZhNubh)}(h**Description**h]j)}(hjfh]h Description}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj<hhubh)}(hshort_detected is a variable indicating if the PSE output current has been in a short circuit condition for TLIM within a sliding window (see 33.2.7.7).h]hshort_detected is a variable indicating if the PSE output current has been in a short circuit condition for TLIM within a sliding window (see 33.2.7.7).}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1857: ./include/uapi/linux/ethtool.hhMhj<hhubh)}(hoWhen set, the optional ``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT`` attribute identifies the C33 PSE power limit in mW.h](hWhen set, the optional }(hjhhhNhNubh)}(h$``ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT``h]h ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh4 attribute identifies the C33 PSE power limit in mW.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhj<hhubh)}(hX1When set the optional ``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested attribute identifies the C33 PSE power limit ranges through ``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN`` and ``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX``. If the controller works with fixed classes, the min and max values will be equal.h](hWhen set the optional }(hjhhhNhNubh)}(h%``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES``h]h!ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhD nested attribute identifies the C33 PSE power limit ranges through }(hjhhhNhNubh)}(h-``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN``h]h)ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MIN}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh and }(hjhhhNhNubh)}(h-``ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX``h]h)ETHTOOL_A_C33_PSE_PWR_VAL_LIMIT_RANGE_MAX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhS. If the controller works with fixed classes, the min and max values will be equal.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMOhj<hhubh)}(hQThe ``ETHTOOL_A_PSE_PW_D_ID`` attribute identifies the index of PSE power domain.h](hThe }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_PW_D_ID``h]hETHTOOL_A_PSE_PW_D_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh4 attribute identifies the index of PSE power domain.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMVhj<hhubh)}(hXWhen set, the optional ``ETHTOOL_A_PSE_PRIO_MAX`` attribute identifies the PSE maximum priority value. When set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to identifies the currently configured PSE priority. For a description of PSE priority attributes, see ``PSE_SET``.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO_MAX``h]hETHTOOL_A_PSE_PRIO_MAX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhM attribute identifies the PSE maximum priority value. When set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO``h]hETHTOOL_A_PSE_PRIO}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh{ attributes is used to identifies the currently configured PSE priority. For a description of PSE priority attributes, see }(hjhhhNhNubh)}(h ``PSE_SET``h]hPSE_SET}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMYhj<hhubeh}(h]pse-getah ]h"]pse_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hPSE_SETh]hPSE_SET}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[hhhhhM`ubh)}(hSets PSE parameters.h]hSets PSE parameters.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMbhj[hhubh)}(hRequest contents:h]hRequest contents:}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhj[hhubj)}(hXv====================================== ====== ============================= ``ETHTOOL_A_PSE_HEADER`` nested request header ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` u32 Control PoDL PSE Admin state ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state ``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available power limit ``ETHTOOL_A_PSE_PRIO`` u32 Control priority of the PoE PSE ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PSE_HEADER``h]h)}(hjh]hETHTOOL_A_PSE_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMghjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMghjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL``h]h)}(hjh]h ETHTOOL_A_PODL_PSE_ADMIN_CONTROL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu32h]hu32}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhj-ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hControl PoDL PSE Admin stateh]hControl PoDL PSE Admin state}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhhjDubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_C33_PSE_ADMIN_CONTROL``h]h)}(hjih]hETHTOOL_A_C33_PSE_ADMIN_CONTROL}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1hhhhMihjdubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hControl PSE Admin stateh]hControl PSE Admin state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT``h]h)}(hjh]h!ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%Control PoE PSE available power limith]h%Control PoE PSE available power limit}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj2ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hControl priority of the PoE PSEh]hControl priority of the PoE PSE}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhjIubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMfhj[hhubh)}(hWhen set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` attribute is used to control PoDL PSE Admin functions. This option implements ``IEEE 802.3-2018`` 30.15.1.2.1 acPoDLPSEAdminControl. See ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` for supported values.h](hWhen set, the optional }(hjhhhNhNubh)}(h$``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL``h]h ETHTOOL_A_PODL_PSE_ADMIN_CONTROL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhO attribute is used to control PoDL PSE Admin functions. This option implements }(hjhhhNhNubh)}(h``IEEE 802.3-2018``h]hIEEE 802.3-2018}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh( 30.15.1.2.1 acPoDLPSEAdminControl. See }(hjhhhNhNubh)}(h"``ETHTOOL_A_PODL_PSE_ADMIN_STATE``h]hETHTOOL_A_PODL_PSE_ADMIN_STATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh for supported values.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMphj[hhubh)}(htThe same goes for ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` implementing ``IEEE 802.3-2022`` 30.9.1.2.1 acPSEAdminControl.h](hThe same goes for }(hjhhhNhNubh)}(h#``ETHTOOL_A_C33_PSE_ADMIN_CONTROL``h]hETHTOOL_A_C33_PSE_ADMIN_CONTROL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh implementing }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 30.9.1.2.1 acPSEAdminControl.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMuhj[hhubh)}(hX]When set, the optional ``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` attribute is used to control the available power value limit for C33 PSE in milliwatts. This attribute corresponds to the `pse_available_power` variable described in ``IEEE 802.3-2022`` 33.2.4.4 Variables and `pse_avail_pwr` in 145.2.5.4 Variables, which are described in power classes.h](hWhen set, the optional }(hjhhhNhNubh)}(h%``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT``h]h!ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh| attribute is used to control the available power value limit for C33 PSE in milliwatts. This attribute corresponds to the }(hjhhhNhNubj)}(h`pse_available_power`h]hpse_available_power}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh variable described in }(hjhhhNhNubh)}(h``IEEE 802.3-2022``h]hIEEE 802.3-2022}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 33.2.4.4 Variables and }(hjhhhNhNubj)}(h`pse_avail_pwr`h]h pse_avail_pwr}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh> in 145.2.5.4 Variables, which are described in power classes.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMxhj[hhubh)}(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.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj[hhubh)}(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 }(hjYhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO``h]hETHTOOL_A_PSE_PRIO}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubhj attributes is used to control the PSE priority. Allowed priority value are between zero and the value of }(hjYhhhNhNubh)}(h``ETHTOOL_A_PSE_PRIO_MAX``h]hETHTOOL_A_PSE_PRIO_MAX}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubh attribute.}(hjYhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubh)}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj[hhubj)}(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](j 0)}(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&]uh1j0hjubj 0)}(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&]j0j0uh1j0hhhMhjubah}(h]h ]h"]h$]h&]uh1jhhhMhj[hhubeh}(h]pse-setah ]h"]pse_setah$]h&]uh1hhhhhhhhM`ubh)}(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)}(hjDh]hETHTOOL_A_PSE_HEADER}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhMhj?ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hnestedh]hnested}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj_ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjvubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhj9ubj)}(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&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbitseth]hbitset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h PSE eventsh]h PSE events}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(hTWhen set, the optional ``ETHTOOL_A_PSE_EVENTS`` attribute identifies the PSE events.h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PSE_EVENTS``h]hETHTOOL_A_PSE_EVENTS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh% attribute identifies the PSE events.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_pse_event (C enum)c.ethtool_pse_eventhNtauh1j߉hjhhhNhNubj)}(hhh](j)}(hethtool_pse_eventh]j)}(henum ethtool_pse_eventh](j)}(hjh]henum}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8hhh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKubj)}(h h]h }(hjJhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhj8hhhjIhKubj%)}(hethtool_pse_eventh]j+)}(hj6h]hethtool_pse_event}(hj\hhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjXubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hj8hhhjIhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj4hhhjIhKubah}(h]j/ah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjIhKhj1hhubjY)}(hhh]h)}(h%PSE event list for the PSE controllerh]h%PSE event list for the PSE controller}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhK5hj{hhubah}(h]h ]h"]h$]h&]uh1jXhj1hhhjIhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhjhNhNubj)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhK9hjubj)}(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:1953: ./include/uapi/linux/ethtool_netlink_generated.hhK``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:1953: ./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&]uh1hhj hK?hjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj hK?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)}(hj1h]hETHTOOL_C33_PSE_EVENT_DETECTION}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKDhj+ubjƊ)}(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}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKBhjGubah}(h]h ]h"]h$]h&]uh1jŊhj+ubeh}(h]h ]h"]h$]h&]uh1jhjFhKDhjubj)}(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)}(hjkh]h$ETHTOOL_C33_PSE_EVENT_CLASSIFICATION}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubah}(h]h ]h"]h$]h&]uh1jh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKIhjeubjƊ)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh{/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKGhjubah}(h]h ]h"]h$]h&]uh1jŊhjeubeh}(h]h ]h"]h$]h&]uh1jhjhKIhjubj)}(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:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKOhjubjƊ)}(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:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKLhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhKOhjubj)}(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:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKRhjubjƊ)}(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&]uh1hhjhKRhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhKRhjubj)}(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:1953: ./include/uapi/linux/ethtool_netlink_generated.hhKUhjubjƊ)}(hhh]h)}(h;PSE faced an error managing the power control from softwareh]h;PSE faced an error managing the power control from software}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hKUhj.ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj-hKUhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h]pse-ntfah ]h"]pse_ntfah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_GETh]hRSS_GET}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hhhhhMubh)}(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 }(hjqhhhNhNubh)}(h``ETHTOOL_GRSSH``h]h ETHTOOL_GRSSH}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqubh ioctl request.}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj`hhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`hhubj)}(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}(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}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj@ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_START_CONTEXT``h]h)}(hj|h]hETHTOOL_A_RSS_START_CONTEXT}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzubah}(h]h ]h"]h$]h&]uh1hhhhMhjwubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjtubj)}(hhh]h)}(hstart context number (dumps)h]hstart context number (dumps)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjtubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj`hhhhhNubh)}(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&]uh1hhhhMhj`hhubh)}(hKernel response contents:h]hKernel response contents:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj`hhubj)}(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)}(hjIh]hETHTOOL_A_RSS_HEADER}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGubah}(h]h ]h"]h$]h&]uh1hhhhMhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hnestedh]hnested}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjdubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(h reply headerh]h reply header}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj{ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj)ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hjNh]hETHTOOL_A_RSS_INDIR}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hbinaryh]hbinary}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_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}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_FLOW_HASH``h]h)}(hjSh]hETHTOOL_A_RSS_FLOW_HASH}(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)}(hHeader fields included in hashh]hHeader fields included in hash}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhj`hhhhhNubh)}(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&]uh1hhhhMhj`hhubeh}(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}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj4ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjKubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjph]hETHTOOL_A_RSS_CONTEXT}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjnubah}(h]h ]h"]h$]h&]uh1hhhhMhjkubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjhubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjhubeh}(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&]uh1hhhhMhj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(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_RSS_HKEY``h]h)}(hjuh]hETHTOOL_A_RSS_HKEY}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1hhhhMhjpubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjmubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(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_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}(hjAhhhNhNubah}(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}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjUubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 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 }(hjhhhNhNubh)}(h ``[0, 1]``h]h[0, 1]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhS but the device needs at least 8 entries - the real table in use will end up being }(hjhhhNhNubh)}(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&]uh1hhjubh. 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.}(hjhhhNhNubeh}(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}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj6ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjMubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjrh]hETHTOOL_A_RSS_CONTEXT}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1hhhhMhjmubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubj)}(hhh]h)}(hcontext numberh]hcontext number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HFUNC``h]h)}(hjh]hETHTOOL_A_RSS_HFUNC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h RSS hash funch]h RSS hash func}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INDIR``h]h)}(hj h]hETHTOOL_A_RSS_INDIR}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbinaryh]hbinary}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj;ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIndir table bytesh]hIndir table bytes}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HKEY``h]h)}(hjwh]hETHTOOL_A_RSS_HKEY}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hbinaryh]hbinary}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjoubj)}(hhh]h)}(hHash key bytesh]hHash key bytes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjoubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_INPUT_XFRM``h]h)}(hjh]hETHTOOL_A_RSS_INPUT_XFRM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hRSS input data transformationh]hRSS input data transformation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hKernel response contents:h]hKernel response contents:}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjAubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjAubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjAubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjmh]hETHTOOL_A_RSS_HEADER}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkubah}(h]h ]h"]h$]h&]uh1hhhhMhjhubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjeubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjeubeh}(h]h ]h"]h$]h&]uh1jhjbubj)}(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&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhjAubeh}(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 }(hj&hhhNhNubh)}(h``ETHTOOL_A_RSS_CONTEXT``h]hETHTOOL_A_RSS_CONTEXT}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&ubh9 is not specified kernel will allocate one automatically.}(hj&hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h]rss-create-actah ]h"]rss_create_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hRSS_DELETE_ACTh]hRSS_DELETE_ACT}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhhhhhMubh)}(hRequest contents:h]hRequest contents:}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubj)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjpubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_HEADER``h]h)}(hjh]hETHTOOL_A_RSS_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_RSS_CONTEXT``h]h)}(hjh]hETHTOOL_A_RSS_CONTEXT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]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}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj%ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]colsKuh1jhjmubah}(h]h ]h"]h$]h&]uh1jhjNhhhhhNubh)}(h!Delete an additional RSS context.h]h!Delete an additional RSS context.}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjNhhubeh}(h]rss-delete-actah ]h"]rss_delete_actah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(h PLCA_GET_CFGh]h PLCA_GET_CFG}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjkhhhhhM 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.}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjkhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkhhubj)}(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&]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&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjkhhubh)}(hKernel response contents:h]hKernel response contents:}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjkhhubj)}(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&uh1jhjHubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjHubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjHubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hjth]hETHTOOL_A_PLCA_HEADER}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1hhhhMhjoubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(hnestedh]hnested}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjlubj)}(hhh]h)}(h reply headerh]h reply header}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_VERSION``h]h)}(hjh]hETHTOOL_A_PLCA_VERSION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu16h]hu16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4Supported PLCA management interface standard/versionh]h4Supported PLCA management interface standard/version}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_ENABLED``h]h)}(hj"h]hETHTOOL_A_PLCA_ENABLED}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj=ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjTubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hjyh]hETHTOOL_A_PLCA_NODE_ID}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]uh1hhhhMhjtubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjqubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]h)}(hjh]hETHTOOL_A_PLCA_NODE_CNT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h>Number of PLCA nodes on the network, including the coordinatorh]h>Number of PLCA nodes on the network, including the coordinator}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_TO_TMR``h]h)}(hj'h]hETHTOOL_A_PLCA_TO_TMR}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]uh1hhhhM!hj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjBubah}(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)}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM!hjYubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]h)}(hj~h]hETHTOOL_A_PLCA_BURST_CNT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|ubah}(h]h ]h"]h$]h&]uh1hhhhM#hjyubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(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&]uh1hhhhM#hjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjiubj)}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM&hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjiubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]colsKuh1jhjEubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1jhhhMhjkhhubh)}(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}(hjEhhhNhNubah}(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/}(hjWhhhNhNubah}(h]h ]h"]h$]h&]refurijYuh1j_}hj=ubh.}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM+hjkhhubh)}(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 }(hjphhhNhNubh)}(h``ETHTOOL_A_PLCA_ENABLED``h]hETHTOOL_A_PLCA_ENABLED}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubh 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 }(hjphhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubh> 30.16.1.1.1 aPLCAAdminState / 30.16.1.2.1 acPLCAAdminControl.}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM2hjkhhubh)}(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 }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_ID``h]hETHTOOL_A_PLCA_NODE_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh 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 }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhu 30.16.1.1.4 aPLCALocalNodeID. The valid range for this attribute is [0 .. 255] where 255 means “not configured”.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM7hjkhhubh)}(hXWhen set, the optional ``ETHTOOL_A_PLCA_NODE_CNT`` attribute indicates the configured maximum number of PLCA nodes on the mixing-segment. This number determines the total number of transmit opportunities generated during a PLCA cycle. This attribute is relevant only for the PLCA coordinator, which is the node with aPLCALocalNodeID set to 0. Follower nodes ignore this setting. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.3 aPLCANodeCount. The valid range for this attribute is [1 .. 255].h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]hETHTOOL_A_PLCA_NODE_CNT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhXi attribute indicates the configured maximum number of PLCA nodes on the mixing-segment. This number determines the total number of transmit opportunities generated during a PLCA cycle. This attribute is relevant only for the PLCA coordinator, which is the node with aPLCALocalNodeID set to 0. Follower nodes ignore this setting. This option is corresponding to }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhN 30.16.1.1.3 aPLCANodeCount. The valid range for this attribute is [1 .. 255].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM=hjkhhubh)}(hXyWhen set, the optional ``ETHTOOL_A_PLCA_TO_TMR`` attribute indicates the configured value of the transmit opportunity timer in bit-times. This value must be set equal across all nodes sharing the medium for PLCA to work correctly. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.5 aPLCATransmitOpportunityTimer. The valid range for this attribute is [0 .. 255].h](hWhen set, the optional }(hjhhhNhNubh)}(h``ETHTOOL_A_PLCA_TO_TMR``h]hETHTOOL_A_PLCA_TO_TMR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh attribute indicates the configured value of the transmit opportunity timer in bit-times. This value must be set equal across all nodes sharing the medium for PLCA to work correctly. This option is corresponding to }(hjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh] 30.16.1.1.5 aPLCATransmitOpportunityTimer. The valid range for this attribute is [0 .. 255].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMEhjkhhubh)}(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 }(hj8hhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_CNT``h]hETHTOOL_A_PLCA_BURST_CNT}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubhX+ 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 }(hj8hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubhR 30.16.1.1.6 aPLCAMaxBurstCount. The valid range for this attribute is [0 .. 255].}(hj8hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMLhjkhhubh)}(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 }(hjjhhhNhNubh)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]hETHTOOL_A_PLCA_BURST_TMR}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubhXV 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 }(hjjhhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjubh 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.}(hjjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMWhjkhhubeh}(h] plca-get-cfgah ]h"] plca_get_cfgah$]h&]uh1hhhhhhhhM ubh)}(hhh](h)}(h PLCA_SET_CFGh]h PLCA_SET_CFG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMbubh)}(hSets PLCA RS parameters.h]hSets PLCA RS parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMdhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMfhjhhubj)}(hX====================================== ====== ============================= ``ETHTOOL_A_PLCA_HEADER`` nested request header ``ETHTOOL_A_PLCA_ENABLED`` u8 PLCA Admin State ``ETHTOOL_A_PLCA_NODE_ID`` u8 PLCA unique local node ID ``ETHTOOL_A_PLCA_NODE_CNT`` u8 Number of PLCA nodes on the network, including the coordinator ``ETHTOOL_A_PLCA_TO_TMR`` u8 Transmit Opportunity Timer value in bit-times (BT) ``ETHTOOL_A_PLCA_BURST_CNT`` u8 Number of additional packets the node is allowed to send within a single TO ``ETHTOOL_A_PLCA_BURST_TMR`` u8 Time to wait for the MAC to transmit a new frame before terminating the burst ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(hjh]hETHTOOL_A_PLCA_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMihj6ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_ENABLED``h]h)}(hj[h]hETHTOOL_A_PLCA_ENABLED}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjYubah}(h]h ]h"]h$]h&]uh1hhhhMjhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hu8h]hu8}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjvubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh]h)}(hPLCA Admin Stateh]hPLCA Admin State}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMjhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_ID``h]h)}(hjh]hETHTOOL_A_PLCA_NODE_ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hPLCA unique local node IDh]hPLCA unique local node ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_NODE_CNT``h]h)}(hj h]hETHTOOL_A_PLCA_NODE_CNT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMlhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMlhj$ 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&]uh1hhhhMlhj; ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_TO_TMR``h]h)}(hj` h]hETHTOOL_A_PLCA_TO_TMR}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ ubah}(h]h ]h"]h$]h&]uh1hhhhMohj[ ubah}(h]h ]h"]h$]h&]uh1jhjX ubj)}(hhh]h)}(hu8h]hu8}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMohj{ ubah}(h]h ]h"]h$]h&]uh1jhjX 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&]uh1hhhhMohj ubah}(h]h ]h"]h$]h&]uh1jhjX ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhMqhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMqhj 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&]uh1hhhhMqhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_BURST_TMR``h]h)}(hj h]hETHTOOL_A_PLCA_BURST_TMR}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMthj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj) 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}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMthj@ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhhjhhubh)}(h:For a description of each attribute, see ``PLCA_GET_CFG``.h](h)For a description of each attribute, see }(hjv hhhNhNubh)}(h``PLCA_GET_CFG``h]h PLCA_GET_CFG}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjv ubh.}(hjv hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMyhjhhubeh}(h] plca-set-cfgah ]h"] plca_set_cfgah$]h&]uh1hhhhhhhhMbubh)}(hhh](h)}(hPLCA_GET_STATUSh]hPLCA_GET_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhM|ubh)}(h Gets PLCA RS status information.h]h Gets PLCA RS status information.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM~hj 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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(hKernel response contents:h]hKernel response contents:}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hX$====================================== ====== ============================= ``ETHTOOL_A_PLCA_HEADER`` nested reply header ``ETHTOOL_A_PLCA_STATUS`` u8 PLCA RS operational status ====================================== ====== ============================= h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhj{ ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj{ ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj{ ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PLCA_HEADER``h]h)}(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)}(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_PLCA_STATUS``h]h)}(hj h]hETHTOOL_A_PLCA_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hu8h]hu8}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hPLCA RS operational statush]hPLCA RS operational status}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj0 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj{ ubeh}(h]h ]h"]h$]h&]colsKuh1jhjx ubah}(h]h ]h"]h$]h&]uh1jhjt 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 }(hjf hhhNhNubh)}(h``ETHTOOL_A_PLCA_STATUS``h]hETHTOOL_A_PLCA_STATUS}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjf ubh| attribute indicates whether the node is detecting the presence of the BEACON on the network. This flag is corresponding to }(hjf hhhNhNubh)}(h``IEEE 802.3cg-2019``h]hIEEE 802.3cg-2019}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjf ubh 30.16.1.1.2 aPLCAStatus.}(hjf hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]plca-get-statusah ]h"]plca_get_statusah$]h&]uh1hhhhhhhhM|ubh)}(hhh](h)}(hMM_GETh]hMM_GET}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(h$Retrieve 802.3 MAC Merge parameters.h]h$Retrieve 802.3 MAC Merge parameters.}(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_MM_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_MM_HEADER``h]h)}(hj h]hETHTOOL_A_MM_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(hKernel response contents:h]hKernel response contents:}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hXF================================= ====== =================================== ``ETHTOOL_A_MM_HEADER`` nested request header ``ETHTOOL_A_MM_PMAC_ENABLED`` bool set if RX of preemptible and SMD-V frames is enabled ``ETHTOOL_A_MM_TX_ENABLED`` bool set if TX of preemptible frames is administratively enabled (might be inactive if verification failed) ``ETHTOOL_A_MM_TX_ACTIVE`` bool set if TX of preemptible frames is operationally enabled ``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE`` u32 minimum size of transmitted non-final fragments, in octets ``ETHTOOL_A_MM_RX_MIN_FRAG_SIZE`` u32 minimum size of received non-final fragments, in octets ``ETHTOOL_A_MM_VERIFY_ENABLED`` bool set if TX of SMD-V frames is administratively enabled ``ETHTOOL_A_MM_VERIFY_STATUS`` u8 state of the verification function ``ETHTOOL_A_MM_VERIFY_TIME`` u32 delay between verification attempts ``ETHTOOL_A_MM_MAX_VERIFY_TIME``` u32 maximum verification interval supported by device ``ETHTOOL_A_MM_STATS`` nested IEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics counters ================================= ====== =================================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!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_MM_HEADER``h]h)}(hj h]hETHTOOL_A_MM_HEADER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hnestedh]hnested}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_PMAC_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_PMAC_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]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)}(h4set if RX of preemptible and SMD-V frames is enabledh]h4set if RX of preemptible and SMD-V frames is enabled}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hjWh]hETHTOOL_A_MM_TX_ENABLED}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUubah}(h]h ]h"]h$]h&]uh1hhhhMhjRubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hhh]h)}(hboolh]hbool}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjrubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(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)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_TX_MIN_FRAG_SIZE``h]h)}(hjh]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu32h]hu32}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj ubah}(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&]uh1hhhhMhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_MM_RX_MIN_FRAG_SIZE``h]h)}(hj\h]hETHTOOL_A_MM_RX_MIN_FRAG_SIZE}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]uh1hhhhMhjWubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(hu32h]hu32}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjwubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h7minimum size of received non-final fragments, in octetsh]h7minimum size of received non-final fragments, in octets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]h)}(hj h]hETHTOOL_A_MM_VERIFY_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hu8h]hu8}(hj(hhhNhNubah}(h]h ]h"]h$]h&]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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_VERIFY_TIME``h]h)}(hjah]hETHTOOL_A_MM_VERIFY_TIME}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_ubah}(h]h ]h"]h$]h&]uh1hhhhMhj\ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(hu32h]hu32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj|ubah}(h]h ]h"]h$]h&]uh1jhjYubj)}(hhh]h)}(h#delay between verification attemptsh]h#delay between verification attempts}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjYubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(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&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_STATS``h]h)}(hjh]hETHTOOL_A_MM_STATS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(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)}(hEIEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics countersh]hEIEEE 802.3-2018 subclause 30.14.1 oMACMergeEntity statistics counters}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjAubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj} ubeh}(h]h ]h"]h$]h&]colsKuh1jhjz ubah}(h]h ]h"]h$]h&]uh1jhjv ubah}(h]h ]h"]h$]h&]uh1jhhhMhj hhubh)}(hRThe attributes are populated by the device driver through the following structure:h]hRThe attributes are populated by the device driver through the following structure:}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_mm_state (C struct)c.ethtool_mm_statehNtauh1j߉hj hhhNhNubj)}(hhh](j)}(hethtool_mm_stateh]j)}(hstruct ethtool_mm_stateh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_mm_stateh]j+)}(hjh]hethtool_mm_state}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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:2232: ./include/linux/ethtool.hhM{hjhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](justructeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj hNhNubj)}(hX**Definition**:: struct ethtool_mm_state { u32 verify_time; u32 max_verify_time; enum ethtool_mm_verify_status verify_status; bool tx_enabled; bool tx_active; bool pmac_enabled; bool verify_enabled; u32 tx_min_frag_size; u32 rx_min_frag_size; }; **Members** ``verify_time`` wait time between verification attempts in ms (according to clause 30.14.1.6 aMACMergeVerifyTime) ``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests ``verify_status`` state of the verification state machine of the MM layer (according to clause 30.14.1.2 aMACMergeStatusVerify) ``tx_enabled`` set if the MM layer is administratively enabled in the TX direction (according to clause 30.14.1.3 aMACMergeEnableTx) ``tx_active`` set if the MM layer is enabled in the TX direction, which makes FP possible (according to 30.14.1.5 aMACMergeStatusTx). This should be true if MM is enabled, and the verification status is either verified, or disabled. ``pmac_enabled`` set if the preemptible MAC is powered on and is able to receive preemptible packets and respond to verification frames. ``verify_enabled`` set if the Verify function of the MM layer (which sends SMD-V verification requests) is administratively enabled (regardless of whether it is currently in the ETHTOOL_MM_VERIFY_STATUS_DISABLED state or not), according to clause 30.14.1.4 aMACMergeVerifyDisableTx (but using positive rather than negative logic). The device should always respond to received SMD-V requests as long as **pmac_enabled** is set. ``tx_min_frag_size`` the minimum size of non-final mPacket fragments that the link partner supports receiving, expressed in octets. Compared to the definition from clause 30.14.1.7 aMACMergeAddFragSize which is expressed in the range 0 to 3 (requiring a translation to the size in octets according to the formula 64 * (1 + addFragSize) - 4), a value in a continuous and unbounded range can be specified here. ``rx_min_frag_size`` the minimum size of non-final mPacket fragments that this device supports receiving, expressed in octets.h](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhMhjubjx)}(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&]jBjCuh1jwhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]j)}(hj.h]hMembers}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./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)}(hjMh]h verify_time}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhM~hjGubjƊ)}(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)}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhM}hjcubah}(h]h ]h"]h$]h&]uh1jŊhjGubeh}(h]h ]h"]h$]h&]uh1jhjbhM~hjDubj)}(h\``max_verify_time`` maximum accepted value for the **verify_time** variable in set requests h](j)}(h``max_verify_time``h]h)}(hjh]hmax_verify_time}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhMhjubjƊ)}(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&]uh1jhjubh variable in set requests}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjDubj)}(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:2232: ./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:2232: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjDubj)}(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)}(hj h]h tx_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./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:2232: ./include/linux/ethtool.hhMhj"ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj!hMhjDubj)}(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)}(hjFh]h tx_active}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./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.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhMhj\ubah}(h]h ]h"]h$]h&]uh1jŊhj@ubeh}(h]h ]h"]h$]h&]uh1jhj[hMhjDubj)}(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)}(hjh]h pmac_enabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhMhjzubjƊ)}(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:2232: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjzubeh}(h]h ]h"]h$]h&]uh1jhjhMhjDubj)}(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:2232: ./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&]uh1jhjubh is set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjDubj)}(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:2232: ./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:2232: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjDubj)}(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}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2232: ./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.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUhMhjVubah}(h]h ]h"]h$]h&]uh1jŊhj:ubeh}(h]h ]h"]h$]h&]uh1jhjUhMhjDubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj hhhNhNubh)}(hEThe ``ETHTOOL_A_MM_VERIFY_STATUS`` will report one of the values fromh](hThe }(hjhhhNhNubh)}(h``ETHTOOL_A_MM_VERIFY_STATUS``h]hETHTOOL_A_MM_VERIFY_STATUS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh# will report one of the values from}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!ethtool_mm_verify_status (C enum)c.ethtool_mm_verify_statushNtauh1j߉hj hhhNhNubj)}(hhh](j)}(hethtool_mm_verify_statush]j)}(henum ethtool_mm_verify_statush](j)}(hjh]henum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2237: ./include/uapi/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_mm_verify_statush]j+)}(hjh]hethtool_mm_verify_status}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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:2237: ./include/uapi/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj hNhNubj)}(hXg**Constants** ``ETHTOOL_MM_VERIFY_STATUS_UNKNOWN`` verification status is unknown ``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` the 802.3 Verify State diagram is in the state INIT_VERIFICATION ``ETHTOOL_MM_VERIFY_STATUS_VERIFYING`` the Verify State diagram is in the state VERIFICATION_IDLE, SEND_VERIFY or WAIT_FOR_RESPONSE ``ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED`` indicates that the Verify State diagram is in the state VERIFIED ``ETHTOOL_MM_VERIFY_STATUS_FAILED`` the Verify State diagram is in the state VERIFY_FAIL ``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](h)}(h **Constants**h]j)}(hjh]h Constants}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2237: ./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:2237: ./include/uapi/linux/ethtool.hhM"hj6ubjƊ)}(hhh]h)}(hverification status is unknownh]hverification status is unknown}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhM"hjRubah}(h]h ]h"]h$]h&]uh1jŊhj6ubeh}(h]h ]h"]h$]h&]uh1jhjQhM"hj3ubj)}(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)}(hjuh]h ETHTOOL_MM_VERIFY_STATUS_INITIAL}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjsubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2237: ./include/uapi/linux/ethtool.hhM%hjoubjƊ)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM%hjubah}(h]h ]h"]h$]h&]uh1jŊhjoubeh}(h]h ]h"]h$]h&]uh1jhjhM%hj3ubj)}(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:2237: ./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:2237: ./include/uapi/linux/ethtool.hhM(hjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhM)hj3ubj)}(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:2237: ./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&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhM,hj3ubj)}(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:2237: ./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&]uh1hhj6hM/hj7ubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhj6hM/hj3ubj)}(hV``ETHTOOL_MM_VERIFY_STATUS_DISABLED`` verification of preemption operation is disabledh](j)}(h%``ETHTOOL_MM_VERIFY_STATUS_DISABLED``h]h)}(hjZh]h!ETHTOOL_MM_VERIFY_STATUS_DISABLED}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2237: ./include/uapi/linux/ethtool.hhM1hjTubjƊ)}(hhh]h)}(h0verification of preemption operation is disabledh]h0verification of preemption operation is disabled}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2237: ./include/uapi/linux/ethtool.hhM2hjpubah}(h]h ]h"]h$]h&]uh1jŊhjTubeh}(h]h ]h"]h$]h&]uh1jhjohM1hj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj hhhNhNubh)}(hXIf ``ETHTOOL_A_MM_VERIFY_ENABLED`` was passed as false in the ``MM_SET`` command, ``ETHTOOL_A_MM_VERIFY_STATUS`` will report either ``ETHTOOL_MM_VERIFY_STATUS_INITIAL`` or ``ETHTOOL_MM_VERIFY_STATUS_DISABLED``, otherwise it should report one of the other states.h](hIf }(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&]uh1hhhhMhj hhubh)}(hIt is recommended that drivers start with the pMAC disabled, and enable it upon user space request. It is also recommended that user space does not depend upon the default values from ``ETHTOOL_MSG_MM_GET`` requests.h](hIt is recommended that drivers start with the pMAC disabled, and enable it upon user space request. It is also recommended that user space does not depend upon the default values from }(hjhhhNhNubh)}(h``ETHTOOL_MSG_MM_GET``h]hETHTOOL_MSG_MM_GET}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh requests.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhj hhubh)}(h``ETHTOOL_A_MM_STATS`` are reported if ``ETHTOOL_FLAG_STATS`` was set in ``ETHTOOL_A_HEADER_FLAGS``. The attribute will be empty if driver did not report any statistics. Drivers fill in the statistics in the following structure:h](h)}(h``ETHTOOL_A_MM_STATS``h]hETHTOOL_A_MM_STATS}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubh are reported if }(hj#hhhNhNubh)}(h``ETHTOOL_FLAG_STATS``h]hETHTOOL_FLAG_STATS}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#ubh was set in }(hj#hhhNhNubh)}(h``ETHTOOL_A_HEADER_FLAGS``h]hETHTOOL_A_HEADER_FLAGS}(hjKhhhNhNubah}(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&]uh1hhhhMhj hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_mm_stats (C struct)c.ethtool_mm_statshNtauh1j߉hj hhhNhNubj)}(hhh](j)}(hethtool_mm_statsh]j)}(hstruct ethtool_mm_statsh](j)}(hjh]hstruct}(hj|hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjxhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjxhhhjhKubj%)}(hethtool_mm_statsh]j+)}(hjvh]hethtool_mm_stats}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjxhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjthhhjhKubah}(h]joah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjqhhubjY)}(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:2254: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjqhhhjhKubeh}(h]h ](justructeh"]h$]h&]jzjuj{jj|jj}j~juh1jhhhj hNhNubj)}(hXV**Definition**:: struct ethtool_mm_stats { u64 MACMergeFrameAssErrorCount; u64 MACMergeFrameSmdErrorCount; u64 MACMergeFrameAssOkCount; u64 MACMergeFragCountRx; u64 MACMergeFragCountTx; u64 MACMergeHoldCount; }; **Members** ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors ``MACMergeFrameSmdErrorCount`` received MAC frames/fragments rejected due to unknown or incorrect SMD ``MACMergeFrameAssOkCount`` received MAC frames that were successfully reassembled and passed up ``MACMergeFragCountRx`` number of additional correct SMD-C mPackets received due to preemption ``MACMergeFragCountTx`` number of additional mPackets sent due to preemption ``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](h)}(h**Definition**::h](j)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubjx)}(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&]jBjCuh1jwhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubh)}(h **Members**h]j)}(hj h]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhjubj)}(hhh](j)}(hJ``MACMergeFrameAssErrorCount`` received MAC frames with reassembly errors h](j)}(h``MACMergeFrameAssErrorCount``h]h)}(hj+h]hMACMergeFrameAssErrorCount}(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)}(h*received MAC frames with reassembly errorsh]h*received MAC frames with reassembly errors}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hMhjAubah}(h]h ]h"]h$]h&]uh1jŊhj%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)}(hjdh]hMACMergeFrameSmdErrorCount}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2254: ./include/linux/ethtool.hhMhj^ubjƊ)}(hhh]h)}(hFreceived MAC frames/fragments rejected due to unknown or incorrect SMDh]hFreceived MAC frames/fragments rejected due to unknown or incorrect SMD}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjyhMhjzubah}(h]h ]h"]h$]h&]uh1jŊhj^ubeh}(h]h ]h"]h$]h&]uh1jhjyhMhj"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:2254: ./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&]uh1jŊhjubeh}(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:2254: ./include/linux/ethtool.hhMhjubjƊ)}(hhh]h)}(hFnumber of additional correct SMD-C mPackets received due to preemptionh]hFnumber of additional correct SMD-C mPackets received due to preemption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhj"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&]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)}(h4number of additional mPackets sent due to preemptionh]h4number of additional mPackets sent due to preemption}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$hMhj%ubah}(h]h ]h"]h$]h&]uh1jŊhj ubeh}(h]h ]h"]h$]h&]uh1jhj$hMhj"ubj)}(h{``MACMergeHoldCount`` number of times the MM layer entered the HOLD state, which blocks transmission of preemptible traffich](j)}(h``MACMergeHoldCount``h]h)}(hjHh]hMACMergeHoldCount}(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)}(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}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]hMhj^ubah}(h]h ]h"]h$]h&]uh1jŊhjBubeh}(h]h ]h"]h$]h&]uh1jhj]hMhj"ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj hhhNhNubeh}(h]mm-getah ]h"]mm_getah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMM_SETh]hMM_SET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(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&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(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&]uh1hhhhMhj ubah}(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)}(hjGh]hETHTOOL_A_MM_VERIFY_ENABLED}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhMhjBubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hboolh]hbool}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjbubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjyubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_MM_TX_ENABLED``h]h)}(hjh]hETHTOOL_A_MM_TX_ENABLED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hboolh]hbool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(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_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}(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_TX_MIN_FRAG_SIZE``h]h)}(hjLh]hETHTOOL_A_MM_TX_MIN_FRAG_SIZE}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1hhhhMhjGubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hu32h]hu32}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjgubah}(h]h ]h"]h$]h&]uh1jhjDubj)}(hhh]h)}(hsee MM_GET descriptionh]hsee MM_GET description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj~ubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(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&]uh1hhhhMhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jethtool_mm_cfg (C struct)c.ethtool_mm_cfghNtauh1j߉hjhhhNhNubj)}(hhh](j)}(hethtool_mm_cfgh]j)}(hstruct ethtool_mm_cfgh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhjhhhjhKubj%)}(hethtool_mm_cfgh]j+)}(hjh]hethtool_mm_cfg}(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hjubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hjhhhjhKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhjhhhjhKubah}(h]jah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjhKhjhhubjY)}(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:2274: ./include/linux/ethtool.hhMhjhhubah}(h]h ]h"]h$]h&]uh1jXhjhhhjhKubeh}(h]h ](justructeh"]h$]h&]jzjuj{j5j|j5j}j~juh1jhhhjhNhNubj)}(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}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj=ubh:}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhMhj9ubjx)}(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; };}hjZsbah}(h]h ]h"]h$]h&]jBjCuh1jwhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhMhj9ubh)}(h **Members**h]j)}(hjkh]hMembers}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhMhj9ubj)}(hhh](j)}(h,``verify_time`` see struct ethtool_mm_state h](j)}(h``verify_time``h]h)}(hjh]h verify_time}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./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&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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:2274: ./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&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(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:2274: ./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&]uh1jŊhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h-``pmac_enabled`` see struct ethtool_mm_state h](j)}(h``pmac_enabled``h]h)}(hj5h]h pmac_enabled}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhMhj/ubjƊ)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJhMhjKubah}(h]h ]h"]h$]h&]uh1jŊhj/ubeh}(h]h ]h"]h$]h&]uh1jhjJhMhjubj)}(h0``tx_min_frag_size`` see struct ethtool_mm_stateh](j)}(h``tx_min_frag_size``h]h)}(hjnh]htx_min_frag_size}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1jhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhMhjhubjƊ)}(hhh]h)}(hsee struct ethtool_mm_stateh]hsee struct ethtool_mm_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhd/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2274: ./include/linux/ethtool.hhMhjubah}(h]h ]h"]h$]h&]uh1jŊhjhubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h]mm-setah ]h"]mm_setah$]h&]uh1hhhhhhhhMubh)}(hhh](h)}(hMODULE_FW_FLASH_ACTh]hMODULE_FW_FLASH_ACT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhMubh)}(h$Flashes transceiver module firmware.h]h$Flashes transceiver module firmware.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hRequest contents:h]hRequest contents:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubj)}(hXq======================================= ====== =========================== ``ETHTOOL_A_MODULE_FW_FLASH_HEADER`` nested request header ``ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME`` string firmware image file name ``ETHTOOL_A_MODULE_FW_FLASH_PASSWORD`` u32 transceiver module password ======================================= ====== =========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_MODULE_FW_FLASH_HEADER``h]h)}(hjh]h ETHTOOL_A_MODULE_FW_FLASH_HEADER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hnestedh]hnested}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj2ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hrequest headerh]hrequest header}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjIubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h'``ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME``h]h)}(hjnh]h#ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubah}(h]h ]h"]h$]h&]uh1hhhhMhjiubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hfirmware image file nameh]hfirmware image file name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h&``ETHTOOL_A_MODULE_FW_FLASH_PASSWORD``h]h)}(hjh]h"ETHTOOL_A_MODULE_FW_FLASH_PASSWORD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]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)}(htransceiver module passwordh]htransceiver module password}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhMhjhhubh)}(h hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj: ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7 ubah}(h]h ]h"]h$]h&]uh1jhj4 ubj)}(hhh]h)}(hnestedh]hnested}(hjZ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjW ubah}(h]h ]h"]h$]h&]uh1jhj4 ubj)}(hhh]h)}(h reply headerh]h reply header}(hjq hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjn ubah}(h]h ]h"]h$]h&]uh1jhj4 ubeh}(h]h ]h"]h$]h&]uh1jhj1 ubj)}(hhh](j)}(hhh]h)}(h$``ETHTOOL_A_MODULE_FW_FLASH_STATUS``h]h)}(hj h]h ETHTOOL_A_MODULE_FW_FLASH_STATUS}(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)}(hstatush]hstatus}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj1 ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG``h]h)}(hj h]h$ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG}(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)}(hstatus messageh]hstatus message}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj!ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj1 ubj)}(hhh](j)}(hhh]h)}(h"``ETHTOOL_A_MODULE_FW_FLASH_DONE``h]h)}(hjA!h]hETHTOOL_A_MODULE_FW_FLASH_DONE}(hjC!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?!ubah}(h]h ]h"]h$]h&]uh1hhhhM hjeh"]h$]h&]jBjCuh1j$hj5"hhhjF"hKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj1"hhhjF"hKubah}(h]j,"ah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhjF"hKhj."hhubjY)}(hhh]h)}(h'plug-in module firmware flashing statush]h'plug-in module firmware flashing status}(hj{"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhM4hjx"hhubah}(h]h ]h"]h$]h&]uh1jXhj."hhhjF"hKubeh}(h]h ](juenumeh"]h$]h&]jzjuj{j"j|j"j}j~juh1jhhhjhNhNubj)}(hX**Constants** ``ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED`` The firmware flashing process has started. ``ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS`` The firmware flashing process is in progress. ``ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED`` The firmware flashing process was completed successfully. ``ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR`` The firmware flashing process was stopped due to an error.h](h)}(h **Constants**h]j)}(hj"h]h Constants}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhM8hj"ubj)}(hhh](j)}(hV``ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED`` The firmware flashing process has started. h](j)}(h*``ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED``h]h)}(hj"h]hÐTOOL_MODULE_FW_FLASH_STATUS_STARTED}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhM<hj"ubjƊ)}(hhh]h)}(h*The firmware flashing process has started.h]h*The firmware flashing process has started.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhM;hj"ubah}(h]h ]h"]h$]h&]uh1jŊhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"hM<hj"ubj)}(h]``ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS`` The firmware flashing process is in progress. h](j)}(h.``ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS``h]h)}(hj"h]h*ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhM@hj"ubjƊ)}(hhh]h)}(h-The firmware flashing process is in progress.h]h-The firmware flashing process is in progress.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhM?hj #ubah}(h]h ]h"]h$]h&]uh1jŊhj"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)}(hj0#h]h(ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED}(hj2#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.#ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhMDhj*#ubjƊ)}(hhh]h)}(h9The firmware flashing process was completed successfully.h]h9The firmware flashing process was completed successfully.}(hjI#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhMChjF#ubah}(h]h ]h"]h$]h&]uh1jŊhj*#ubeh}(h]h ]h"]h$]h&]uh1jhjE#hMDhj"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)}(hjj#h]h$ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR}(hjl#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh#ubah}(h]h ]h"]h$]h&]uh1jhi/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2335: ./include/uapi/linux/ethtool.hhMGhjd#ubjƊ)}(hhh]h)}(h:The firmware flashing process was stopped due to an error.h]h:The firmware flashing process was stopped due to an error.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj#hMGhj#ubah}(h]h ]h"]h$]h&]uh1jŊhjd#ubeh}(h]h ]h"]h$]h&]uh1jhj#hMGhj"ubeh}(h]h ]h"]h$]h&]uh1jhj"ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubh)}(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&]uh1hhhhM" hjhhubh)}(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% hjhhubeh}(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&]uh1hhhhM+ 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&]uh1hhhhM0 hj$hhubh)}(h7For more information, refer to :ref:`phy_link_topology`h](hFor more information, refer to }(hj1$hhhNhNubh)}(h:ref:`phy_link_topology`h]hinline)}(hj;$h]hphy_link_topology}(hj?$hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j=$hj9$ubah}(h]h ]h"]h$]h&]refdocnetworking/ethtool-netlink refdomainjJ$reftyperef refexplicitrefwarn reftargetphy_link_topologyuh1hhhhM4 hj1$ubeh}(h]h ]h"]h$]h&]uh1hhhhM4 hj$hhubh)}(hRequest contents:h]hRequest contents:}(hjd$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6 hj$hhubj)}(h==================================== ====== ========================== ``ETHTOOL_A_PHY_HEADER`` nested request header ==================================== ====== ========================== h]j)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK$uh1jhjy$ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjy$ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjy$ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_HEADER``h]h)}(hj$h]hETHTOOL_A_PHY_HEADER}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj$ubah}(h]h ]h"]h$]h&]uh1hhhhM9 hj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hnestedh]hnested}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9 hj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM9 hj$ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj$ubah}(h]h ]h"]h$]h&]uh1jhjy$ubeh}(h]h ]h"]h$]h&]colsKuh1jhjv$ubah}(h]h ]h"]h$]h&]uh1jhjr$ubah}(h]h ]h"]h$]h&]uh1jhhhM8 hj$hhubh)}(hKernel response contents:h]hKernel response contents:}(hj %hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM< 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)}(hjN%h]hETHTOOL_A_PHY_HEADER}(hjP%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjL%ubah}(h]h ]h"]h$]h&]uh1hhhhM? hjI%ubah}(h]h ]h"]h$]h&]uh1jhjF%ubj)}(hhh]h)}(hnestedh]hnested}(hjl%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM? hji%ubah}(h]h ]h"]h$]h&]uh1jhjF%ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM? hj%ubah}(h]h ]h"]h$]h&]uh1jhjF%ubeh}(h]h ]h"]h$]h&]uh1jhjC%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&]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)}(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&]uh1hhhhM@ hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhjC%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&]uh1hhhhMC hj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hstringh]hstring}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMC hj&ubah}(h]h ]h"]h$]h&]uh1jhj%ubj)}(hhh]h)}(hthe phy driver nameh]hthe phy driver name}(hj1&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMC hj.&ubah}(h]h ]h"]h$]h&]uh1jhj%ubeh}(h]h ]h"]h$]h&]uh1jhjC%ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_PHY_NAME``h]h)}(hjS&h]hETHTOOL_A_PHY_NAME}(hjU&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQ&ubah}(h]h ]h"]h$]h&]uh1hhhhMD hjN&ubah}(h]h ]h"]h$]h&]uh1jhjK&ubj)}(hhh]h)}(hstringh]hstring}(hjq&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMD hjn&ubah}(h]h ]h"]h$]h&]uh1jhjK&ubj)}(hhh]h)}(hthe phy device nameh]hthe phy device name}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMD hj&ubah}(h]h ]h"]h$]h&]uh1jhjK&ubeh}(h]h ]h"]h$]h&]uh1jhjC%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&]uh1hhhhME hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hu32h]hu32}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhME 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&]uh1hhhhME hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjC%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&]uh1hhhhMG hj&ubah}(h]h ]h"]h$]h&]uh1jhj&ubj)}(hhh]h)}(hu32h]hu32}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMG 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}(hj6'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMG hj3'ubah}(h]h ]h"]h$]h&]uh1jhj&ubeh}(h]h ]h"]h$]h&]uh1jhjC%ubj)}(hhh](j)}(hhh]h)}(h#``ETHTOOL_A_PHY_UPSTREAM_SFP_NAME``h]h)}(hjX'h]hETHTOOL_A_PHY_UPSTREAM_SFP_NAME}(hjZ'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjV'ubah}(h]h ]h"]h$]h&]uh1hhhhMI hjS'ubah}(h]h ]h"]h$]h&]uh1jhjP'ubj)}(hhh]h)}(hstringh]hstring}(hjv'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMI hjs'ubah}(h]h ]h"]h$]h&]uh1jhjP'ubj)}(hhh]h)}(hWif this PHY is connected to its parent PHY through an SFP bus, the name of this sfp bush]hWif this PHY is connected to its parent PHY through an SFP bus, the name of this sfp bus}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMI hj'ubah}(h]h ]h"]h$]h&]uh1jhjP'ubeh}(h]h ]h"]h$]h&]uh1jhjC%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&]uh1hhhhML hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubj)}(hhh]h)}(hstringh]hstring}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhML 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&]uh1hhhhML hj'ubah}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]uh1jhjC%ubeh}(h]h ]h"]h$]h&]uh1jhj"%ubeh}(h]h ]h"]h$]h&]colsKuh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhj%ubah}(h]h ]h"]h$]h&]uh1jhhhM> hj$hhubh)}(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&]uh1hhhhMP hj$hhubeh}(h]phy-getah ]h"]phy_getah$]h&]uh1hhhhhhhhM) ubh)}(hhh](h)}(h TSCONFIG_GETh]h TSCONFIG_GET}(hjB(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?(hhhhhMT 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.}(hjP(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMV hj?(hhubh)}(h@It is similar to the deprecated ``SIOCGHWTSTAMP`` ioctl request.h](h It is similar to the deprecated }(hj^(hhhNhNubh)}(h``SIOCGHWTSTAMP``h]h SIOCGHWTSTAMP}(hjf(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^(ubh ioctl request.}(hj^(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMY hj?(hhubh)}(hRequest contents:h]hRequest contents:}(hj~(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM[ 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&]uh1hhhhM^ hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hnestedh]hnested}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^ hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM^ hj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]colsKuh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhj(ubah}(h]h ]h"]h$]h&]uh1jhhhM] hj?(hhubh)}(hKernel response contents:h]hKernel response contents:}(hj')hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMa 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)}(hjh)h]hETHTOOL_A_TSCONFIG_HEADER}(hjj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjf)ubah}(h]h ]h"]h$]h&]uh1hhhhMd hjc)ubah}(h]h ]h"]h$]h&]uh1jhj`)ubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMd hj)ubah}(h]h ]h"]h$]h&]uh1jhj`)ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMd hj)ubah}(h]h ]h"]h$]h&]uh1jhj`)ubeh}(h]h ]h"]h$]h&]uh1jhj])ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h)}(hj)h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)ubah}(h]h ]h"]h$]h&]uh1hhhhMe hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(hnestedh]hnested}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMe 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&]uh1hhhhMe hj)ubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhj])ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]h)}(hj*h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*ubah}(h]h ]h"]h$]h&]uh1hhhhMf hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hbitseth]hbitset}(hj4*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMf hj1*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hhwtstamp Tx typeh]hhwtstamp Tx type}(hjK*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMf hjH*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj])ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]h)}(hjm*h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hjo*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk*ubah}(h]h ]h"]h$]h&]uh1hhhhMg hjh*ubah}(h]h ]h"]h$]h&]uh1jhje*ubj)}(hhh]h)}(hbitseth]hbitset}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMg hj*ubah}(h]h ]h"]h$]h&]uh1jhje*ubj)}(hhh]h)}(hhwtstamp Rx filterh]hhwtstamp Rx filter}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMg hj*ubah}(h]h ]h"]h$]h&]uh1jhje*ubeh}(h]h ]h"]h$]h&]uh1jhj])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&]uh1hhhhMh hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hu32h]hu32}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMh hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubj)}(hhh]h)}(hhwtstamp flagsh]hhwtstamp flags}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMh hj*ubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhj])ubeh}(h]h ]h"]h$]h&]uh1jhj<)ubeh}(h]h ]h"]h$]h&]colsKuh1jhj9)ubah}(h]h ]h"]h$]h&]uh1jhj5)ubah}(h]h ]h"]h$]h&]uh1jhhhMc 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}(hj4+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}(hjF+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}(hjX+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,+ubh/ which describe the qualifier of the timestamp.}(hj,+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMk 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 }(hjp+hhhNhNubh)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hjx+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp+ubh, }(hjp+hhhNhNubh)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp+ubh and the }(hjp+hhhNhNubh)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjp+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:}(hjp+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMq hj?(hhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!kernel_hwtstamp_config (C struct)c.kernel_hwtstamp_confighNtauh1j߉hj?(hhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhNubj)}(hhh](j)}(hkernel_hwtstamp_configh]j)}(hstruct kernel_hwtstamp_configh](j)}(hjh]hstruct}(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj+hhhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhKubj)}(h h]h }(hj+hhhNhNubah}(h]h ]j ah"]h$]h&]uh1jhj+hhhj+hKubj%)}(hkernel_hwtstamp_configh]j+)}(hj+h]hkernel_hwtstamp_config}(hj+hhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j*hj+ubah}(h]h ](j=j>eh"]h$]h&]jBjCuh1j$hj+hhhj+hKubeh}(h]h ]h"]h$]h&]jBjCjJuh1jjKjLhj+hhhj+hKubah}(h]j+ah ](jPjQeh"]h$]h&]jUjV)jWhuh1jhj+hKhj+hhubjY)}(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:2423: ./include/linux/net_tstamp.hhK-hj ,hhubah}(h]h ]h"]h$]h&]uh1jXhj+hhhj+hKubeh}(h]h ](justructeh"]h$]h&]jzjuj{j(,j|j(,j}j~juh1jhhhj?(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}(hj4,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0,ubh:}(hj0,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK1hj,,ubjx)}(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; };}hjM,sbah}(h]h ]h"]h$]h&]jBjCuh1jwhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK3hj,,ubh)}(h **Members**h]j)}(hj^,h]hMembers}(hj`,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\,ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK=hj,,ubj)}(hhh](j)}(h%``flags`` see struct hwtstamp_config h](j)}(h ``flags``h]h)}(hj},h]hflags}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj{,ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK0hjw,ubjƊ)}(hhh]h)}(hsee struct hwtstamp_configh]hsee struct hwtstamp_config}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj,hK0hj,ubah}(h]h ]h"]h$]h&]uh1jŊhjw,ubeh}(h]h ]h"]h$]h&]uh1jhj,hK0hjt,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:2423: ./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&]uh1jŊhj,ubeh}(h]h ]h"]h$]h&]uh1jhj,hK1hjt,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:2423: ./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&]uh1jŊhj,ubeh}(h]h ]h"]h$]h&]uh1jhj-hK2hjt,ubj)}(hy``ifr`` pointer to ifreq structure from the original ioctl request, to pass to a legacy implementation of a lower driver h](j)}(h``ifr``h]h)}(hj(-h]hifr}(hj*-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj&-ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK4hj"-ubjƊ)}(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}(hjA-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK3hj>-ubah}(h]h ]h"]h$]h&]uh1jŊhj"-ubeh}(h]h ]h"]h$]h&]uh1jhj=-hK4hjt,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)}(hjb-h]hcopied_to_user}(hjd-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`-ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK6hj\-ubjƊ)}(hhh]h)}(hgrequest was passed to a legacy implementation which already copied the ioctl request back to user spaceh]hgrequest was passed to a legacy implementation which already copied the ioctl request back to user space}(hj{-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK5hjx-ubah}(h]h ]h"]h$]h&]uh1jŊhj\-ubeh}(h]h ]h"]h$]h&]uh1jhjw-hK6hjt,ubj)}(hd``source`` indication whether timestamps should come from the netdev or from an attached phylib PHY h](j)}(h ``source``h]h)}(hj-h]hsource}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK8hj-ubjƊ)}(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}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK7hj-ubah}(h]h ]h"]h$]h&]uh1jŊhj-ubeh}(h]h ]h"]h$]h&]uh1jhj-hK8hjt,ubj)}(h0``qualifier`` qualifier of the hwtstamp providerh](j)}(h ``qualifier``h]h)}(hj-h]h qualifier}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-ubah}(h]h ]h"]h$]h&]uh1jhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK8hj-ubjƊ)}(hhh]h)}(h"qualifier of the hwtstamp providerh]h"qualifier of the hwtstamp provider}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK9hj-ubah}(h]h ]h"]h$]h&]uh1jŊhj-ubeh}(h]h ]h"]h$]h&]uh1jhj-hK8hjt,ubeh}(h]h ]h"]h$]h&]uh1jhj,,ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhj?(hhhj+hNubh)}(h**Description**h]j)}(hj.h]h Description}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1hhg/var/lib/git/docbuild/linux/Documentation/networking/ethtool-netlink:2423: ./include/linux/net_tstamp.hhK0ubj)}(hhh]h)}(hu32h]hu32}(hjd0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hja0ubah}(h]h ]h"]h$]h&]uh1jhj>0ubj)}(hhh]h)}(hhwtstamp flagsh]hhwtstamp flags}(hj{0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjx0ubah}(h]h ]h"]h$]h&]uh1jhj>0ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]colsKuh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]uh1jhhhM hjj.hhubh)}(hKernel response contents:h]hKernel response contents:}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjj.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(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_TSCONFIG_HEADER``h]h)}(hj0h]hETHTOOL_A_TSCONFIG_HEADER}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0ubah}(h]h ]h"]h$]h&]uh1hhhhM hj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hnestedh]hnested}(hj 1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj 1ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(hrequest headerh]hrequest header}(hj$1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj!1ubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h(``ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER``h]h)}(hjF1h]h$ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER}(hjH1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjD1ubah}(h]h ]h"]h$]h&]uh1hhhhM hjA1ubah}(h]h ]h"]h$]h&]uh1jhj>1ubj)}(hhh]h)}(hnestedh]hnested}(hjd1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hja1ubah}(h]h ]h"]h$]h&]uh1jhj>1ubj)}(hhh]h)}(hPTP hw clock providerh]hPTP hw clock provider}(hj{1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjx1ubah}(h]h ]h"]h$]h&]uh1jhj>1ubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_A_TSCONFIG_TX_TYPES``h]h)}(hj1h]hETHTOOL_A_TSCONFIG_TX_TYPES}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhM hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hbitseth]hbitset}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hhwtstamp Tx typeh]hhwtstamp Tx type}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h!``ETHTOOL_A_TSCONFIG_RX_FILTERS``h]h)}(hj1h]hETHTOOL_A_TSCONFIG_RX_FILTERS}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1hhhhM hj1ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hbitseth]hbitset}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj2ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hhh]h)}(hhwtstamp Rx filterh]hhwtstamp Rx filter}(hj)2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj&2ubah}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh](j)}(hhh]h)}(h%``ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS``h]h)}(hjK2h]h!ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS}(hjM2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjI2ubah}(h]h ]h"]h$]h&]uh1hhhhM hjF2ubah}(h]h ]h"]h$]h&]uh1jhjC2ubj)}(hhh]h)}(hu32h]hu32}(hji2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjf2ubah}(h]h ]h"]h$]h&]uh1jhjC2ubj)}(hhh]h)}(hhwtstamp flagsh]hhwtstamp flags}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj}2ubah}(h]h ]h"]h$]h&]uh1jhjC2ubeh}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]colsKuh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]uh1jhhhM hjj.hhubh)}(h:For a description of each attribute, see ``TSCONFIG_GET``.h](h)For a description of each attribute, see }(hj2hhhNhNubh)}(h``TSCONFIG_GET``h]h TSCONFIG_GET}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2ubh.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjj.hhubeh}(h] tsconfig-setah ]h"] tsconfig_setah$]h&]uh1hhhhhhhhM{ ubh)}(hhh](h)}(hRequest translationh]hRequest translation}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hhhhhM 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.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj2hhubj)}(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#uh1jhj3ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK%uh1jhj3ubj)}(hhh]j)}(hhh](j)}(hhh]h)}(h ioctl commandh]h ioctl command}(hj!3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(hnetlink commandh]hnetlink command}(hj83hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj53ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSET``h]h)}(hjc3h]h ETHTOOL_GSET}(hje3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja3ubah}(h]h ]h"]h$]h&]uh1hhhhM hj^3ubah}(h]h ]h"]h$]h&]uh1jhj[3ubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_GET`` ``ETHTOOL_MSG_LINKMODES_GET``h](h)}(h``ETHTOOL_MSG_LINKINFO_GET``h]hETHTOOL_MSG_LINKINFO_GET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh }(hj3hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_GET``h]hETHTOOL_MSG_LINKMODES_GET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubeh}(h]h ]h"]h$]h&]uh1hhhhM hj~3ubah}(h]h ]h"]h$]h&]uh1jhj[3ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SSET``h]h)}(hj3h]h ETHTOOL_SSET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubah}(h]h ]h"]h$]h&]uh1hhhhM hj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h)}(h:``ETHTOOL_MSG_LINKINFO_SET`` ``ETHTOOL_MSG_LINKMODES_SET``h](h)}(h``ETHTOOL_MSG_LINKINFO_SET``h]hETHTOOL_MSG_LINKINFO_SET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubh }(hj3hhhNhNubh)}(h``ETHTOOL_MSG_LINKMODES_SET``h]hETHTOOL_MSG_LINKMODES_SET}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3ubeh}(h]h ]h"]h$]h&]uh1hhhhM hj3ubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GDRVINFO``h]h)}(hj4h]hETHTOOL_GDRVINFO}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhM hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hn/ah]hn/a}(hj94hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj64ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GREGS``h]h)}(hj[4h]h ETHTOOL_GREGS}(hj]4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjY4ubah}(h]h ]h"]h$]h&]uh1hhhhM hjV4ubah}(h]h ]h"]h$]h&]uh1jhjS4ubj)}(hhh]h)}(hn/ah]hn/a}(hjy4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjv4ubah}(h]h ]h"]h$]h&]uh1jhjS4ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GWOL``h]h)}(hj4h]h ETHTOOL_GWOL}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhM hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h``ETHTOOL_MSG_WOL_GET``h]h)}(hj4h]hETHTOOL_MSG_WOL_GET}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhM hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SWOL``h]h)}(hj4h]h ETHTOOL_SWOL}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj4ubah}(h]h ]h"]h$]h&]uh1hhhhM hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h``ETHTOOL_MSG_WOL_SET``h]h)}(hj5h]hETHTOOL_MSG_WOL_SET}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhM hj4ubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GMSGLVL``h]h)}(hj-5h]hETHTOOL_GMSGLVL}(hj/5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+5ubah}(h]h ]h"]h$]h&]uh1hhhhM hj(5ubah}(h]h ]h"]h$]h&]uh1jhj%5ubj)}(hhh]h)}(h``ETHTOOL_MSG_DEBUG_GET``h]h)}(hjM5h]hETHTOOL_MSG_DEBUG_GET}(hjO5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjK5ubah}(h]h ]h"]h$]h&]uh1hhhhM hjH5ubah}(h]h ]h"]h$]h&]uh1jhj%5ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SMSGLVL``h]h)}(hjv5h]hETHTOOL_SMSGLVL}(hjx5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjt5ubah}(h]h ]h"]h$]h&]uh1hhhhM hjq5ubah}(h]h ]h"]h$]h&]uh1jhjn5ubj)}(hhh]h)}(h``ETHTOOL_MSG_DEBUG_SET``h]h)}(hj5h]hETHTOOL_MSG_DEBUG_SET}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhM hj5ubah}(h]h ]h"]h$]h&]uh1jhjn5ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_NWAY_RST``h]h)}(hj5h]hETHTOOL_NWAY_RST}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhM hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hn/ah]hn/a}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GLINK``h]h)}(hj5h]h ETHTOOL_GLINK}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5ubah}(h]h ]h"]h$]h&]uh1hhhhM hj5ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h``ETHTOOL_MSG_LINKSTATE_GET``h]h)}(hj6h]hETHTOOL_MSG_LINKSTATE_GET}(hj!6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GEEPROM``h]h)}(hjH6h]hETHTOOL_GEEPROM}(hjJ6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjF6ubah}(h]h ]h"]h$]h&]uh1hhhhM hjC6ubah}(h]h ]h"]h$]h&]uh1jhj@6ubj)}(hhh]h)}(hn/ah]hn/a}(hjf6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjc6ubah}(h]h ]h"]h$]h&]uh1jhj@6ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEPROM``h]h)}(hj6h]hETHTOOL_SEEPROM}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(hn/ah]hn/a}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GCOALESCE``h]h)}(hj6h]hETHTOOL_GCOALESCE}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubj)}(hhh]h)}(h``ETHTOOL_MSG_COALESCE_GET``h]h)}(hj6h]hETHTOOL_MSG_COALESCE_GET}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1hhhhM hj6ubah}(h]h ]h"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SCOALESCE``h]h)}(hj7h]hETHTOOL_SCOALESCE}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj 7ubah}(h]h ]h"]h$]h&]uh1jhj 7ubj)}(hhh]h)}(h``ETHTOOL_MSG_COALESCE_SET``h]h)}(hj17h]hETHTOOL_MSG_COALESCE_SET}(hj37hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj,7ubah}(h]h ]h"]h$]h&]uh1jhj 7ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRINGPARAM``h]h)}(hjZ7h]hETHTOOL_GRINGPARAM}(hj\7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjX7ubah}(h]h ]h"]h$]h&]uh1hhhhM hjU7ubah}(h]h ]h"]h$]h&]uh1jhjR7ubj)}(hhh]h)}(h``ETHTOOL_MSG_RINGS_GET``h]h)}(hjz7h]hETHTOOL_MSG_RINGS_GET}(hj|7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjx7ubah}(h]h ]h"]h$]h&]uh1hhhhM hju7ubah}(h]h ]h"]h$]h&]uh1jhjR7ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRINGPARAM``h]h)}(hj7h]hETHTOOL_SRINGPARAM}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h``ETHTOOL_MSG_RINGS_SET``h]h)}(hj7h]hETHTOOL_MSG_RINGS_SET}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPAUSEPARAM``h]h)}(hj7h]hETHTOOL_GPAUSEPARAM}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7ubah}(h]h ]h"]h$]h&]uh1jhj7ubj)}(hhh]h)}(h``ETHTOOL_MSG_PAUSE_GET``h]h)}(hj 8h]hETHTOOL_MSG_PAUSE_GET}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj 8ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPAUSEPARAM``h]h)}(hj58h]hETHTOOL_SPAUSEPARAM}(hj78hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj38ubah}(h]h ]h"]h$]h&]uh1hhhhM hj08ubah}(h]h ]h"]h$]h&]uh1jhj-8ubj)}(hhh]h)}(h``ETHTOOL_MSG_PAUSE_SET``h]h)}(hjU8h]hETHTOOL_MSG_PAUSE_SET}(hjW8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjS8ubah}(h]h ]h"]h$]h&]uh1hhhhM hjP8ubah}(h]h ]h"]h$]h&]uh1jhj-8ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCSUM``h]h)}(hj~8h]hETHTOOL_GRXCSUM}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|8ubah}(h]h ]h"]h$]h&]uh1hhhhM hjy8ubah}(h]h ]h"]h$]h&]uh1jhjv8ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj8h]hETHTOOL_MSG_FEATURES_GET}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhjv8ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCSUM``h]h)}(hj8h]hETHTOOL_SRXCSUM}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj8h]hETHTOOL_MSG_FEATURES_SET}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8ubah}(h]h ]h"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTXCSUM``h]h)}(hj9h]hETHTOOL_GTXCSUM}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj 9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj09h]hETHTOOL_MSG_FEATURES_GET}(hj29hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj+9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STXCSUM``h]h)}(hjY9h]hETHTOOL_STXCSUM}(hj[9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjW9ubah}(h]h ]h"]h$]h&]uh1hhhhM hjT9ubah}(h]h ]h"]h$]h&]uh1jhjQ9ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjy9h]hETHTOOL_MSG_FEATURES_SET}(hj{9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjw9ubah}(h]h ]h"]h$]h&]uh1hhhhM hjt9ubah}(h]h ]h"]h$]h&]uh1jhjQ9ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSG``h]h)}(hj9h]h ETHTOOL_GSG}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj9h]hETHTOOL_MSG_FEATURES_GET}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SSG``h]h)}(hj9h]h ETHTOOL_SSG}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]uh1hhhhM hj9ubah}(h]h ]h"]h$]h&]uh1jhj9ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj :h]hETHTOOL_MSG_FEATURES_SET}(hj :hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj :ubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_TEST``h]h)}(hj4:h]h ETHTOOL_TEST}(hj6:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2:ubah}(h]h ]h"]h$]h&]uh1hhhhM hj/:ubah}(h]h ]h"]h$]h&]uh1jhj,:ubj)}(hhh]h)}(hn/ah]hn/a}(hjR:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjO:ubah}(h]h ]h"]h$]h&]uh1jhj,:ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTRINGS``h]h)}(hjt:h]hETHTOOL_GSTRINGS}(hjv:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr:ubah}(h]h ]h"]h$]h&]uh1hhhhM hjo:ubah}(h]h ]h"]h$]h&]uh1jhjl:ubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hj:h]hETHTOOL_MSG_STRSET_GET}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]uh1hhhhM hj:ubah}(h]h ]h"]h$]h&]uh1jhjl:ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_PHYS_ID``h]h)}(hj:h]hETHTOOL_PHYS_ID}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSTATS``h]h)}(hj:h]hETHTOOL_GSTATS}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:ubah}(h]h ]h"]h$]h&]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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTSO``h]h)}(hj=;h]h ETHTOOL_GTSO}(hj?;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;;ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8;ubah}(h]h ]h"]h$]h&]uh1jhj5;ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj];h]hETHTOOL_MSG_FEATURES_GET}(hj_;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj[;ubah}(h]h ]h"]h$]h&]uh1hhhhM hjX;ubah}(h]h ]h"]h$]h&]uh1jhj5;ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STSO``h]h)}(hj;h]h ETHTOOL_STSO}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj~;ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj;h]hETHTOOL_MSG_FEATURES_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPERMADDR``h]h)}(hj;h]hETHTOOL_GPERMADDR}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubah}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hrtnetlink ``RTM_GETLINK``h](h rtnetlink }(hj;hhhNhNubh)}(h``RTM_GETLINK``h]h RTM_GETLINK}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubeh}(h]h ]h"]h$]h&]uh1hhhhM hj;ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GUFO``h]h)}(hj<h]h ETHTOOL_GUFO}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj=<h]hETHTOOL_MSG_FEATURES_GET}(hj?<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj8<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SUFO``h]h)}(hjf<h]h ETHTOOL_SUFO}(hjh<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjd<ubah}(h]h ]h"]h$]h&]uh1hhhhM hja<ubah}(h]h ]h"]h$]h&]uh1jhj^<ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj<h]hETHTOOL_MSG_FEATURES_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGSO``h]h)}(hj<h]h ETHTOOL_GGSO}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj<h]hETHTOOL_MSG_FEATURES_GET}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGSO``h]h)}(hj<h]h ETHTOOL_SGSO}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<ubah}(h]h ]h"]h$]h&]uh1hhhhM hj<ubah}(h]h ]h"]h$]h&]uh1jhj<ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj=h]hETHTOOL_MSG_FEATURES_SET}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhM hj=ubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFLAGS``h]h)}(hjA=h]hETHTOOL_GFLAGS}(hjC=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?=ubah}(h]h ]h"]h$]h&]uh1hhhhM hj<=ubah}(h]h ]h"]h$]h&]uh1jhj9=ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hja=h]hETHTOOL_MSG_FEATURES_GET}(hjc=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_=ubah}(h]h ]h"]h$]h&]uh1hhhhM hj\=ubah}(h]h ]h"]h$]h&]uh1jhj9=ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFLAGS``h]h)}(hj=h]hETHTOOL_SFLAGS}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhM hj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj=h]hETHTOOL_MSG_FEATURES_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPFLAGS``h]h)}(hj=h]hETHTOOL_GPFLAGS}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhM hj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_GET``h]h)}(hj=h]hETHTOOL_MSG_PRIVFLAGS_GET}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj=ubah}(h]h ]h"]h$]h&]uh1hhhhM hj=ubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SPFLAGS``h]h)}(hj>h]hETHTOOL_SPFLAGS}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h``ETHTOOL_MSG_PRIVFLAGS_SET``h]h)}(hj<>h]hETHTOOL_MSG_PRIVFLAGS_SET}(hj>>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj:>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj7>ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFH``h]h)}(hje>h]h ETHTOOL_GRXFH}(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)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hj>h]hETHTOOL_MSG_RSS_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFH``h]h)}(hj>h]h ETHTOOL_SRXFH}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_SET``h]h)}(hj>h]hETHTOOL_MSG_RSS_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GGRO``h]h)}(hj>h]h ETHTOOL_GGRO}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj>ubah}(h]h ]h"]h$]h&]uh1hhhhM hj>ubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_GET``h]h)}(hj?h]hETHTOOL_MSG_FEATURES_GET}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj?ubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SGRO``h]h)}(hj@?h]h ETHTOOL_SGRO}(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)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hj`?h]hETHTOOL_MSG_FEATURES_SET}(hjb?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^?ubah}(h]h ]h"]h$]h&]uh1hhhhM hj[?ubah}(h]h ]h"]h$]h&]uh1jhj8?ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXRINGS``h]h)}(hj?h]hETHTOOL_GRXRINGS}(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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLCNT``h]h)}(hj?h]hETHTOOL_GRXCLSRLCNT}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRULE``h]h)}(hj @h]hETHTOOL_GRXCLSRULE}(hj @hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1hhhhM hj@ubah}(h]h ]h"]h$]h&]uh1jhj@ubj)}(hhh]h)}(hn/ah]hn/a}(hj'@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj$@ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXCLSRLALL``h]h)}(hjI@h]hETHTOOL_GRXCLSRLALL}(hjK@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjG@ubah}(h]h ]h"]h$]h&]uh1hhhhM hjD@ubah}(h]h ]h"]h$]h&]uh1jhjA@ubj)}(hhh]h)}(hn/ah]hn/a}(hjg@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjd@ubah}(h]h ]h"]h$]h&]uh1jhjA@ubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCLSRLDEL``h]h)}(hj@h]hETHTOOL_SRXCLSRLDEL}(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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXCLSRLINS``h]h)}(hj@h]hETHTOOL_SRXCLSRLINS}(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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_FLASHDEV``h]h)}(hj Ah]hETHTOOL_FLASHDEV}(hj AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hn/ah]hn/a}(hj'AhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj$Aubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_RESET``h]h)}(hjIAh]h ETHTOOL_RESET}(hjKAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjGAubah}(h]h ]h"]h$]h&]uh1hhhhM hjDAubah}(h]h ]h"]h$]h&]uh1jhjAAubj)}(hhh]h)}(hn/ah]hn/a}(hjgAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjdAubah}(h]h ]h"]h$]h&]uh1jhjAAubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXNTUPLE``h]h)}(hjAh]hETHTOOL_SRXNTUPLE}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hn/ah]hn/a}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXNTUPLE``h]h)}(hjAh]hETHTOOL_GRXNTUPLE}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjAubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(hn/ah]hn/a}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjAubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GSSET_INFO``h]h)}(hj Bh]hETHTOOL_GSSET_INFO}(hj BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]uh1hhhhM hjBubah}(h]h ]h"]h$]h&]uh1jhjBubj)}(hhh]h)}(h``ETHTOOL_MSG_STRSET_GET``h]h)}(hj)Bh]hETHTOOL_MSG_STRSET_GET}(hj+BhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'Bubah}(h]h ]h"]h$]h&]uh1hhhhM hj$Bubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRXFHINDIR`` gh]h)}(hjRBh]hETHTOOL_GRXFHINDIR}(hjTBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjPBubah}(h]h ]h"]h$]h&]uh1hhhhM hjMBubah}(h]h ]h"]h$]h&]uh1jhjJBubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hjrBh]hETHTOOL_MSG_RSS_GET}(hjtBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpBubah}(h]h ]h"]h$]h&]uh1hhhhM hjmBubah}(h]h ]h"]h$]h&]uh1jhjJBubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRXFHINDIR``h]h)}(hjBh]hETHTOOL_SRXFHINDIR}(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_RSS_SET``h]h)}(hjBh]hETHTOOL_MSG_RSS_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GFEATURES``h]h)}(hjBh]hETHTOOL_GFEATURES}(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 hjBubah}(h]h ]h"]h$]h&]uh1jhjBubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SFEATURES``h]h)}(hj-Ch]hETHTOOL_SFEATURES}(hj/ChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+Cubah}(h]h ]h"]h$]h&]uh1hhhhM hj(Cubah}(h]h ]h"]h$]h&]uh1jhj%Cubj)}(hhh]h)}(h``ETHTOOL_MSG_FEATURES_SET``h]h)}(hjMCh]hETHTOOL_MSG_FEATURES_SET}(hjOChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKCubah}(h]h ]h"]h$]h&]uh1hhhhM hjHCubah}(h]h ]h"]h$]h&]uh1jhj%Cubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GCHANNELS``h]h)}(hjvCh]hETHTOOL_GCHANNELS}(hjxChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjtCubah}(h]h ]h"]h$]h&]uh1hhhhM hjqCubah}(h]h ]h"]h$]h&]uh1jhjnCubj)}(hhh]h)}(h``ETHTOOL_MSG_CHANNELS_GET``h]h)}(hjCh]hETHTOOL_MSG_CHANNELS_GET}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhjCubah}(h]h ]h"]h$]h&]uh1hhhhM hjCubah}(h]h ]h"]h$]h&]uh1jhjnCubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SCHANNELS``h]h)}(hjCh]hETHTOOL_SCHANNELS}(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_CHANNELS_SET``h]h)}(hjCh]hETHTOOL_MSG_CHANNELS_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SET_DUMP``h]h)}(hjDh]hETHTOOL_SET_DUMP}(hj DhhhNhNubah}(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}(hj&DhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj#Dubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_DUMP_FLAG``h]h)}(hjHDh]hETHTOOL_GET_DUMP_FLAG}(hjJDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFDubah}(h]h ]h"]h$]h&]uh1hhhhM hjCDubah}(h]h ]h"]h$]h&]uh1jhj@Dubj)}(hhh]h)}(hn/ah]hn/a}(hjfDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjcDubah}(h]h ]h"]h$]h&]uh1jhj@Dubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_DUMP_DATA``h]h)}(hjDh]hETHTOOL_GET_DUMP_DATA}(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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GET_TS_INFO``h]h)}(hjDh]hETHTOOL_GET_TS_INFO}(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_TSINFO_GET``h]h)}(hjDh]hETHTOOL_MSG_TSINFO_GET}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1hhhhM hjDubah}(h]h ]h"]h$]h&]uh1jhjDubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GMODULEINFO``h]h)}(hjEh]hETHTOOL_GMODULEINFO}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEubah}(h]h ]h"]h$]h&]uh1hhhhM hj Eubah}(h]h ]h"]h$]h&]uh1jhj Eubj)}(hhh]h)}(h!``ETHTOOL_MSG_MODULE_EEPROM_GET``h]h)}(hj1Eh]hETHTOOL_MSG_MODULE_EEPROM_GET}(hj3EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/Eubah}(h]h ]h"]h$]h&]uh1hhhhM hj,Eubah}(h]h ]h"]h$]h&]uh1jhj Eubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GMODULEEEPROM``h]h)}(hjZEh]hETHTOOL_GMODULEEEPROM}(hj\EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjXEubah}(h]h ]h"]h$]h&]uh1hhhhM hjUEubah}(h]h ]h"]h$]h&]uh1jhjREubj)}(hhh]h)}(h!``ETHTOOL_MSG_MODULE_EEPROM_GET``h]h)}(hjzEh]hETHTOOL_MSG_MODULE_EEPROM_GET}(hj|EhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxEubah}(h]h ]h"]h$]h&]uh1hhhhM hjuEubah}(h]h ]h"]h$]h&]uh1jhjREubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GEEE``h]h)}(hjEh]h ETHTOOL_GEEE}(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_EEE_GET``h]h)}(hjEh]hETHTOOL_MSG_EEE_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&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SEEE``h]h)}(hjEh]h ETHTOOL_SEEE}(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_EEE_SET``h]h)}(hj Fh]hETHTOOL_MSG_EEE_SET}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj Fubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GRSSH``h]h)}(hj5Fh]h ETHTOOL_GRSSH}(hj7FhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj3Fubah}(h]h ]h"]h$]h&]uh1hhhhM hj0Fubah}(h]h ]h"]h$]h&]uh1jhj-Fubj)}(hhh]h)}(h``ETHTOOL_MSG_RSS_GET``h]h)}(hjUFh]hETHTOOL_MSG_RSS_GET}(hjWFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSFubah}(h]h ]h"]h$]h&]uh1hhhhM hjPFubah}(h]h ]h"]h$]h&]uh1jhj-Fubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_SRSSH``h]h)}(hj~Fh]h ETHTOOL_SRSSH}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|Fubah}(h]h ]h"]h$]h&]uh1hhhhM hjyFubah}(h]h ]h"]h$]h&]uh1jhjvFubj)}(hhh]h)}(hn/ah]hn/a}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjvFubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GTUNABLE``h]h)}(hjFh]hETHTOOL_GTUNABLE}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hn/ah]hn/a}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_STUNABLE``h]h)}(hjFh]hETHTOOL_STUNABLE}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubah}(h]h ]h"]h$]h&]uh1hhhhM hjFubah}(h]h ]h"]h$]h&]uh1jhjFubj)}(hhh]h)}(hn/ah]hn/a}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hjGubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjX3ubj)}(hhh](j)}(hhh]h)}(h``ETHTOOL_GPHYSTATS``h]h)}(hj>Gh]hETHTOOL_GPHYSTATS}(hj@GhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjh>jLjLjOjOjKPjHPjRjRjTjTj{WjxWjZjZj\j\j]j]jejejjjjjnjnj.qj+qj}j}j~}j{}jjjjjjޑjjj&j#jjjJjGjڮj׮jmjjjjjмjͼjjjjjCj@jjj9j6jXjUjjj]jZjjjjjKjHjhjejjj j j j jjjjj$j#j<(j9(jg.jd.j2j2jpMjmMu nametypes}(jxMjcjjjj j )j0j/4j26j:jk>jLjOjKPjRjTj{WjZj\j]jejjjnj.qj}j~}jjjjj&jjJjڮjmjjмjjjCjj9jXjj]jjjKjhjj j jjj$j<(jg.j2jpMuh}(juMhj`hjjfjjjg jj)jm j0j)j,4j0j/6j24j:j56jh>j:jLjn>jOjLjHPj OjRjNPjTjRjxWjTjZj~Wj\jZj]j\jej]jjjejnjjj+qjnj}j1qj{}ju}jj}jjjjjjjޑjjjj#jjj)jGjj׮jMjjjݮjjpj+j1jͼjjjӼjjj@jjjFjjj6jjjjUj<jhjmjjjkjpjjjjjXj^j)j.j,j1jjjojjjjjjjj[jZjj/j4jj`jjjHjjejNjjkj jj j jj jjjjjojtjjjjj#jj,"j1"j9(j$jd.j?(j+j+j2jj.jmMj2u 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.