HEX
Server: LiteSpeed
System: Linux srv146.niagahoster.com 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64
User: kodi1989 (1633)
PHP: 8.1.34
Disabled: symlink,shell_exec,exec,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,show_source,pcntl_exec
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/pyroute2/ethtool/__pycache__/ioctl.cpython-37.pyc
B

��f	Q�@s�ddlZddlZddlZddlZddlmZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$dZ%d!Z&dZ'd"Z(d!Z)d#Z*dZ+dZ,d$Z-d%Z.d&Z/d'Z0d(Z1d)Z2e0e/Be.Be1Be2BZ3d*Z4e4Z5dZ6d"Z7d!Z8d#Z9dZ:dZ;d$Z<d%Z=e6d+e7d,e8d-e9d.e:d/e;d0e<d1e=d2iZ>Gd3d4�d4e?�Z@Gd5d6�d6e@�ZAGd7d8�d8e@�ZBGd9d:�d:ejC�ZDGd;d<�d<eD�ZEGd=d>�d>eD�ZFGd?d@�d@eD�ZGGdAdB�dBeD�ZHGdCdD�dDejC�ZIGdEdF�dFejC�ZJdGdH�ZKGdIdJ�dJejC�ZLGdKdL�dLejC�ZMdMdN�ZNdOdP�ZOdQdR�ZPGdSdT�dTejC�ZQGdUdV�dVejC�ZRGdWdX�dXejC�ZSGdYdZ�dZeD�ZTGd[d\�d\ejU�ZVGd]d^�d^ejC�ZWGd_d`�d`ejC�ZXGdadb�db�ZYGdcdd�dd�ZZdS)e�N)�LinkModeBits�iF�����7��%�:�;�L��� ����������!�"�#�$�+�,�����@��i�ii�ZphyZucastZmcastZbcast�arp�magicZmagic_secure�filterc@seZdZdS)�EthtoolErrorN)�__name__�
__module__�__qualname__�r.r.�G/opt/alt/python37/lib/python3.7/site-packages/pyroute2/ethtool/ioctl.pyr*^sr*c@seZdZdS)�NotSupportedErrorN)r+r,r-r.r.r.r/r0bsr0c@seZdZdS)�NoSuchDeviceN)r+r,r-r.r.r.r/r1fsr1csLeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	�Z
S)�
DictStructcs,tt��j||��fdd��jD��_dS)Ncs*i|]"\}}�fdd��fdd�g|�qS)cs
t�|�S)N)�getattr)�k)�selfr.r/�<lambda>o�z0DictStruct.__init__.<locals>.<dictcomp>.<lambda>cst�||�S)N)�setattr)r4�v)r5r.r/r6pr7r.)�.0�name�ct)r5r.r/�
<dictcomp>msz'DictStruct.__init__.<locals>.<dictcomp>)�superr2�__init__�_fields_�_fields_as_dict)r5�args�kwargs)�	__class__)r5r/r?ks
zDictStruct.__init__cCs|j|d|�S)Nr)rA)r5�keyr.r.r/�__getitem__uszDictStruct.__getitem__cCs|j|d||�S)Nr)rA)r5rE�valuer.r.r/�__setitem__xszDictStruct.__setitem__cCs
t|j�S)N)�iterrA)r5r.r.r/�__iter__{szDictStruct.__iter__ccs2x,|j��D]\}}|\}}|||�fVqWdS)N)rA�items)r5r4�f�getter�_r.r.r/rK~szDictStruct.itemscCs
|j��S)N)rA�keys)r5r.r.r/rO�szDictStruct.keyscCs
||jkS)N)rA)r5rEr.r.r/�__contains__�szDictStruct.__contains__)r+r,r-r?rFrHrJrKrOrP�
__classcell__r.r.)rDr/r2js
r2c@s4eZdZdejfdejfdejfdejefgZdS)�EthtoolWolInfo�cmd�	supportedZwoloptsZsopassN)r+r,r-�ctypes�c_uint32�c_uint8�
SOPASS_MAXr@r.r.r.r/rR�srRc@s�eZdZdZdejfdejfdejfdejfdejfdejfdejfd	ejfd
ejfdejfdejfd
ejfdejfdejfdejfdejfdejdfgZdS)�
EthtoolCmdrrSrTZadvertising�speed�duplex�port�phy_address�transceiver�autoneg�mdio_supportZmaxtxpktZmaxrxpktZspeed_hi�eth_tp_mdixZ	reserved2Zlp_advertising�reservedr!N)	r+r,r-�_pack_rUrV�c_uint16rWr@r.r.r.r/rY�s$rYc@s�eZdZdZdejfdejfdejfdejfdejfdejfdejfd	ejfd
ejfdejfdejfd
ejdfdejdfdejdefgZ	dS)�IoctlEthtoolLinkSettingsrrSrZr[r\r]r_r`raZeth_tp_mdix_ctrl�link_mode_masks_nwordsr^Z	reserved1�rb��link_mode_dataN)
r+r,r-rcrUrVrW�c_int8�&ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32r@r.r.r.r/re�s rec@s�eZdZdZdejfdejfdejfdejfdejfdejfdejfd	ejfd
ejfdejfdejfd
ejfdejfdejfdejfdejfdejfdejfdejfdejfdejfdejfdejfgZdS)�EthtoolCoalescerrSZrx_coalesce_usecsZrx_max_coalesced_framesZrx_coalesce_usecs_irqZrx_max_coalesced_frames_irqZtx_coalesce_usecsZtx_max_coalesced_framesZtx_coalesce_usecs_irqZtx_max_coalesced_frames_irqZstats_block_coalesce_usecsZuse_adaptive_rx_coalesceZuse_adaptive_tx_coalesceZpkt_rate_lowZrx_coalesce_usecs_lowZrx_max_coalesced_frames_lowZtx_coalesce_usecs_lowZtx_max_coalesced_frames_lowZ
pkt_rate_highZrx_coalesce_usecs_highZrx_max_coalesced_frames_highZtx_coalesce_usecs_highZtx_max_coalesced_frames_highZrate_sample_intervalN)r+r,r-rcrUrVr@r.r.r.r/rl�s0rlc@s eZdZdejfdejfgZdS)�EthtoolValuerS�dataN)r+r,r-rUrVr@r.r.r.r/rmsrmc@s4eZdZdZdejfdejfdejfdejfgZdS)�EthtoolSsetInforrSrb�	sset_maskrnN)r+r,r-rcrUrV�c_uint64r@r.r.r.r/ros
rocsG�fdd�dtj�}|S)Ncs8eZdZdejfdejfdejfdeje�fgZdS)z1generate_EthtoolGstrings.<locals>.EthtoolGstringsrS�
string_set�len�stringsN)r+r,r-rUrV�c_ubyte�ETH_GSTRING_LENr@r.)�gstrings_lengthr.r/�EthtoolGstringssrx)rU�	Structure)rwrxr.)rwr/�generate_EthtoolGstringssrzc@s0eZdZdejfdejfdejfdejfgZdS)�EthtoolGetFeaturesBlock�	available�	requested�active�
never_changedN)r+r,r-rUrVr@r.r.r.r/r{&sr{c@s eZdZdejfdejfgZdS)�EthtoolSetFeaturesBlock�changedr~N)r+r,r-rUrVr@r.r.r.r/r�/sr�csG�fdd�dtj�}|S)Ncs,eZdZdejfdejfdej�fgZdS)z-generate_EthtoolGStats.<locals>.EthtoolGStatsrS�sizernN)r+r,r-rUrVrqr@r.)�stats_lengthr.r/�
EthtoolGStats4sr�)rUry)r�r�r.)r�r/�generate_EthtoolGStats3sr�cCst||d|�S)Nr)�int)�n�dr.r.r/�div_round_up>sr�cCs
t|d�S)Nr)r�)Zn_bitsr.r.r/�feature_bits_to_blocksBsr�c@s.eZdZdejfdejfdeed�fgZdS)�EthtoolGfeaturesrSr��featuresr%N)r+r,r-rUrVr{r�r@r.r.r.r/r�Fsr�c@s.eZdZdejfdejfdeed�fgZdS)�EthtoolSfeaturesrSr�r�r%N)r+r,r-rUrVr�r�r@r.r.r.r/r�Nsr�c@seZdZdejfdefgZdS)�FeatureStateZ	off_flagsr�N)r+r,r-rUrVr�r@r.r.r.r/r�Vsr�c
@s\eZdZdZdejfdejfdejfdejfdejfdejfdejfd	ejfd
ejfg	ZdS)�EthtoolRingParamrrSZrx_maxZrx_mini_maxZrx_jumbo_maxZtx_max�rxZrx_miniZrx_jumboZtxN)r+r,r-rcrUrVr@r.r.r.r/r�Zsr�c@s�eZdZed�Zde�e�fde�e�fde�e	�fde�e
�fde�d�fde�d�fd	e�e�fd
e�e�fde�e
�fde�e�fd
e�e�fgZdS)�	IfReqDatar�ifr_data�coalescerG�	sset_info�gstringsN�gstats�	gfeatures�	sfeatures�
glinksettings�wolinfo�rings)r+r,r-rz�dummyrU�POINTERrYrlrmror�r�rerRr�r@r.r.r.r/r�isr�c@s*eZdZdZdZdejefdefgZ	dS)�IfReqr)�u�ifr_namer�N)
r+r,r-rcZ_anonymous_rUrW�IFNAMSIZr�r@r.r.r.r/r�zsr�c@s,eZdZdZdejefde�e�fgZ	dS)�
IfReqSsetInforr��infoN)
r+r,r-rcrUrWr�r�ror@r.r.r.r/r��sr�c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�EthtoolFeaturesListcCs�i|_||_tt|jd�|_|j|_|jj|_d}x6t	|�D]*\}}|d}d|d>}||f|j|<q<Wx0|r�|d8}|j|j
|j|_
d|j|_qlWdS)N)rSr�rrr)�_offsetsZ_cmdr��ETHTOOL_SFEATURESr��_cmd_setr��
_gfeatures�
_sfeatures�	enumerater~r�)r5rS�
stringsset�	feature_i�ir;�flag_bitr.r.r/r?�s
zEthtoolFeaturesList.__init__cCs"|j|\}}|j|j|@dkS)Nr)r�r�r|)r5r;r�r�r.r.r/�is_available�sz EthtoolFeaturesList.is_availablecCs"|j|\}}|j|j|@dkS)Nr)r�r�r~)r5r;r�r�r.r.r/�	is_active�szEthtoolFeaturesList.is_activecCs"|j|\}}|j|j|@dkS)Nr)r�r�r})r5r;r�r�r.r.r/�is_requested�sz EthtoolFeaturesList.is_requestedcCs"|j|\}}|j|j|@dkS)Nr)r�r�r)r5r;r�r�r.r.r/�is_never_changed�sz$EthtoolFeaturesList.is_never_changedccs>x8|jD].}|j|\}}||�|�|�|�||fVqWdS)N)r��	get_valuer�)r5r;r�r�r.r.r/rJ�szEthtoolFeaturesList.__iter__cCs
|j��S)N)r�rO)r5r.r.r/rO�szEthtoolFeaturesList.keyscCs
||jkS)N)r�)r5r;r.r.r/rP�sz EthtoolFeaturesList.__contains__cCs
|�|�S)N)r�)r5rEr.r.r/rF�szEthtoolFeaturesList.__getitem__cCs|�||�S)N)�	set_value)r5rErGr.r.r/rH�szEthtoolFeaturesList.__setitem__cCs
|�|�S)N)r�)r5r;r.r.r/r��szEthtoolFeaturesList.get_valuecCs�|dkrtd��|j|\}}|rL|j|j|O_|j|j|O_n0|j|j|dAM_|j|j|dAM_|j|j|O_dS)N)rrTFzNeed a boolean valuel��)�
ValueErrorr�r�r~r�r�)r5r;rGr�r�r.r.r/r��szEthtoolFeaturesList.set_valueN)r+r,r-r?r�r�r�r�rJrOrPrFrHr�r�r.r.r.r/r��sr�c@s�eZdZd(dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Ze	ddfdd�Z
dd�Zdd�Zdd�Z
edd��Zedd��Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�ZdS))�IoctlEthtoolNcCs:t�tjtj�|_d|_d|_d|_|dk	r6|�|�dS)N)�socket�AF_INET�
SOCK_DGRAM�sock�ifname�ifreq�
stat_names�
change_ifname)r5r�r.r.r/r?�szIoctlEthtool.__init__cCs|j��dS)N)r��close)r5r.r.r/r��szIoctlEthtool.closecCsLt|d�|_|j�dtt|j��t�|_tjt|j�|j_	d|_
dS)Nzutf-8�)�	bytearrayr��extendr�rsr�r�rUrWr�r�)r5r�r.r.r/r��s
zIoctlEthtool.change_ifnamec
Cs�yt�|jt|j�rt��Wn^tk
rz}z@|jtjkrLt|j	�
d���n|jtjkrht|j	�
d����Wdd}~XYnXdS)Nzutf-8)
�fcntl�ioctlr��SIOCETHTOOLr�r0�OSError�errno�ENOTSUPr��decodeZENODEVr1)r5�er.r.r/r��s
zIoctlEthtool.ioctlcCsv|js|jtd�|_tt|j��td�}t�t�|�t�	d��|j
_|��t|j�t|j
�ksdt�tt|j|j
��S)z'Statistics in raw format, without names)�set_id)rSN)r��
get_stringset�ETH_SS_STATSr�rs�ETHTOOL_GSTATSrU�cast�pointerr�r�r�r�rn�AssertionError�list�zip)r5r�r.r.r/�get_statistics�szIoctlEthtool.get_statisticscCsVttdd|>d�}t�}tjt|j�|_t�|�|_	t
�|jt
|�|jsPt�|jS)Nrr)rSrbrp)ro�ETHTOOL_GSSET_INFOr�rUrWr�r�r�r�r�r�r�r�r�rpr�rn)r5r�r�Z
ifreq_ssetr.r.r/�get_stringset_lengths
z!IoctlEthtool.get_stringset_lengthrrcCs�|�|�}t|�}|t||d�}t�t�|�t�d��|j_|�	�g}xTt
|�D]H}d}	x4t
t�D](}
|j||
}|dkr�P|	t
|�7}	qdW|�|	�qRW|S)N)rSrrrs�r)r�rz�ETHTOOL_GSTRINGSrUr�r�r�r�r�r��rangervrt�chr�append)r5r�Zdrvinfo_offsetZnull_terminaterwZEthtoolGstringsTyper�Z
strings_foundr��buf�j�coder.r.r/r�s"
zIoctlEthtool.get_stringsetcCsF|jtd�}t�}t|_tt|��|_t�	|�|j
_|��t
||�S)N)r�)r��ETH_SS_FEATURESr��ETHTOOL_GFEATURESrSr�rsr�rUr�r�r�r�r�)r5r�rSr.r.r/�get_features(szIoctlEthtool.get_featurescCst�|j�|j_|��S)N)rUr�r�r�r�r�)r5r�r.r.r/�set_features1szIoctlEthtool.set_featurescCs$ttd�}t�|�|j_|��|S)N)rS)rY�ETHTOOL_GSETrUr�r�r�r�)r5rSr.r.r/�get_cmd5s
zIoctlEthtool.get_cmdccsJxDtD]<}|jd}|jd}|t|�kr,q||d|>@r|VqWdS)Nrr)rZ	bit_indexrs)Zmap_bits�bitZmap_iZmap_bitr.r.r/�get_link_mode_bits;s


zIoctlEthtool.get_link_mode_bitscCs�g}g}g}d}x&||jkr6|�|j|�|d7}qWx*||jdkrb|�|j|�|d7}q:Wx*||jdkr�|�|j|�|d7}qfW|||fS)Nrrr!rg)rfr�ri)�ecmdZ
map_supportedZmap_advertisingZmap_lp_advertisingr�r.r.r/�get_link_mode_masksFsz IoctlEthtool.get_link_mode_maskscCslt�}t|_t�|�|j_|��|jdks6|jtkr<t	��|j|_|��|jdksb|jtkrht	��|S)Nr)
re�ETHTOOL_GLINKSETTINGSrSrUr�r�r�r�rfr0)r5r�r.r.r/�get_link_settingsXs




zIoctlEthtool.get_link_settingscCs$ttd�}t�|�|j_|��|S)N)rS)rl�ETHTOOL_GCOALESCErUr�r�r�r�)r5rSr.r.r/�get_coalescexs
zIoctlEthtool.get_coalescecCs t|_t�|�|j_|��dS)N)�ETHTOOL_SCOALESCErSrUr�r�r�r�)r5r�r.r.r/�set_coalesce~szIoctlEthtool.set_coalescecCs$ttd�}t�|�|j_|��|S)N)rS)rR�ETHTOOL_GWOLrUr�r�r�r�)r5rSr.r.r/�get_wol�s
zIoctlEthtool.get_wolcCs$ttd�}t�|�|j_|��|S)N)rS)r��ETHTOOL_GRINGPARAMrUr�r�r�r�)r5rSr.r.r/�	get_rings�s
zIoctlEthtool.get_ringscCs t|_t�|�|j_|��dS)N)�ETHTOOL_SRINGPARAMrSrUr�r�r�r�)r5r�r.r.r/�	set_rings�szIoctlEthtool.set_rings)N)r+r,r-r?r�r�r�r�r�r�r�r�r�r��staticmethodr�r�r�r�r�r�r�r�r.r.r.r/r��s$
		 r�)[rUr�r�r�Zpyroute2.ethtool.commonrr�r�r�r�r�r�r�ZETHTOOL_GFLAGSr�r�r�r�r�rvr�r�ZETHTOOL_GRXCSUMZETHTOOL_SRXCSUMZETHTOOL_GTXCSUMZETHTOOL_STXCSUMZETHTOOL_GSGZETHTOOL_SSGZETHTOOL_GTSOZETHTOOL_STSOZETHTOOL_GUFOZETHTOOL_SUFOZETHTOOL_GGSOZETHTOOL_SGSOZETHTOOL_GGROZETHTOOL_SGROrXr�r�ZETH_FLAG_RXCSUMZETH_FLAG_TXCSUMZETH_FLAG_SGZETH_FLAG_TSOZETH_FLAG_UFOZETH_FLAG_GSOZETH_FLAG_GROZETH_FLAG_TXVLANZETH_FLAG_RXVLANZETH_FLAG_LROZETH_FLAG_NTUPLEZETH_FLAG_RXHASHZETH_FLAG_EXT_MASKZ	SCHAR_MAXrkZWAKE_PHYZ
WAKE_UCASTZ
WAKE_MCASTZ
WAKE_BCASTZWAKE_ARPZ
WAKE_MAGICZWAKE_MAGICSECUREZWAKE_FILTERZ
WAKE_NAMES�	Exceptionr*r0r1ryr2rRrYrerlrmrorzr{r�r�r�r�r�r�r�r��Unionr�r�r�r�r�r.r.r.r/�<module>s� 	K
	N