Viewing File: /usr/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<