
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
\me
                 @   s:   d dl mZ d dljjZd dlmZ G dd dejZdS )    )OptionalN)subpc               @   s   e Zd Zedeee dddZedeee dddZedddeeee ee dd	d
ZeeeedddZ	edddeeee ee dddZ
eedddZeeeedddZeeedddZdS )Iproute2N)	interfacefamilyc             C   s.   t j dg|rd|gng  ddd| dg  d S )Nipz-familylinksetdevZup)r   )r   r    r   /usr/lib/python3.6/iproute2.pylink_up   s    zIproute2.link_upc             C   s.   t j dg|rd|gng  ddd| dg  d S )Nr   z-familyr   r	   r
   Zdown)r   )r   r   r   r   r   	link_down   s    zIproute2.link_down)gatewaysource_address)r   router   r   c            C   sH   t j dddd|g|r$|dkr$d|gng  d| g |r<d|gng   d S )	Nr   z-4r   addz0.0.0.0viar
   src)r   )r   r   r   r   r   r   r   	add_route   s    zIproute2.add_route)r   addressr   c             C   s8   t j dddd|g|r$|dkr$d|gng  d| g  d S )Nr   z-4r   appendz0.0.0.0r   r
   )r   )r   r   r   r   r   r   append_route*   s    zIproute2.append_route)r   r   r   r   c            C   sH   t j dddd|g|r$|dkr$d|gng  d| g |r<d|gng   d S )	Nr   z-4r   delz0.0.0.0r   r
   r   )r   )r   r   r   r   r   r   r   	del_route2   s    zIproute2.del_route)returnc               C   s   t j ddddgjS )Nr   r   Zshowz	0.0.0.0/0)r   stdoutr   r   r   r   get_default_routeA   s    zIproute2.get_default_route)r   r   	broadcastc             C   s*   t j ddddd|d|d| g
dd	id
 d S )Nr   z-familyinetaddrr   r   r
   ZLANGC)Z
update_env)r   )r   r   r   r   r   r   add_addrG   s    zIproute2.add_addr)r   r   c          	   C   s   t j ddddd|d| g d S )Nr   z-familyr   r    r   r
   )r   )r   r   r   r   r   del_addrY   s    zIproute2.del_addr)N)N)__name__
__module____qualname__staticmethodstrr   r   r   r   r   r   r   r"   r#   r   r   r   r   r      s$   $$	r   )	Ztypingr   Zcloudinit.net.netopsZnetZnetopsZ	cloudinitr   ZNetOpsr   r   r   r   r   <module>   s   