File: //usr/lib/python3/dist-packages/cloudinit/distros/parsers/__pycache__/ifconfig.cpython-38.pyc
U
Ӈg�# � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm Z m
Z
d dlmZm
Z
mZmZmZ e�e�ZG dd� d�ZG dd � d �ZdS )
� N)�defaultdict)� lru_cache)�IPv4Address�
IPv4Interface�
IPv6Interface)�Dict�List�Optional�Tuple�Unionc @ sr e Zd ZdZdd� Zeed�dd��Zeed�dd��Zeed�d d
��Z eed�dd��Z
eed�d
d��ZdS )�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)�name�index�inet�inet6�up�options�nd6�flags�mtu�metric�groups�description�media�status�mac�macs�vlan�members)�selfr
� r �D/usr/lib/python3/dist-packages/cloudinit/distros/parsers/ifconfig.py�__init__ s$ zIfstate.__init__)�returnc C s d| j kpd| jkS )NZloopback�lo)r r �r r r r! �is_loopback. 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_physical2 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 )NZlaggr( r% r r r! �is_bond? s zIfstate.is_bondc C s d| j kp| ji kS )Nr )r r r% r r r! �is_vlanC s zIfstate.is_vlanN)�__name__�
__module__�__qualname__�__doc__r"