Current File : //lib/python2.7/site-packages/cloudinit/netinfo.pyc |
�
oB�]c @ s� d d l m Z m Z d d l Z d d l m Z d d l m Z d d l m Z d d l m
Z
e j � Z i g d 6g d 6d d
6e
d 6Z d � Z d
� Z d d � Z d � Z d � Z d � Z d � Z d � Z d d � Z d S( i����( t copyt deepcopyN( t log( t net_prefix_to_ipv4_mask( t util( t SimpleTablet ipv4t ipv6t t hwaddrt upc C sr i } d } x_t | j � � D]K\ } } t j d | � } | r� | j d � j � j d � d } | j d � j d � } i g d 6g d 6d d
6t d | k o� d | k � d
6| | <q d | k rt j d | � } | s� t j
d | | � q n | | d j | j � � q d | k r�t j d | � } | sVt j
d | | � q n | j � } | j
d � } | j d � \ } }
} | s�d } n | | d j i | d 6| d r�| d n d d 6t | � d 6| d d 6� q d | k r t j d | � } | s't j
d | | � q n | j d � d k rV| j d
� | | d
<qjd | | d
<q q q W| S( s1
Get network device dicts from ip route and ip link info.
@param ipaddr_out: Output string from 'ip addr show' command.
@returns: A dict of device info keyed by network device name containing
device configuration values.
@raise: TypeError if ipaddr_out isn't a string.
s. ^\d+:\s(?P<dev>[^:]+):\s+<(?P<flags>\S+)>\s+.*t devt @i t flagst ,R R R R t UPt LOWER_UPR
t inet6s/ \s+inet6\s(?P<ip>\S+)\sscope\s(?P<scope6>\S+).*s* Could not parse ip addr show: (line:%d) %st inetsH \s+inet\s(?P<cidr4>\S+)(\sbrd\s(?P<bcast>\S+))?\sscope\s(?P<scope>\S+).*t cidr4t /t 32t ipt bcastt maskt scopet links- \s+link/(?P<link_type>\S+)\s(?P<hwaddr>\S+).*t link_typet etherN( t Nonet enumeratet
splitlinest ret matcht groupt lowert splitt boolt LOGt warningt appendt groupdictt popt partitionR ( t
ipaddr_outt devst dev_namet numt linet mR
R! R t addrt _t prefix( ( s5 /usr/lib/python2.7/site-packages/cloudinit/netinfo.pyt _netdev_info_iproute s`
")
c C s� i } x�| j � D]�} t | � d k r1 q n | d d k r� | j � d } | j d � rm | d } n | | k r� t t � | | <q� n | j � j � j � } | d d k r� t | | d <n<