Current File : //usr/lib/python3.6/site-packages/sos/report/plugins/__pycache__/networking.cpython-36.pyc |
3
\��h�9 � @ sr d dl mZmZmZmZmZmZ d dlmZ d dl m
Z
G dd� de�ZG dd� dee�ZG dd � d eee�Z
d
S )� )�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate� PluginOpt)�UbuntuPolicy)�DebianPolicyc s� e Zd ZdZdZd(ZdZeddd e� �d
�edded
d�edde dd�edddd
�edddd
�gZ
dZdddddddgZdZ
� fd d!�Zd"d#� Zd$d%� Zd&d'� Z� ZS ))�
Networkingz,Network and networking devices configurationZ
networking�network�hardware�systemzwww.example.com�
tracerouteFzcollect a traceroute to )�default�descznamespace-pattern� zFSpecific namespace names or patterns to collect, whitespace delimited.)r Zval_typer �
namespacesNz0Number of namespaces to collect, 0 for unlimitedzethtool-namespacesTz;Toggle if ethtool commands should be run for each namespace�
eepromdumpz*Toggle collection of 'ethtool -e' for NICsz-W�tcp_diag�udp_diag� inet_diag� unix_diag�netlink_diag�af_packet_diag�xsk_diagZacdgiklmPSTc s t � j� | jddd�� | jdddddd d
ddd
ddddddddg� | jddddddg� | jdddd� | jdd d d!gd� | jd"� | jd#| j� d$�d%d&� | jd'd(d)d#| j� d*�d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<g� | jd=��r�| jd>d?d@dAdBdCdDdEg� | jdF�}|dG dHk�r�|dI j � }x�|D ]�� | jdJ� � �dK� � �dL� � �dM� � �g� g }| jdN� � ��}|dG dHk�r4x4|dI j � D ]$}|j
dO��r�|j|j� dP � �q�W | j� fdQdR�|D �� �q4W dS}t
| dTgdU�}| j||dVdW� | j� | j� d S )XNZbondZhosts)z/proc/net/bonding/bond.*z
/etc/hostsz
/etc/dnsmasq*z
/etc/host*z/etc/inetd.confz
/etc/iproute2z
/etc/network*z/etc/nsswitch.confz/etc/resolv.confz
/etc/gai.confz/etc/xinetd.confz
/etc/xinetd.dz/etc/yp.confz
/proc/net/z!/sys/class/net/*/device/numa_nodez/sys/class/net/*/flagsz/sys/class/net/*/statistics/z
/etc/nmstate/z/var/lib/lldpad/z
/etc/servicesz/proc/net/rpc/use-gss-proxyz/proc/net/rpc/*/channelz/proc/net/rpc/*/flushz
/proc/net/cdpz/sys/net/cdpz/proc/net/eiconz
ip -o addr�ip_addr)�root_symlinkZtagszip route show table allZip_routeZiproute_show_table_allZ
plotnetcfgznetstat z -neopa�netstat)r z
nstat -zasz
netstat -sz
netstat -s -6z -agnznetworkctl status -azip -6 route show table allzip -d route show cachezip -d -6 route show cachezip -4 rule listzip -6 rule listzip vrf showz
ip -s -d linkz
ip -d addresszifenslave -azip mroute showz
ip maddr showzip -s -s neigh showzip neigh show nud noarpzbiosdevname -dztc -s qdisc showznmstatectl showz nmstatectl show --running-configz/sys/class/devlinkzdevlink dev param showzdevlink dev infozdevlink port showzdevlink sb showzdevlink sb pool showzdevlink sb port pool showzdevlink sb tc bind showzdevlink -s -v trap showzdevlink devZstatusr �outputzdevlink dev eswitch show zdevlink sb occupancy snapshot zdevlink sb occupancy show zdevlink -v resource show zdevlink dpipe table show �name� c s g | ]}d � � d|� ��qS )zdevlink dpipe table show z name � )�.0Zdname)�devlinkr! � /usr/lib/python3.6/networking.py�
<listcomp>� s z$Networking.setup.<locals>.<listcomp>zip -s macsec showZmacsec)�kmodsT)�pred�changes)�super�setupZ
add_file_tags�
add_copy_specZadd_forbidden_path�add_cmd_output�ns_wideZ
path_isdirZcollect_cmd_output�
splitlines�
startswith�append�splitr �collect_ss_ip_ethtool_info�collect_bridge_info)�selfZdevlinksZ
devlinks_listZ
dev_tablesZdpipeZtablelnZip_macsec_show_cmdZmacsec_pred)� __class__)r# r$ r* 1 s�
zNetworking.setupc C sJ x*| j D ] }| jd|� d�d|� �i� qW | jdddddd d
d�� dS )
z% Command tags for ip/ethtool/netstat z ethtool -z .*Zethool_Zethtoolr Z
ip_neigh_showZ ip_s_linkr Znetstat_agnZ netstat_s)zethtool [^-].*z
ip -d addresszip -s -s neigh showz
ip -s -d linkznetstat.*-neopaz
netstat.*-agnz
netstat -sN)�ethtool_shortoptsZadd_cmd_tags)r4 �optr! r! r$ �add_command_tags� s zNetworking.add_command_tagsc C s | j ddddg� dS )zf Collect information about bridges (some data already collected via
"ip .." commands)
zbridge -s -s -d link showzbridge -s -s -d -t fdb showzbridge -s -s -d -t mdb showzbridge -d vlan showN)r, )r4 r! r! r$ r3 � s
zNetworking.collect_bridge_infoc C s� d}t | | jddid�}| j||dd� | jd� dd � | jD �}| jd
d � |D �dd� | jd
dddddddgdd� | jd�r�d}| jd� | j|dd� | jd�r�| jd| j� �dd� | jd� d}| j| jd�| jd��}|�r�d d!d"�}d#d!d"�}| j | t | |d$�d%��r$t | d!gd&�nd'} | j | t | |d$�d%��rNt | d!gd&�nd'}
�x>|D �]4}| j
d( | }d)|� �}
|| d* }| j|� d+�|� d,�|� d-�|� d.�|� d/�|� d0�|� d1�|� d2| j� d3�|� d4�|� d2| j� d5�|� d6�gd7|
d8� | j|d9 g| |
d7d:� | j|d; g|
|
d7d:� |d }| j|||
d<� | jd=��rZ| j|� d>�|� d?�|� d@�|� dA�|� dB�g|d d7|
dC� �qZW | j� d'S )Dz( Collect ss, ip and ethtool cmd outputs zss -peaonmir&