File: //usr/lib/python3/dist-packages/cloudinit/net/__pycache__/network_state.cpython-39.pyc
a
��`� � @ sx d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ e�e �Z
dZg d�Zdg d�iZ
g d�Zdd d
ddd
dddddddddd�dddddddddddd �d!�ZdMd#d$�ZdNd%d&�Zd'd(� Zd)d*� ZG d+d,� d,e�Zd-d.� ZG d/d0� d0e�ZG d1d2� d2e�ZG d3d4� d4ed5�Zd6d7� ZdOd9d:�Zd;d<� Zd=d>� Zd?d@� Z dAdB� Z!dCdD� Z"dEdF� Z#dGdH� Z$dIdJ� Z%dKdL� Z&dS )P� N)�safeyaml)�util� )�dhcp6Z
ipv6_slaaczipv6_dhcpv6-statelesszipv6_dhcpv6-stateful��version�config�
network_state)� addresses�dhcp4�dhcp4-overridesr �dhcp6-overrides�gateway4�gateway6�
interfaces�match�mtu�nameservers�renderer�set-name� wakeonlan� accept-raz ad-selectzarp-intervalz
arp-ip-targetzarp-validatez
down-delayzfail-over-mac-policyz lacp-ratezmii-monitor-intervalz min-links�mode�gratuitious-arpZprimaryzprimary-reselect-policyzup-delayztransmit-hash-policy)zbond-ad-selectzbond-arp-intervalzbond-arp-ip-targetzbond-arp-validatezbond-downdelayzbond-fail-over-maczbond-lacp-ratezbond-miimonzbond-min-linksz bond-modezbond-num-grat-arpzbond-primaryzbond-primary-reselectzbond-updelayzbond-xmit-hash-policyzageing-time�priorityz
forward-delayz
hello-timezmax-agez path-costz
port-priority�stp)Z
bridge_ageingZbridge_bridgeprioZ bridge_fdZbridge_gcintZbridge_helloZ
bridge_maxageZbridge_maxwaitZbridge_pathcostZbridge_portprio�
bridge_stpZbridge_waitport)�bond�bridgeTc C sT d}| � d�}| � d�}|dkr$| }|rP|durPt||d�}|j|d� |�� }|S )zfParses the config, returns NetworkState object
:param net_config: curtin network config dict
Nr r � �r r ��skip_broken)�get�NetworkStateInterpreter�parse_config�get_network_state)�
net_configr"