403Webshell
Server IP : 23.254.227.96  /  Your IP : 216.73.216.7
Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64
User : viralblo ( 1001)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.6/site-packages/cloudinit/distros/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/cloudinit/distros/__pycache__/networking.cpython-36.pyc
3

��b��@s�ddlZddlZddlZddlmZmZddlmZmZm	Z	ej
e�Ze
ZeZGdd�dejd�ZGdd�de�ZGd	d
�d
e�ZdS)�N)�List�Optional)�net�subp�utilc@s�eZdZdZdd�Zed�dd�Zdd�edd	�d
d�Ze	dd�d
d�Z
ed�dd�Zed�dd�Z
e	ed�dd�Zdd�dd�Zddd�ed�dd�Zed�dd�Zed�d d!�Zeed"�d#d$�Zed�d%d&�Zed�d'd(�Zed�d)d*�Zed�d+d,�Zdd-�eeed.�d/d0�Zeed1�d2d3�Zeed1�d4d5�Zejeed1�d6d7��Zeed1�d8d9�Zeed1�d:d;�Z eed1�d<d=�Z!eed1�d>d?�Z"ejdd@�dd�dAdB��Z#dCd-�e	eddD�dEdF�Z$ejeed1�dGdH��Z%dS)I�
Networkingz�The root of the Networking hierarchy in cloud-init.

    This is part of an ongoing refactor in the cloud-init codebase, for more
    details see "``cloudinit.net`` -> ``cloudinit.distros.networking``
    Hierarchy" in HACKING.rst for full details.
    cCs
d|_dS)N)�blacklist_drivers)�self�r
� /usr/lib/python3.6/networking.py�__init__szNetworking.__init__)�returncCstj�S)N)r�_get_current_rename_info)r	r
r
rrsz#Networking._get_current_rename_infoN)�current_info)�renamesr
cCstj||d�S)N)r)r�_rename_interfaces)r	rrr
r
rrszNetworking._rename_interfaces)�netcfgr
cCs
tj|�S)N)r�apply_network_config_names)r	rr
r
rr"sz%Networking.apply_network_config_names)�devnamecCs
tj|�S)N)r�device_devid)r	rr
r
rr%szNetworking.device_devidcCs
tj|�S)N)r�
device_driver)r	rr
r
rr(szNetworking.device_drivercCs
tj|�S)N)r�extract_physdevs)r	rr
r
rr+szNetworking.extract_physdevs)rcCstj|d�S)N)r)r�find_fallback_nic)r	rr
r
rr.szNetworking.find_fallback_nicF)r�
config_driver)rcCstj||d�S)N)rr)r�generate_fallback_config)r	rrr
r
rr1sz#Networking.generate_fallback_configcCstj�S)N)r�get_devicelist)r	r
r
rr8szNetworking.get_devicelistcCstj�S)N)r�get_ib_hwaddrs_by_interface)r	r
r
rr;sz&Networking.get_ib_hwaddrs_by_interface)r�ethernet_formatcCstj||�S)N)r�get_ib_interface_hwaddr)r	rrr
r
rr>sz"Networking.get_ib_interface_hwaddrcCs
tj|�S)N)r�get_interface_mac)r	rr
r
rrCszNetworking.get_interface_maccCstj�S)N)r�get_interfaces)r	r
r
rr FszNetworking.get_interfacescCstj|jd�S)N)r)r�get_interfaces_by_macr)r	r
r
rr!Isz Networking.get_interfaces_by_maccCs
tj|�S)N)r�
get_master)r	rr
r
rr"NszNetworking.get_master)�strict)rr#r
cCstj||d�S)N)r#)r�interface_has_own_mac)r	rr#r
r
rr$Qsz Networking.interface_has_own_mac)rr
cCs
tj|�S)N)r�is_bond)r	rr
r
rr%VszNetworking.is_bondcCs
tj|�S)N)r�	is_bridge)r	rr
r
rr&YszNetworking.is_bridgecCsdS)z�
        Is ``devname`` a physical network device?

        Examples of non-physical network devices: bonds, bridges, tunnels,
        loopback devices.
        Nr
)r	rr
r
r�is_physical\szNetworking.is_physicalcCs
tj|�S)N)r�
is_renamed)r	rr
r
rr(eszNetworking.is_renamedcCs
tj|�S)N)r�is_up)r	rr
r
rr)hszNetworking.is_upcCs
tj|�S)N)r�is_vlan)r	rr
r
rr*kszNetworking.is_vlancCs
tj|�S)N)r�master_is_bridge_or_bond)r	rr
r
rr+nsz#Networking.master_is_bridge_or_bond)�existscCsdS)a�Wait for device population in the system to complete.

        :param exists:
            An optional optimisation.  If given, only perform as much of the
            settle process as is required for the given DeviceName to be
            present in the system.  (This may include skipping the settle
            process entirely, if the device already exists.)
        :type exists: Optional[DeviceName]
        Nr
)r	r,r
r
r�settleqszNetworking.settleT)rr#r
cCs�|j|�}tdd�|D��}t|j��}|j�j�}x�tdd�D]x}|j|�r\tjd�dS|j	|�}tjd|�x8|D]0}	||	}
dj
|
�}tjtj||j
d	|
id
�qxW|j�j�}q@Wd|}tj|�|r�t|��dS)a�Wait for all the physical devices in `netcfg` to exist on the system

        Specifically, this will call `self.settle` 5 times, and check after
        each one if the physical devices are now present in the system.

        :param netcfg:
            The NetworkConfig from which to extract physical devices to wait
            for.
        :param strict:
            Raise a `RuntimeError` if any physical devices are not present
            after waiting.
        cSsg|]}|d|df�qS)r�r
)�.0Zifacer
r
r�
<listcomp>�sz0Networking.wait_for_physdevs.<locals>.<listcomp>r�z*net: all expected physical devices presentNz)net: waiting for expected net devices: %szWaiting for settle or {} existsr,)�func�kwargsz-Not all expected physical devices present: %s)r�dict�set�keysr!�range�issubset�LOG�debug�
difference�formatrZlog_timer-Zwarning�RuntimeError)r	rr#ZphysdevsZexpected_ifacesZ
expected_macsZpresent_macs�_ZmissingZmacr�msgr
r
r�wait_for_physdevs}s.






zNetworking.wait_for_physdevscCsdS)z=Try setting the link to up explicitly and return if it is up.Nr
)r	rr
r
r�try_set_link_up�szNetworking.try_set_link_up)&�__name__�
__module__�__qualname__�__doc__rr4r�listr�
NetworkConfigr�
DeviceNamerrrr�boolrrrrrr r!r"r$r%r&�abc�abstractmethodr'r(r)r*r+r-r@rAr
r
r
rrsB

4r)�	metaclassc@sDeZdZdZeed�dd�Zdd�dd�dd	�Zeed�d
d�ZdS)�
BSDNetworkingz>Implementation of networking functionality shared across BSDs.)rr
cCs
t��dS)N)�NotImplementedError)r	rr
r
rr'�szBSDNetworking.is_physicalN)r,)r
cCsdS)z0BSD has no equivalent to `udevadm settle`; noop.Nr
)r	r,r
r
rr-�szBSDNetworking.settlecCs
t��dS)N)rN)r	rr
r
rrA�szBSDNetworking.try_set_link_up)	rBrCrDrErHrIr'r-rAr
r
r
rrM�srMc@s�eZdZdZeed�dd�Zeed�dd�Zeed�dd�Z	eed�d	d
�Z
eed�dd�Zeed�d
d�Zeed�dd�Z
dd�dd�dd�Zeed�dd�ZdS)�LinuxNetworkingzCImplementation of networking functionality common to Linux distros.)rr
cCs
tj|�S)N)r�get_dev_features)r	rr
r
rrP�sz LinuxNetworking.get_dev_featurescCs
tj|�S)N)r�has_netfail_standby_feature)r	rr
r
rrQ�sz+LinuxNetworking.has_netfail_standby_featurecCs
tj|�S)N)r�is_netfailover)r	rr
r
rrR�szLinuxNetworking.is_netfailovercCs
tj|�S)N)r�is_netfail_master)r	rr
r
rrS�sz!LinuxNetworking.is_netfail_mastercCs
tj|�S)N)r�is_netfail_primary)r	rr
r
rrT�sz"LinuxNetworking.is_netfail_primarycCs
tj|�S)N)r�is_netfail_standby)r	rr
r
rrU�sz"LinuxNetworking.is_netfail_standbycCstjjtj|d��S)NZdevice)�os�pathr,r�sys_dev_path)r	rr
r
rr'�szLinuxNetworking.is_physicalN)r,)r
cCs"|dk	rtj|�}tj|d�dS)N)r,)rrXrZudevadm_settle)r	r,r
r
rr-�s
zLinuxNetworking.settlecCstjddd|dg�|j|�S)z�Try setting the link to up explicitly and return if it is up.
        Not guaranteed to bring the interface up. The caller is expected to
        add wait times before retrying.Zip�linkr5Zup)rr))r	rr
r
rrA�szLinuxNetworking.try_set_link_up)rBrCrDrErH�strrPrIrQrRrSrTrUr'r-rAr
r
r
rrO�srO)rJZloggingrVZtypingrrZ	cloudinitrrrZ	getLoggerrBr9rZrHr4rG�ABCMetarrMrOr
r
r
r�<module>s
(

Youez - 2016 - github.com/yon3zu
LinuXploit