HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/676643/root/lib/python3/dist-packages/netplan/__pycache__/netdef.cpython-310.pyc
o

ϐxeS-�@s�ddlmZddlmZmZddlmZmZGdd�d�ZGdd�d�Z	Gd	d
�d
�Z
Gdd�d�ZGd
d�d�ZGdd�d�Z
edd�Gdd�d��ZGdd�d�ZdS)�)�	dataclass�)�ffi�lib)�_string_realloc_call_no_error�NetplanExceptionc	@s�eZdZdd�Zdddefdd�Zd;ded	ed
edefdd�Zed<dd��Z	edefdd��Z
edefdd��Zed=dd��Zed>dd��Z
ed?dd��Zedefdd��Zedefdd ��Zedefd!d"��Zedefd#d$��Zedefd%d&��Zedefd'd(��Zedefd)d*��Zedefd+d,��Zedefd-d.��Zedefd/d0��Zedefd1d2��Zedefd3d4��Zedefd5d6��Zedefd7d8��Zedefd9d:��ZdS)@�
NetDefinitioncCs||_||_dS�N)�_ptr�_parent)�self�np_state�ptr�r�0/usr/lib/python3/dist-packages/netplan/netdef.py�__init__s
zNetDefinition.__init__�other�returncCst|d�sdS|j|jkS)Nr
F)�hasattrr
)rrrrr�__eq__s
zNetDefinition.__eq__N�
iface_name�iface_driver�	iface_macc	CsJtt�|j|r|�d�ntj|r|�d�ntj|r |�d���Stj��S�N�utf-8)�boolr�netplan_netdef_match_interfacer
�encoder�NULL)rrrrrrr�_match_interface"s��zNetDefinition._match_interface�_NetdefAddressIteratorcC�
t|j�Sr	)r r
�rrrr�	addresses)�
zNetDefinition.addressescC�tt�|j��Sr	)rr�netplan_netdef_get_dhcp4r
r"rrr�dhcp4-�zNetDefinition.dhcp4cCr%r	)rr�netplan_netdef_get_dhcp6r
r"rrr�dhcp61r(zNetDefinition.dhcp6�_NetdefNameserverIteratorcCr!r	)r+r
r"rrr�nameserver_addresses5r$z"NetDefinition.nameserver_addresses�_NetdefSearchDomainIteratorcCr!r	)r-r
r"rrr�nameserver_search9r$zNetDefinition.nameserver_search�_NetdefRouteIteratorcCr!r	)r/r
r"rrr�routes=r$zNetDefinition.routesc�t�fdd��S)Nc�t��j|t|��Sr	)r�netplan_netdef_get_macaddressr
�len��br"rr�<lambda>C�z*NetDefinition.macaddress.<locals>.<lambda>�rr"rr"r�
macaddressAr(zNetDefinition.macaddresscCr%r	)rr�netplan_netdef_has_matchr
r"rrr�
_has_matchEr(zNetDefinition._has_matchcr1)Ncr2r	)r�netplan_netdef_get_set_namer
r4r5r"rrr7Kr8z(NetDefinition.set_name.<locals>.<lambda>r9r"rr"r�set_nameIr(zNetDefinition.set_namecCr%r	)rr�_netplan_netdef_get_criticalr
r"rrr�criticalMr(zNetDefinition.criticalcCs�t�}t�|j�}rt|j|�|d<t�|j�}r#t|j|�|d<t�|j�}r3t|j|�|d<t�|j�}rCt|j|�|d<t�	|j�}rSt|j|�|d<|S)N�sriov�vlan�bridge�bond�peer)
�dictr�netplan_netdef_get_sriov_linkr
rr�netplan_netdef_get_vlan_link�netplan_netdef_get_bridge_link�netplan_netdef_get_bond_link�netplan_netdef_get_peer_link)r�d�
sriov_link�	vlan_link�bridge_link�	bond_link�	peer_linkrrr�linksQszNetDefinition.linkscCst�|j�}|tjkr
dS|Sr	)r�_netplan_netdef_get_vlan_idr
�UINT_MAX)r�vlan_idrrr�_vlan_ides
zNetDefinition._vlan_idcCr%r	)rr�%_netplan_netdef_get_sriov_vlan_filterr
r"rrr�_has_sriov_vlan_filterlr(z$NetDefinition._has_sriov_vlan_filtercC�t�t�t�|j����d�Sr)r�stringr�netplan_backend_name�netplan_netdef_get_backendr
�decoder"rrr�backendp�zNetDefinition.backendcCrYr)rrZr�netplan_def_type_name�netplan_netdef_get_typer
r]r"rrr�typetr_zNetDefinition.typecr1)Ncr2r	)r�netplan_netdef_get_idr
r4r5r"rrr7zr8z"NetDefinition.id.<locals>.<lambda>r9r"rr"r�idxr(zNetDefinition.idcr1)Ncr2r	)r�netplan_netdef_get_filepathr
r4r5r"rrr7~r8z(NetDefinition.filepath.<locals>.<lambda>r9r"rr"r�filepath|r(zNetDefinition.filepathcr1)Ncr2r	)r�(_netplan_netdef_get_embedded_switch_moder
r4r5r"rrr7�r8z5NetDefinition._embedded_switch_mode.<locals>.<lambda>r9r"rr"r�_embedded_switch_mode�r(z#NetDefinition._embedded_switch_modecCr%r	)rr�1netplan_netdef_get_delay_virtual_functions_rebindr
r"rrr�_delay_virtual_functions_rebind�r(z-NetDefinition._delay_virtual_functions_rebindcsJt�d�}t�|jj|j|�}|dkr#|d�t�fdd��}t|��|S)NzNetplanError **rcst��|t|��Sr	)r�netplan_error_messager4r5��errrrr7�sz)NetDefinition._vf_count.<locals>.<lambda>)r�newr�#_netplan_state_get_vf_count_for_defrr
rr)r�ref�count�msgrrlr�	_vf_count�s
zNetDefinition._vf_countcCr%)z�
        Returns True if the interface is a compound interface (bond or bridge),
        and its configuration is trivial, without any variation from the defaults.
        )rr�'_netplan_netdef_is_trivial_compound_itfr
r"rrr�_is_trivial_compound_itf�sz&NetDefinition._is_trivial_compound_itf)NNN)rr )rr+)rr-)rr/) �__name__�
__module__�__qualname__rrr�strr�propertyr#r'r*r,r.r0r:r<r>r@rFrR�intrVrXr^rbrdrfrhrjrsrurrrrrs\	rc@s4eZdZddefdd�Zdd�Zdd�Zd	d
�ZdS)�NetDefinitionIteratorN�dev_typecCs.||_|r
|�d�ntj}t�|j|�|_dSr)r
rrrr�&_netplan_state_new_netdef_pertype_iterr
�iterator)rr
r}�np_typerrrr�szNetDefinitionIterator.__init__cC�t�|j�dSr	)r�!_netplan_netdef_pertype_iter_freerr"rrr�__del__��zNetDefinitionIterator.__del__cC�|Sr	rr"rrr�__iter__��zNetDefinitionIterator.__iter__cCs t�|j�}|s
t�t|j|�Sr	)r�!_netplan_netdef_pertype_iter_nextr�
StopIterationrr
�r�
next_valuerrr�__next__�szNetDefinitionIterator.__next__r	)rvrwrxryrr�r�r�rrrrr|�s
r|c@s0eZdZdededefdd�Zdefdd�Zd	S)
�NetplanAddress�address�lifetime�labelcCs||_||_||_dSr	)r�r�r�)rr�r�r�rrrr�s
zNetplanAddress.__init__rcCs|jSr	)r�r"rrr�__str__�szNetplanAddress.__str__N)rvrwrxryrr�rrrrr��sr�c@�2eZdZdefdd�Zdd�Zdd�Zdd	�Zd
S)r �netdefcC�||_t�|�|_dSr	)r�r� _netplan_netdef_new_address_iterr�rr�rrrr��z_NetdefAddressIterator.__init__cCr�r	)r�_netplan_address_iter_freerr"rrrr��r�z_NetdefAddressIterator.__del__cCr�r	rr"rrrr��r�z_NetdefAddressIterator.__iter__cCsxt�|j�}|s
t�|}|jrt�|j��d�nd}|jr&t�|j��d�nd}|j	r4t�|j	��d�nd}t
|||�Sr)r�_netplan_address_iter_nextrr�r�rrZr]r�r�r�)rr��contentr�r�r�rrrr��sz_NetdefAddressIterator.__next__N�rvrwrxrrr�r�r�rrrrr ��
r c@r�)r+r�cCr�r	)r�r�#_netplan_netdef_new_nameserver_iterrr�rrrr�r�z"_NetdefNameserverIterator.__init__cCr�r	)r�_netplan_nameserver_iter_freerr"rrrr��r�z!_NetdefNameserverIterator.__del__cCr�r	rr"rrrr��r�z"_NetdefNameserverIterator.__iter__cC�$t�|j�}|s
t�t�|��d�Sr)r�_netplan_nameserver_iter_nextrr�rrZr]r�rrrr���z"_NetdefNameserverIterator.__next__Nr�rrrrr+�r�r+c@�,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r-cCr�r	)r�r�&_netplan_netdef_new_search_domain_iterrr�rrrr�r�z$_NetdefSearchDomainIterator.__init__cCr�r	)r� _netplan_search_domain_iter_freerr"rrrr��r�z#_NetdefSearchDomainIterator.__del__cCr�r	rr"rrrr��r�z$_NetdefSearchDomainIterator.__iter__cCr�r)r� _netplan_search_domain_iter_nextrr�rrZr]r�rrrr��r�z$_NetdefSearchDomainIterator.__next__N�rvrwrxrr�r�r�rrrrr-��
r-T)�unsafe_hashc@s�eZdZUejZdZdZee	d<dZ
ee	d<dZee	d<dZee	d<dZ
ee	d	<dZee	d
<eZee	d<dZee	d
<eZee	d<dZee	d<dZee	d<dZee	d<dZee	d<dd�Zdd�ZdS)�NetplanRouterN�to�via�	from_addr�unicastrb�global�scope�protocol�table����family�metric�mtubytes�congestion_window�advertised_receive_windowF�onlinkcCs�d}|jr
||j}|jr|d|j��}|jr |d|j��}|jr+|d|j��}|jr6|d|j��}|j|jkrD|d|j��}|j|jkrR|d|j��}|�	�S)N�z via z type z scope z src z metric z table )
r�r�rbr�r�r��_METRIC_UNSPEC_r��_TABLE_UNSPEC_�strip�r�routerrrr�s 
zNetplanRoute.__str__cCs�i}|jdkr|j|d<|jr|j|d<|jr|j|d<|jr$|j|d<|j|jkr/|j|d<|j|jkr:|j|d<|j|d<|S)	Nrr�r�r��fromr�r�rb)	r�r�r�r�r�r�r�r�rbr�rrr�to_dicts







zNetplanRoute.to_dict)rvrwrxrrTr�r�r�ry�__annotations__r�r�rbr�r�r�r{r�r�r�r�r�r�rr�r�rrrrr��s$
r�c@r�)
r/cCr�r	)r�r�_netplan_netdef_new_route_iterrr�rrrr/r�z_NetdefRouteIterator.__init__cCr�r	)r�_netplan_route_iter_freerr"rrrr�3r�z_NetdefRouteIterator.__del__cCr�r	rr"rrrr�6r�z_NetdefRouteIterator.__iter__cCs�t�|j�}|s
t�t|d�}|jrt�|j��d�nd|j	r(t�|j	��d�nd|r3t�|��d�nd|j
r@t�|j
��d�nd|jrMt�|j��d�ndd|j|j
|j|j|j|j|jd�
}tdi|��S)Nr�r)
r�r�r�rbr�r�r�r�r�r�r�r�r�r)r�_netplan_route_iter_nextrr��getattrr�rrZr]r�rbr�r�r�r�r�r�r�r�r�)rr�r�r�rrrr�9s&
�z_NetdefRouteIterator.__next__Nr�rrrrr/.r�r/N)�dataclassesr�
_netplan_cffirr�_utilsrrrr|r�r r+r-r�r/rrrr�<module>s
8