
"T`                 @   s&   d  d l  m Z m Z d d   Z d S)    )net_prefix_to_ipv4_maskmask_and_ipv4_to_bcast_addrc             C   s  g  } xm |  j    D]_ } | j   } | s | j d  r> q | j d  d  } t |  d k re q | j |  q Wg  } i  } xP | D]H \ } } | d k r | r | j |  i  } | | | <q | | | <q Wd } x, | j   D] \ } } | d k r d } q W| r| j |  i  }	 x| D]}
 d |
 k r?q*|
 d j d   } d } d | k rjd } d  } t |  d k r| d j   j   } | r| } | sq*i  } i  | d <t |  d	 k r| d
 j   j   } | d k r| | d <| rQxd d g D]< } | |
 k r|
 | j   j   } | r| | d | <qWnmxL d d d d g D]8 } | |
 k rd|
 | j   j   } | rd| | | <qdWd | k rd | k r| d j d  \ } } } | rt	 |  | d <| | d <t
 | d |  | d <d |
 k r+|
 d j   | d <d |
 k rK|
 d j   | d <d |
 k r|
 d j   j   } | j d  d  } t |  d
 k r| d j d  r| d } | r| | d <| |	 k r|	 | j |  q*| |	 | <q*Wx | D] \ } } | j d   } | sq| d j   j   } | d k rS| |	 k rSd |	 | d <| d k rd | k rd |	 | d <qW|	 S)N#   ZifaceFTZinet6r   Zipv6      dhcpstaticZ	bootprotoZaddressZgatewayZnetmaskZ	broadcast/zdns-nameserversz
dns-searchZ	hwaddressZetherZauto)r   r	   )
splitlinesstrip
startswithsplitlenappenditemslower	partitionr   r   update)ZsettingsentrieslineZsplit_upZifacesZconsumecmdargsZabsorbZreal_ifacesinfoZiface_detailsZuse_ipv6Zdev_nameZdevZ
iface_infoZ
proto_typekvalZaddr_prefixZhw_infoZhw_splitZhw_addr r   </usr/lib/python3/dist-packages/cloudinit/distros/net_util.pytranslate_networkJ   s    



%

r    N)Zcloudinit.net.network_stater   r   r    r   r   r   r   <module>F   s   