1 # ˆl–ß=¿JJj"Tâ‚ ÆÃp@S�ÿ ƒh¹Á¿Ä 1 $ ˆl–ß=¿J µ2ÛR‚œP-\l˜´oà „ _ÂÀÅ2Ö a '¡Dg„Sã@sòddlZddlZddlZddlZddlZddlmZddlmZddl m Z m Z m Z ddl mZmZmZddlmZe e¡Zgd¢Zgd¢Zgd ¢Zd d „Zd d „Zddd„Zdd„Ze  d¡dd„ƒZdd„ZGdd„dej ƒZ ddd„Z!dS)éN)Úsuppress)ÚOptional)Ú performanceÚsubpÚutil)Ú ParserErrorÚrendererÚsubnet_is_ipv6)Ú NetworkState)zpre-upÚupzpost-upÚdownzpre-downz post-down)Z bridge_ageingZbridge_bridgeprioZ bridge_fdZ bridge_gcinitZ bridge_helloZ bridge_maxageZbridge_maxwaitZ bridge_stp)ÚaddressÚnetmaskÚ broadcastÚnetworkÚmetricÚgatewayZ pointtopointZmediaÚmtuÚhostnameZ leasehoursZ leasetimeZvendorZclientZbootfileÚserverZhwaddrZproviderÚframeZnetnumZendpointÚlocalZttlcCs’g}gd¢}| ¡D]t\}}|dkr&q|dkrBd|d|df}|r||vrt|tƒrbd |¡}d|vrv| dd¡}| d  ||¡¡qt|ƒS) N) r rrrrZ pointopointrZscopeÚ dns_searchÚdns_nameserversrr z%s/%sÚprefixú Ú_ú-ú {0} {1})ÚitemsÚ isinstanceÚlistÚjoinÚreplaceÚappendÚformatÚsorted)ÚifaceÚsubnetÚcontentZ valid_mapÚkeyÚvalue©r,ú5/usr/lib/python3.9/site-packages/cloudinit/net/eni.pyÚ_iface_add_subnetAs     r.c Cs|dkr gSg}gd¢}gd¢}ddi}|ddvr>| d¡| ¡D]¶\}}t|tƒrh||rddnd }|rF||vrvqF|d kr |r ||krFt d |d ||¡qF||vrÎ|D]} | d  | ||¡| ¡¡q¬qFt|tƒrâd  |¡}| d  | ||¡|¡¡qFt |ƒS)Nr) ÚcontrolZ device_idZdriverÚindexÚinetÚmodeÚnameÚsubnetsÚtype)Úbridge_pathcostÚbridge_portprioZbridge_waitportÚ mac_addressÚ hwaddressr5)ÚbondÚbridgeÚ infinibandÚvlanZonZoffrzZNetwork config: ignoring %s device-level mtu:%s because ipv4 subnet-level mtu:%s provided.r3rr) r$rr ÚboolÚLOGZwarningr%Úgetr!r"r&) r'r0Úipv4_subnet_mtur)Z ignore_mapZmultiline_keysÚrenamesr*r+Úvr,r,r-Ú_iface_add_attrs_s<     û  rDFcCs˜|d}|d}|dkrd}n|dvr0d|}nd|}| ¡}| ||dœ¡djfi|¤Žd jfi|¤Žg}|r”| d ¡r”| d jfi|¤Ž¡|S) Nr3r/Úauto)Zhotplugzallow-z # control-)ÚfullnameÚcverbz{cverb} {fullname}ziface {fullname} {inet} {mode}r8z hwaddress {mac_address})ÚcopyÚupdater%r@r$)r'r0Úrender_hwaddressrFr/rGÚsubstÚlinesr,r,r-Ú_iface_start_entry›s þrMc sJd}| ¡D�] }| ¡}| d¡r&q | d¡}|d}|dkrÈ|d}| d¡s`tj ||¡}t |¡D]Z‰t ˆ¡} ‡fdd „| Dƒ} | D]4} t   | ¡ ¡} tj  | ¡} t || tj  | ¡| ƒqŽqjq |d k�r^|d} |  d¡sòtj || ¡} t | ¡D]^‰tˆd ƒ�}| ¡ ¡} Wdƒn1�s.0Ytj  ˆ¡}t || tj  |¡|ƒqüq |d k�r |dd…D](}||v�rŽd |i||<d||d <�qtq |dk�r|dd…\}}}||v�rÔd |i||<nd||v�ròtd||fƒ‚|||d<|||d<|}q |dk�rH|ddk�r2|d}n|d}|||d<q |tv�rd|d|||<q |tv�rª|||v�rˆg|||<||| d |dd…¡¡q | d¡�r\d||v�rÐi||d<|dk�rg||dd<|dd…D]}||dd |¡�qönD|dk�rg||dd<|dd…D]}||dd |¡�q