관리-도구
편집 파일: freebsd.cpython-39.opt-1.pyc
a '�Dg� � @ sV d dl Z d dlZd dlmZmZmZmZ e �e�Z G dd� dejj j�Zddd�Z dS )� N)�distros�net�subp�utilc s@ e Zd Zd � fdd� Zdd� Zdd� Zdd d �Zdd� Z� ZS )�RendererNc s d| _ tt| ��� d S )Nr )� _route_cpt�superr �__init__)�selfZconfig�� __class__� �9/usr/lib/python3.9/site-packages/cloudinit/net/freebsd.pyr s zRenderer.__init__c C s | � d| |� d S )Nzifconfig_%s_name)�set_rc_config_value)r Zcur_name�device_namer r r �rename_interface s zRenderer.rename_interfacec C s� | j �� D ]b\}}t|t�rPd|�d�|�d�f }|�d�}|r\|d| 7 }n|dkr\d}| �d| |� q | j�� D ]T\}}t|t�r�d|�d�|�d �f }|�d�}|r�|d| 7 }| �d | |� qxd S )Nzinet %s netmask %s�address�netmask�mtuz mtu %dZDHCPZ ifconfig_zinet6 %s/%d�prefixzifconfig_%s_ipv6)Zinterface_configurations�items� isinstance�dict�getr Zinterface_configurations_ipv6)r r �vZ net_configr r r r �write_config s0 � � �zRenderer.write_configFc C s� |st �d� d S | �� D ]}tjj�|tjj � qt j g d�dd� t j g d�dddgd� | �� D ]}tjj�|tjj � qfd S ) Nz!freebsd generate postcmd disabled)�serviceZnetif�restartT)�capture)r Zroutingr r � )r Zrcs)�LOG�debugZdhcp_interfacesr ZdhcpZIscDhclientZstop_servicer ZfreebsdZDistror Z start_service)r �runZdhcp_interfacer r r �start_services. s ��zRenderer.start_servicesc C s� |dkr| � d|� n�|dkr,| � d|� n�d| j� �}d|v r�d|� d|� d |� �}| � d | |� | j� d |� �| _| � d| j�� � nJd|� d|� d |� �}| � d | |� | j� d |� �| _| � d| j�� � | jd7 _d S )Nz0.0.0.0Z defaultrouterz::Zipv6_defaultrouterr �:z-net �/� Zipv6_route_Zipv6_static_routesz -netmask Zroute_Z static_routesr )r r Zroute6_names�stripZroute_names)r �networkr ZgatewayZ route_nameZ route_cmdr r r � set_routeH s&