MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/lib/python3.12/site-packages/pyynl/__pycache__/ethtool.cpython-312.pyc
�

��Nj,5��:�ddlZddlZddlZddlZddlZddlZejjeje	�j�jj��ddl
mZddlmZmZd�Zd�Zd�Zd�Zifd�Zd	�Zd
�Zedk(re�yy)�N)�	YnlFamily)�
schema_dir�spec_dirc���|j|�}|jd�t|�dk(r#td|���t	j
d�d}|t|�kr�||}|dzt|�k\r$td|�d��t	j
d�||vr&td|�d|���t	j
d�||dz}|d	z
}|||<|t|�kr��y
y
)zR
    Verify and convert command-line arguments to the ynl-compatible request.
    �headerrzno attributes, expected: �zexpected value for '�'zinvalid attribute 'z
', expected: �N)�operation_do_attributes�remove�len�print�sys�exit)�ynl�op_name�args�req�valid_attrs�i�attr�vals        �2/usr/lib/python3.12/site-packages/pyynl/ethtool.py�args_to_reqrs����-�-�g�6�K����x� �
�4�y�A�~�
�)�+��7�8������	�A�
�c�$�i�-��A�w���q�5�C��I���)�$��r�2�3��H�H�Q�K��{�"��(���n�[�M�J�K��H�H�Q�K��1�Q�3�i��	�Q�����D�	��c�$�i�-�c�l�t|�dk(r2t|gt|j�|j�����S|D]Y}	|\}}}|j|d�}|dk(r|rdnd}n"|dk(st
|t�r|rdnd	}n|�d
n|}t|�d|����[y#t$r
|\}}d}Y�ewxYw)zu
    Pretty-print a set of fields from the reply. desc specifies the
    fields and the optional type (bool/yn).
    r�intN�yn�yes�no�bool�on�offzn/a�: )	r
�print_field�zip�keys�
ValueError�get�
isinstancer!r)�reply�desc�spec�field�name�tp�values       rr%r%*s���
�4�y�A�~��5�C�3�u�z�z�|�U�Z�Z�\�#B�C�C���	�"�O�E�4��
�	�	�%��&��
��:�"�E��E�
�6�\�Z��t�4�!�D�u�E�"�]�E��E�
���b��� �!����	��K�E�4��B�	�s�B � B3�2B3c���tjd�}|j�D��cgc]\}}|s�	|j|�s�|��}}}t	|�ddj|����ycc}}w)z?
    Print out the speed-like strings from the value dict.
    z[0-9]+base[^/]+/.+r$� N)�re�compile�items�matchr�join)r/r1�speed_re�k�v�speeds      r�print_speedr=Cs`���z�z�/�0�H�!�K�K�M�F�M�D�A�q�Q�8�>�>�!�3D�a�M�E�F�	�T�F�"�S�X�X�e�_�%�
&�'��
Gs�
A-�A-�A-c�x�dd|jii}t|||j|�|j||�y)z;
    Prepare request header, parse arguments and doit.
    r�dev-nameN)�devicerr�do)rrrrs    r�doitrBKs>��
	�
�d�k�k�
��C���W�d�i�i��-��F�F�7�C�rc��|j|dii|z�}|siS|D]q}|dd|jk(s�|jr8tj�j|�tjd�|jdd�|cStd|j���tjd�y)zu
    Prepare request header, parse arguments and dumpit (filtering out the
    devices we're not interested in).
    rr?rNzNot supported for device r)	�dumpr@�json�pprint�
PrettyPrinterrr�popr)rrr�extrar+�msgs      r�dumpitrKXs���

�H�H�W��"�.��6�7�E���	����x�=��$����3��y�y��$�$�&�-�-�c�2�������G�G�H�d�#��J�
�
�%�d�k�k�]�
3�4��H�H�Q�Krc��i}d|vr
t�Sd|dvr
t�S|ddD]'}|ddk(r�|d}|jdd�}|||<�)|S)z?
    Convert ynl-formatted bitmask to a dict of bit=value.
    �bits�bitr/�r1F)�dictr))r�retrNr/r1s     r�bits_to_dictrRlsv��
�C�
�T���v�
��D��L� ��v�
��F�|�E�"���v�;�"����6�{�������'����D�	�#��Jrc
�
�tjd��}|jdtj��|jdtj��|jdtj��|jdtj��|jdtj��|jd	d
tj��|jddtj��|jd
dtj��|jddtj��|jddtj��|jddtj��|jddtj��|jddtj��|jddtj��|jddtj��|jddtj��|jdd tj��|jd!d!t�"�|jd#d#td$�%�|j�atjjt�d&�}tjjt�d'�}t||�}tjrtd(�ytjrt!|td)�Stj"rt!|td*�Stj$rt!|td+�Stj&rtd(�ytj(rt!|td,�Stj*rt!|td-�Stj,r)t/t1|td.�d/�}t3|�ytj4r�t1|td0�}t/|d1�}t/|d2�}d3|vr|d3rd3nd4}d5|vr|d5r|d6z}n|d7z}nd8}td9|���t3|d:�t7d;|�t7d<|�ytj8rt3t1|td=�d>d?d@�ytj:rt3t1|tdA��ytj<r�t1|tdB�}	t/|	dC�}
t/|	dD�j?�}t/|	d5�j?�}t/|	dE�j?�}
tA|
�D]9}dF}||vrdG}dH}||
vs||
vrdI}dH}||vr	||vrdJ}ndK}t|�dL|�|�|����;ytjBrct1|tdM�}	tdNtjD�dO��tdP�t3|	dQdRdSdT�tdU�t3|	dVdWdXdY�ytjFrqt1|tdM�}	tdZtjD�dO��tdP�t3|	dQd[d\dR�tdU�t3|	d]d^d_d`�t3|	dadbdc�ytjHr�tdd�t1|tde�}tKjL�jK|�dfdgdhdidjdk�idl�i}t1|tdm|�}tKjL�jK|�ytjN�rVdnd/doii}t1|tdp|�}tdqtjD�dO��tdr�t/|ds�D�cgc]}tdt|�����c}tdu|jQdvdw����dx|vr4tdy�t/|dx�D�cgc]}tdt|�����c}ntdz�d{|vr4td|�t/|d{�D�cgc]}tdt|�����c}ntd}�do|vrE|dor@td~�|dojS�D��cgc]\}}tdt|�dL|�����c}}ytdtjD�dO��t1|td��}t/|d��}d�}|D�cgc]}|jQ|d��s�|��}}td�d�j|��d���t7d�|�t3|d��t3|d��d�}|D�cgc]}|jQ|d��s�|��}}d�j|�}tU|�d�k(rd�}td�|���d�}|d�d�kDr|d�d�kr|d��d��}td�|���d�d�d��}|jQ|d�d�} | s	d�|d��d��} td�| ���dF}!|jQd�d��d�k7rdG}!td�|!���d�d�d�d�d�d�d�d��}t1|td��}"td�|jQ|"d�d�����t3|"d��d�d�d��}#td�|#jQ|"d�d�����dFdGd��}$|$jQ|"d�d�}%|%r|%d�z}%n|$jQ|"d�d��}%td�|%���t1|td��}&t/|&jQd�g��j?�}'td�d�j|'����t1|td��}(d�d�d��})|)jQ|(d�d��}*td�|*���ycc}wcc}wcc}wcc}}wcc}wcc}w)�Nzethtool wannabe)�descriptionz--json)�actionz--show-priv-flagsz--set-priv-flagsz
--show-eeez	--set-eeez-az--show-pausez-Az--set-pausez-cz--show-coalescez-Cz--set-coalescez-gz--show-ringz-Gz
--set-ringz-kz--show-featuresz-Kz--set-featuresz-lz--show-channelsz-Lz--set-channelsz-Tz--show-time-stampingz-Sz--statisticsr@)�metavar�typer�*)rVrW�nargszethtool.yamlzgenetlink-legacy.yamlznot implementedzeee-setz	pause-setzcoalesce-setzchannels-setz	rings-setz
privflags-get�flagszeee-getz
modes-oursz
modes-peer�enabled�disabled�activez	 - activez - inactivez
not supportedzEEE status: )ztx-lpi-timerzTx LPIzAdvertised EEE link modesz&Link partner advertised EEE link modesz	pause-get)�autoneg�
Autonegotiater!)�rx�RXr!)�tx�TXr!zcoalesce-getzfeatures-get�hw�wanted�nochanger#r"rOz [fixed]z [requested on]z [requested off]r$zchannels-getzChannel parameters for �:zPre-set maximums:)zrx-maxra)ztx-maxrc)z	other-max�Other)zcombined-max�CombinedzCurrent hardware settings:)zrx-countra)ztx-countrc)zother-countrh)zcombined-countrizRing parameters for )zrx-mini-max�RX Mini)zrx-jumbo-max�RX Jumbo)r`ra)zrx-minirj)zrx-jumbork)rbrc)z
rx-buf-lenz
RX Buf Len)zcqe-sizezCQE Size)ztx-pushzTX Pushr!zNIC statistics:z
strset-get�groupsrrNzeth-macT)r/r1)�sizerMz	stats-getr�statsz
tsinfo-getzTime stamping parameters for z
Capabilities:�timestamping�	zPTP Hardware Clock: z	phc-index�noneztx-typesz"Hardware Transmit Timestamp Modes:z'Hardware Transmit Timestamp Modes: nonez
rx-filterszHardware Receive Filter Modes:z#Hardware Receive Filter Modes: nonezStatistics:z
Settings for z
linkmodes-get�ours)�TP�AUI�BNC�MII�FIBRE�	BackplaneFzSupported ports: [ r3z ]zSupported link modes)�PausezSupported pause frame user)�AutonegzSupports auto-negotiationr)�None�PS�BASER�LLRSrzNot reportedzSupported FEC modes: zUnknown!r<l��zMb/szSpeed: �Half�Full)rr�duplexz
Unknown! (�)zDuplex: r^zAuto-negotiation: zTwisted PairrtrvrwruzDirectly Attached Copperr{)rrr
�����zlinkinfo-getzPort: �portrh)�phyaddr�PHYAD�Internal�Externalz
Transceiver: �transceiver�Unknown)rr
ztp-mdix-ctrlz	 (forced)ztp-mdixzUnknown (auto)zMDI-X: z	debug-get�msgmaskzCurrent message level: z
linkstate-getr r�link�unknownzLink detected: )+�argparse�ArgumentParser�add_argument�BooleanOptionalAction�str�
parse_argsr�os�pathr8rrr�set_priv_flagsr�set_eeerB�	set_pause�set_coalesce�set_features�set_channels�set_ring�show_priv_flagsrRrKr%�show_eeer=�
show_pause�
show_coalesce�
show_featuresr'�sorted�
show_channelsr@�	show_ring�
statisticsrFrG�show_time_stampingr)r6r
)+�parserr-�schemarrZ�eeerr�peer�statusr+�	available�	requestedr]�
never_changed�fr1�fixedr�strset�rsp�tsinfor;r:�	linkmodes�supported_ports�p�ports�
supported_fec�fec�fec_strr<�duplex_modesr�r^�linkinfor��	mdix_ctrl�mdix�debugr��	linkstate�detected_states�detecteds+                                           r�mainr�}s�
��
�
$�
$�1B�
C�F�
�����)G�)G��H�
���+�H�4R�4R��S�
���*�8�3Q�3Q��R�
����X�-K�-K��L�
����H�,J�,J��K�
����n�X�5S�5S��T�
����m�H�4R�4R��S�
����/��8V�8V��W�
����.�x�7U�7U��V�
����m�H�4R�4R��S�
����l�8�3Q�3Q��R�
����/��8V�8V��W�
����.�x�7U�7U��V�
����/��8V�8V��W�
����.�x�7U�7U��V�
����4�X�=[�=[��\�
����n�X�5S�5S��T�����(���=�
�����S���D�����D�
�7�7�<�<��
�N�3�D�
�W�W�\�\�*�,�(?�
@�F�
�D�&�
!�C����
�� ���|�|��C��y�)�)��~�~��C��{�+�+�����C��~�.�.����
�� ������C��~�.�.��}�}��C��{�+�+�����V�C���?��H�I���E����}�}��S�$�	�*���C��-�.���C��-�.�����"%�i�.�Y�j�F��3��3�x�=��+�-���-�/��$�F�
��V�H�%�&��C�3�4��/��6��<�d�C������F�3��k�2�4�$�$�	&�	�����F�3��n�5�6������s�D�.�1�� ��t��-�	� ��x��1�6�6�8�	��e�H�o�.�3�3�5��$�U�:�%6�7�<�<�>�
��	�"�A��E��F�{����E��	�!�Q�-�%7�"���C��I�~���;�+�C�,�C��Q�C�r�%�����u�-�.�!#�$	�����s�D�.�1��
�'����}�A�6�7�
�!�"��E���"�(�		*�	�*�+��E���$�*�		,�	��~�~��s�D�.�1��
�$�T�[�[�M��3�4�
�!�"��E��&�(��		�	�*�+��E��"�$��		�	�E�(�$�*�	,�
	����
�� ���T�<�0������%�%�f�-����&��6�	��
�� �S�$��S�1������%�%�c�*�����
��W��
����T�<��5��
�-�d�k�k�]�!�<�=�
�o��".�v�n�/E�"F�G�"F�Q���A�3�x��"F�G�
�$�V�Z�Z��V�%D�$E�F�G�����6�7�&2�6�*�3E�&F�G�&F��U�R��s�8�_�&F�G��;�<��6�!��2�3�&2�6�,�3G�&H�I�&H��U�R��s�8�_�&H�I��7�8��f������-� �.4�W�o�.C�.C�.E�F�.E�d�a��U�R��s�"�Q�C�=�
!�.E�F��	�M�$�+�+��a�
(�)��s�D�/�2�I��	�&�)�*�D�H�O�(�?��A�D�H�H�Q��,>�a��E�?�	�������0��
3�4��&��-���B�C���D�E�4�M�$�
;�}�!�����E�(:�A�}�C�
;��h�h�s�m�G�
�3�x�1�}� ��	�!�'��
+�,��E����A��)�G�"4�z�"A��W�%�&�d�+��	�G�E�7�
�����L��
�
�i��1�4�
8�F���i��1�2�!�4��	�H�V�H�
���G��}�}�Y��"�a�'���	��w�i�
(�)������)��
�E��c�4��0�H�	�F�5�9�9�X�f�-�w�7�8�
9�:���.�/����K�
�M�+�/�/�(�=�*A�9�M�N�
O�P����I��=�=��.�1�4�8�D���k�!���}�}�X�i�0�2B�C��	�G�D�6�
���3��k�*�E��5�9�9�Y��3�4�9�9�;�G�	�#�C�H�H�W�$5�#6�
7�8��s�D�/�2�I����O�
�"�"�9�V�#4�i�@�H�	�O�H�:�
&�'��Q	H��
H��
J��
G��
@��<s0�%m&�:m+�=m0�m5�-m;�m;�n�+n�__main__)r��pathlibrFrr4r�r��append�Path�__file__�resolve�parent�as_posix�libr�clirrrr%r=rBrKrRr��__name__�rr�<module>r�s�����
�
�	�	����������X�&�.�.�0�7�7�@�@�B�C��$��6"�2(��(*��(�"|(�|	�z���F�r