IO-APIC WˆÏ× „œÖ¾Ô1MWa '¡Dg>+ã@s¢ddlZddlZddlZddlmZmZmZmZddlm Z ddl m Z e  e ¡ZeZeZGdd„dejd�ZGdd „d eƒZGd d „d eƒZGd d „d eƒZdS)éN)ÚnetÚ performanceÚsubpÚutil)Úifconfig)ÚIproute2c@sÌeZdZdZedœdd„Zddœeddœdd „Zej e dd œd d „ƒZ e d œdd„Z e d œdd„Ze ed œdd„Zdd„Zddœedœdd„Zedœdd„Zedœdd„Ze edœdd „Ze d œd!d"„Zedœd#d$„Zedœd%d&„Ze d œd'd(„Zdd)œe eed*œd+d,„Ze ed-œd.d/„Ze ed-œd0d1„Zej e ed-œd2d3„ƒZe ed-œd4d5„Ze ed-œd6d7„Ze ed-œd8d9„Z e ed-œd:d;„Z!ej dd<œddœd=d>„ƒZ"d?d)œe edd@œdAdB„Z#ej e ed-œdCdD„ƒZ$dS)EÚ NetworkingaThe 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 CONTRIBUTING.rst for full details. ©ÚreturncCst ¡S©N)rÚ_get_current_rename_info©Úself©rú@/usr/lib/python3.9/site-packages/cloudinit/distros/networking.pyr sz#Networking._get_current_rename_infoN©Ú current_info)Úrenamesr cCstj||d�S)Nr)rÚ_rename_interfaces)rrrrrrrszNetworking._rename_interfaces©Únetcfgr cCsdS)z7Read the network config and rename devices accordingly.Nr©rrrrrÚapply_network_config_names sz%Networking.apply_network_config_names)ÚdevnamecCs t |¡Sr )rÚ device_devid©rrrrrr$szNetworking.device_devidcCs t |¡Sr )rÚ device_driverrrrrr'szNetworking.device_drivercCs t |¡Sr )rÚextract_physdevsrrrrr*szNetworking.extract_physdevscCst ¡Sr )rÚfind_fallback_nicr rrrr-szNetworking.find_fallback_nicF©Ú config_drivercCs tj|d�S)Nr)rÚgenerate_fallback_config)rr rrrr!0sz#Networking.generate_fallback_configcCst ¡Sr )rÚget_devicelistr rrrr"3szNetworking.get_devicelistcCst ¡Sr )rÚget_ib_hwaddrs_by_interfacer rrrr#6sz&Networking.get_ib_hwaddrs_by_interface)rÚethernet_formatcCs t ||¡Sr )rÚget_ib_interface_hwaddr)rrr$rrrr%9sz"Networking.get_ib_interface_hwaddrcCs t |¡Sr )rÚget_interface_macrrrrr&>szNetworking.get_interface_maccCst ¡Sr )rÚget_interfacesr rrrr'AszNetworking.get_interfacescCst ¡Sr )rÚget_interfaces_by_macr rrrr(Dsz Networking.get_interfaces_by_maccCs t |¡Sr )rÚ get_masterrrrrr)GszNetworking.get_master©Ústrict)rr+r cCstj||d�S)Nr*)rÚinterface_has_own_mac)rrr+rrrr,Jsz Networking.interface_has_own_mac©rr cCs t |¡Sr )rÚis_bondrrrrr.OszNetworking.is_bondcCs t |¡Sr )rÚ is_bridgerrrrr/RszNetworking.is_bridgecCsdS)z¡ Is ``devname`` a physical network device? Examples of non-physical network devices: bonds, bridges, tunnels, loopback devices. Nrrrrr