3 \me# @ s d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm Z m Z d dlmZm Z mZmZmZ ejeZdZG dd dZG d d d ZdS ) N)defaultdict) lru_cache)IPv4Address IPv4Interface IPv6Interface)DictListOptionalTupleUnionz"([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}c @ sr e Zd ZdZdd ZeedddZeedddZeedd d Z eedddZ eedd dZdS )Ifstatez This class holds the parsed state of a BSD network interface. It is itself side-effect free. All methods with side-effects should be implemented on one of the ``BSDNetworking`` classes. c C sp || _ d| _i | _i | _d| _g | _g | _g | _d| _d| _ g | _ d | _d | _d | _ d | _g | _i | _g | _d S )Nr F)nameindexinetinet6upoptionsnd6flagsmtumetricgroupsdescriptionmediastatusmacmacsvlanmembers)selfr r /usr/lib/python3.6/ifconfig.py__init__ s$ zIfstate.__init__)returnc C s d| j kpd| jkS )NZloopbacklo)r r )r r r r! is_loopback0 s zIfstate.is_loopbackc C s0 d| j krdS | j g kr,| jr,d| jkr,dS dS )NZegressTZEthernetF)r r )r r r r! is_physical4 s zIfstate.is_physicalc C s d| j kS )NZbridge)r )r r r r! is_bridge= s zIfstate.is_bridgec C s d| j kS )NZlagg)r )r r r r! is_bondA s zIfstate.is_bondc C s d| j kp| ji kS )Nr )r r )r r r r! is_vlanE s zIfstate.is_vlanN)__name__ __module____qualname____doc__r" propertyboolr% r&