Your IP : 216.73.216.172


Current Path : /lib/python3/dist-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/networking.cpython-38.pyc

U

-�_g�6�@sZddlmZmZmZmZmZmZGdd�de�ZGdd�dee�ZGdd�deee�Z	dS)	�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOptc	s�eZdZdZdZdZdZeddde��d�ed	d
edd�ed
de	dd�edddd�edddd�gZ
dZdddddddgZdZ
�fdd�Zd d!�Zd"d#�Zd$d%�Z�ZS)&�
Networkingz,Network and networking devices configurationZ
networking)ZnetworkZhardware�systemzwww.example.com�
tracerouteFzcollect a traceroute to )�default�desc�namespace-pattern�zFSpecific namespace names or patterns to collect, whitespace delimited.)rZval_typer�
namespacesNz0Number of namespaces to collect, 0 for unlimited�ethtool-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_diagZacdgiklmPSTcs�t���|�ddd��|�dddddd	d
ddd
dddddg�|�ddddddg�|jdddd�|jddddgd�|�d�|jd |j�d!�d"d#�|�d$d%d |j�d&�d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8g�|�d9��r�|�d:d;d<d=d>d?d@dAg�|�dB�}|dCdDk�r�|dE�	�}|D]��|�dF���dG���dH���dI���g�g}|�dJ����}|dCdDk�r*|dE�	�D]$}|�
dK��r�|�|��dL��q�|��fdMdN�|D���q*dO}t
|dPgdQ�}|j||dRdS�|��|��dS)TNZbondZhosts)z/proc/net/bonding/bond.*z
/etc/hostsz
/etc/dnsmasq*z
/etc/host*z/etc/inetd.confz
/etc/iproute2z
/etc/network*z/etc/nsswitch.conf�/etc/resolv.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/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 � -neopa�netstat)rz
nstat -zas�
netstat -s� -agnznetworkctl status -azip -6 route show table allzip -d route show cachezip -d -6 route show cachezip -4 rule listzip -6 rule listzip vrf show�
ip -s -d link�
ip -d addresszifenslave -azip mroute showz
ip maddr show�ip -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 �devlink dpipe table show �name�csg|]}d��d|���qS)r$z name �)�.0Zdname�Zdevlinkr'�?/usr/lib/python3/dist-packages/sos/report/plugins/networking.py�
<listcomp>�s�z$Networking.setup.<locals>.<listcomp>zip -s macsec showZmacsec��kmodsT��predZchanges)�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*r1/s�
�����
���
���zNetworking.setupc
CsF|jD] }|�d|�d�d|��i�q|�dddddd	d
d��dS)
z% Command tags for ip/ethtool/netstat �	ethtool -z .*Zethool_ZethtoolrZ
ip_neigh_showZ	ip_s_linkrZnetstat_agnZ	netstat_s)zethtool [^-].*r!r"r znetstat.*-neopaz
netstat.*-agnrN)�ethtool_shortoptsZadd_cmd_tags)r;�optr'r'r*�add_command_tags�s

��zNetworking.add_command_tagscCs|�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)r3�r;r'r'r*r:�s�zNetworking.collect_bridge_infocCs�d}t||jddid�}|j||dd�dd�|jD�}|jd	d�|D�d
d�|jdd
ddddgd
d�|�d�r�d}|�d�|j|d
d�|�d�r�|jd|j��dd�|�d�d}|�|�d�|�d��}|�r�ddd�}d dd�}|j	|t||d!�d"��rt|dgd#�nd$}	|j	|t||d!�d"��r@t|dgd#�nd$}
|D�]4}|j
d%|}d&|��}
||d'}|j|�d(�|�d)�|�d*�|�d+�|�d,�|�d-�|�d.�|�d/|j�d0�|�d1�|�d/|j�d2�|�d3�gd4|
d5�|j|d6g|	|
d4d7�|j|d8g|
|
d4d7�|d}|j|||
d9�|�d:��rH|j|�d;�|�d<�|�d=�|�d>�|�d?�g|d
d4|
d@��qH|��d$S)Az( Collect ss, ip and ethtool cmd outputs zss -peaonmir-�all)r-ZrequiredTr.cSsg|]}d|���qS)r>r')r(r@r'r'r*r+�sz9Networking.collect_ss_ip_ethtool_info.<locals>.<listcomp>cSsg|]}|d�qS)z %(dev)sr')r(Z_cmdr'r'r*r+�sZethernet)�deviceszethtool %(dev)sz ethtool --phy-statistics %(dev)sz!ethtool --show-priv-flags %(dev)szethtool --show-eee %(dev)sztc -s filter show dev %(dev)sz%tc -s filter show dev %(dev)s ingressrzethtool -e %(dev)szwWARNING: collecting an eeprom dump is known to cause certain NIC drivers (e.g. bnx2x/tg3) to interrupt device operationr
z/bin/traceroute -n �d)�priorityzip netnszip netns exec r
rziptables -VZ	nf_tables)�cmdr#zip6tables -V)Zcmd_outputs)r/r,NZnamespaced_networkznamespaces/� z ip -d address showz ip route show table allz ip -s -s neigh showz ip -4 rule listz ip -6 rule listz ip vrf showz
 sysctl -az	 netstat rz netstat -srz nstat -zas�2)rF�subdirz
iptables-save)r/rJrFzip6tables-save)r/rJrz ethtool %(dev)sz ethtool -i %(dev)sz ethtool -k %(dev)sz ethtool -S %(dev)sz ethtool -m %(dev)s)rDrFrJ)
r�ss_kmodsr3r?Zadd_device_cmdZ
get_optionZ	_log_warn�
trace_hostZget_network_namespacesZtest_predicaterDr4rA)r;Zss_cmdZss_predZ_ecmdsrGZ
cmd_prefixrZcoutZco6Ziptables_with_nftZip6tables_with_nft�	namespaceZ_devsZ_subdirZ
ns_cmd_prefixr'r'r*r9�s��
����


�
�


���
���

��
����
z%Networking.collect_ss_ip_ethtool_info)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesrLr�str�intZoption_listr4rKr?r1rAr:r9�
__classcell__r'r'r<r*r
s>�������srcs(eZdZdZ�fdd�Zdd�Z�ZS)�RedHatNetworkingzrhn.redhat.comcsPz,|jj�d�}t|dd�dkr*d|_Wntk
r@YnXt���dS)Nz	net-tools�versionr�z-T)�policyZpackage_managerZpkg_by_namerRr4�	Exceptionr0r1)r;Znetstat_pkgr<r'r*r1+s
zRedHatNetworking.setupcCs|�ddd�dS)Nz/etc/nmstatez3(\s+(mka-cak|private-key-password|psk|password):).*�	\1 ******�Zdo_path_regex_subrBr'r'r*�postproc8s
�zRedHatNetworking.postproc�rNrOrPrLr1r[rSr'r'r<r*rT(s
rTcs(eZdZdZ�fdd�Zdd�Z�ZS)�UbuntuNetworkingzarchive.ubuntu.comc
sRddddddddd	g	}|j��d
kr*||_t���|�ddd
dddddg�dS)NrrrrrrrZ
mptcp_diagZraw_diagg
ףp=
6@z/etc/netplan/*.yamlz/etc/network/interfacesz/etc/network/interfaces.drz/etc/resolvconfz/lib/netplan/*.yamlz/run/netplan/*.yamlz/run/systemd/network)rWZdist_versionrKr0r1r2)r;Zubuntu_jammy_and_after_ss_kmodsr<r'r*r1Ds,�
�zUbuntuNetworking.setupcCs|�ddd�dS)Nz/etc/netplanz(\s+password:).*rYrZrBr'r'r*r[\s
�zUbuntuNetworking.postprocr\r'r'r<r*r]Asr]N)
Zsos.report.pluginsrrrrrrrrTr]r'r'r'r*�<module>	s