HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/networking.cpython-39.opt-1.pyc
a

\��h�9�@srddlmZmZmZmZmZmZddlmZddl	m
Z
Gdd�de�ZGdd�dee�ZGdd	�d	eee�Z
d
S)�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOpt)�UbuntuPolicy)�DebianPolicyc	s�eZdZdZdZdZdZeddde��d�ed	d
edd�ed
de	dd�edddd�edddd�gZ
dZgd�ZdZ
�fdd�Zdd�Zdd�Zdd�Z�ZS) �
Networkingz,Network and networking devices configurationZ
networking)�networkZhardware�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��|�gd��|�gd��|jdddd�|jd	d
d
dgd�|�d�|jd
|j�d�dd�|�dddd
|j�d�dddddddddddd d!d"d#d$d%d&g�|�d'��r�|�gd(��|�d)�}|d*d+k�r�|d,�	�}|D]��|�d-���d.���d/���d0���g�g}|�d1����}|d*d+kr�|d,�	�D]$}|�
d2��rX|�|��d3��qX|��fd4d5�|D��q�d6}t
|d7gd8�}|j||d9d:�|��|��dS);NZbond�hosts)z/proc/net/bonding/bond.*z
/etc/hosts)z
/etc/dnsmasq*z
/etc/host*z/etc/inetd.confz
/etc/iproute2z
/etc/network*z/etc/nsswitch.conf�/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/services)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_symlink�tagszip route show table allZip_routeZiproute_show_table_allZ
plotnetcfgznetstat � -neopa�netstat)rz
nstat -zas�
netstat -sz
netstat -s -6� -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/devlink)zdevlink dev param showzdevlink dev infozdevlink port showzdevlink sb showzdevlink sb pool showzdevlink sb port pool showzdevlink sb tc bind showzdevlink -s -v trap showzdevlink dev�statusr�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-�A/usr/lib/python3.9/site-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/r0r71s�
���
��
���
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_linkr"Znetstat_agnZ	netstat_s)zethtool [^-].*r&r'r%znetstat.*-neopaz
netstat.*-agnr#N)�ethtool_shortoptsZadd_cmd_tags)rA�optr-r-r0�add_command_tags�s
��zNetworking.add_command_tagscCs|�gd��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)r9�rAr-r-r0r@�szNetworking.collect_bridge_infocCs�d}t||jddid�}|j||dd�|�d�dd	�|jD�}|jd
d	�|D�dd�|jgd
�dd�|�d�r�d}|�d�|j|dd�|�d�r�|jd|j��dd�|�d�d}|�|�d�|�d��}|�r�ddd�}ddd�}|j	|t||d�d��rt|dgd�nd }	|j	|t||d�d��rBt|dgd�nd }
|D�]4}|j
d!|}d"|��}
||d#}|j|�d$�|�d%�|�d&�|�d'�|�d(�|�d)�|�d*�|�d+|j�d,�|�d-�|�d+|j�d.�|�d/�gd0|
d1�|j|d2g|	|
d0d3�|j|d4g|
|
d0d3�|d}|j|||
d5�|�d6��rJ|j|�d7�|�d8�|�d9�|�d:�|�d;�g|dd0|
d<��qJ|��d S)=z( Collect ss, ip and ethtool cmd outputs zss -peaonmir3�all)r3�requiredTr4zss -scSsg|]}d|���qS)rDr-)r.rFr-r-r0r1��z9Networking.collect_ss_ip_ethtool_info.<locals>.<listcomp>cSsg|]}|d�qS)z %(dev)sr-)r.Z_cmdr-r-r0r1�sZethernet)�devices)zethtool %(dev)sz ethtool --phy-statistics %(dev)sz!ethtool --show-priv-flags %(dev)szethtool --show-eee %(dev)szethtool --show-fec %(dev)szethtool --show-ntuple %(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 rrziptables -VZ	nf_tables)�cmdr)zip6tables -V)Zcmd_outputs)r5r2NZnamespaced_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 r!z netstat -sr$z nstat -zas�2)rN�subdirz
iptables-save)r5rRrNzip6tables-save)r5rRrz ethtool %(dev)sz ethtool -i %(dev)sz ethtool -k %(dev)sz ethtool -S %(dev)sz ethtool -m %(dev)s)rLrNrR)
r�ss_kmodsr9rEZadd_device_cmdZ
get_optionZ	_log_warn�
trace_hostZget_network_namespacesZtest_predicaterLr:rG)rAZss_cmdZss_predZ_ecmdsrOZ
cmd_prefixrZcoutZco6Ziptables_with_nftZip6tables_with_nft�	namespaceZ_devsZ_subdirZ
ns_cmd_prefixr-r-r0r?�s��

��
	�


�
�


���
���

��
���
�
z%Networking.collect_ss_ip_ethtool_info)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesrTr�str�intZoption_listr:rSrEr7rGr@r?�
__classcell__r-r-rBr0r
s6������wr
cs(eZdZdZ�fdd�Zdd�Z�ZS)�RedHatNetworkingzrhn.redhat.comcsNz,|jj�d�}t|dd�dkr*d|_Wnty>Yn0t���dS)Nz	net-tools�versionr�z-T)�policyZpackage_managerZpkg_by_namerZr:�	Exceptionr6r7)rAZnetstat_pkgrBr-r0r74s
zRedHatNetworking.setupcCs|�ddd�dS)Nz/etc/nmstatez3(\s+(mka-cak|private-key-password|psk|password):).*�	\1 ******�Zdo_path_regex_subrHr-r-r0�postprocAs
�zRedHatNetworking.postproc�rVrWrXrTr7rcr[r-r-rBr0r\1s
r\cs(eZdZdZ�fdd�Zdd�Z�ZS)�UbuntuNetworkingzarchive.ubuntu.comcs�gd�}t|jt�r0|j��dkr0|dg|_n&t|jt�rV|j��dkrV|dg|_t���|�gd��|�	gd��dS)N)rrZ
mptcp_diagrZraw_diagrrrg
ףp=
6@r�
Z
vsock_diag)z/etc/netplan/*.yamlz/etc/network/interfacesz/etc/network/interfaces.drz/etc/resolvconfz/lib/netplan/*.yamlz/run/netplan/*.yamlz/run/systemd/network)�/etc/netplanz/lib/netplanz/run/netplan)
�
isinstancer_rZdist_versionrSr	r6r7r8Zadd_dir_listing)rAZcommon_ss_kmodsrBr-r0r7Ms��

zUbuntuNetworking.setupcCs|�ddd�dS)Nrgz(\s+password:).*rarbrHr-r-r0rcos
�zUbuntuNetworking.postprocrdr-r-rBr0reJs"reN)Zsos.report.pluginsrrrrrrZsos.policies.distros.ubunturZsos.policies.distros.debianr	r
r\rer-r-r-r0�<module>	s $